文章目录
- Java的变量与类型
- 数据类型之间的转换
- 关于ASCII码
Java的变量与类型
Java变量类型共有两大类
①基本数据类型:四类8种
- 整数型:byte /short /int /long
- 浮点型:float /double
- 字符型:char
- 布尔型:boolean
②引用数据类型:除了基本类型,都是引用类型
- 字符串:String
- 数组、集合、类、接口等等
默认值
- 基本数据类型都有默认值
- 基本数据类型的数值型默认值是0,如(byte)0,(long)0,(float)0…
- 基本数据类型的boolean默认值为false,char默认为空格(控制台输出 " ")
- 引用类型的默认值为:null
字节总结:
1Byte = 8bit 字节(大写B表示字节,小写b表示位,二进制的0和1)
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
说明:
①bit与字节数,成8倍关系
②boolean占1bit,值只有两个true和false
③float类型,需要加f/F(建议使用大写);long类型需要加l/L(建议使用大写)
④int最常用,最大范围21个亿
⑤char类型可以表示一个中文(范围是0-65535中文),当然也可以表示任意一个单个字符 ☆
字符可以运算
⑥浮点数都是近似值,不精确(因为十进制无法表示1/3)
⑦long类型虽然占的空间比float多,但无法存储float类型
【没有赋值的变量,不能直接使用】int a; sout(a); 错误
public static void main(String[] args) {
int a;
System.out.println(a); //编译错误
}
//但是 这种情况只是在方法中 必须赋值
public class Demo01 {
int a;
public static void main(String[] args) {
System.out.println(new Demo01().a); // 0
}
}
数据类型之间的转换
①自动转换:(隐式)
特点就是自动完成
范围要求:必须是从小到大,因为精度不丢失
范围排序:byte<short<int<long<float<double
写法:
②强制转换:(显式)
特点是手动完成
范围要求:从大范围到小范围 ☆
写法:
强转问题之数据溢出:洒了
强转问题之精度损失:丢了
注意事项:boolean类型,不能发生数据类型转换 ☆
注意事项:byte/short/char 这三种类型都可以发生数学运算,且都会被提升称为int类型,然后再进行运算,如果右侧赋值的数值没有超过范围,编译器将会自动隐含地为我们补上一个(byte)(short)(char)
关于ASCII码
0 – 48
A – 65
a – 97
Unicode发行版:UTF-8、UTF-16、UTF-32
国内市场常用的编码:GBK和UTF-8
GBK和UTF-8区别:GBK一个中文占2个字节,UTF-8一个中文占3个字节 ☆
结论:ASCII表只需要记住3个数字:48 -> 0、65 -> A、97 -> a