变量命名规范
- 只能用数字、字母或者下滑线,且数字不能出现在第一个位置
- java的关键字不能当作变量名
定义变量
int a;
定义常量
final int A;
变量类型
变量溢出
当某个类型的字符大小超出时会从该字符的另一边开始计算,我们称之为变量大小溢出
如
byte a = 129
//这样会报错,提示129似乎是一个int值,强制转换为byte会有精度损失
//我们强制它类型转换为byte,就会发生奇怪的现象
byte a = (byte)129
System.out.println(a)
// -127
//发现从数据范围的另一边开始了
变量赋值标注
有些类型的变量需要赋值的时候进行标注,以告诉编译器正在初始化的是该类型变量,这样设计是为了避免隐式强制转换,以便对程序进行优化
- 定义long类型的变量的时候要在最后面加一个L
long l = 2147483648l;
long l = 2147483648L;
System.out.println(l) //2147483648
- 单精度浮点数,在定义的时候要加一个f
float f = 3.14f;
- 双精度浮点数,则加个d
double d = 3.14d;
- 同时要注意的是浮点数的计算会有精度丢失
字符变量的类型转换
- 字符型变量变量值要写在单引号内
char c = 'A';
System.out.println(c) //A
- 对字符类型进行强制类型转换为数字,会得到字符的ASSIC码
char c = 'A';
int ic = (int) c;
System.out.println("ic:" + ic);
System.out.println("c:" + c);
/*
ic:65
c:A
* */
多变的布尔类型
- 在java中布尔类型的大小是不确定的,有的时候是4个字节有的时候是1个字节
- 因为在大多数情况java会把布尔类型看作int类型即为4个字节,false(0) true(1),而在一些特殊的应用场景中需要使用布尔类型的数组,这时布尔变量就占1个字节