1.整形变量
int:占用4个字节,数值范围21亿,默认整形字面量都是int类型
byte: 占用1个字节=8bit,数值范围[-128-127]
long:占用8个字节,当int不够用时就可以选用long类型
long a = 10l;//表示这个值是long类型的
System.out.println(Long.MAX_VALUE);//9223372036854775807
2.浮点数
float:占用4个字节
double:占用8个字节,浮点数字面量默认都是doouble类型
出现上面的问题有两个解决方法:
- 依然使用double,但是我们一般只看小数点后6位,剩下的小数忽略不计
- 使用BigDecimal类来替代double使用
char:占用2个字节
boolean:真就是true,假就是false,与数字0和1没有任何关系
3.字符串变量 String:是引用数据类型不是基本数据类型
转义字符:
变量的作用域:
变量是在主方法里面定义的就在主方法里面有效,出了主方法就会销毁
变量的命名规则:
- 变量的名字只能包含数字,字母,下划线
- 变量的命名最好不要使用拼音
- 变量的命名推荐小驼峰命名法
- 数字不能开头
不同数据类型的转换
只有相同数据类型之间可以相互转换
1.小类型转换为大类型是自动提升的:小类型和大类型进行运算时会先将小类型提升为大类型在进行运算
2.大类型转换为小类型需要强制类型转换,可能会丢失精度
int<->long:
int<->double:
int和byte之间相互转换
当把一个int变量赋值给byte时无论是否超出保存范围都需要强转
被final修饰的变量除了数值不能修改,类型也不会提升,final byte a = 10;存储时,仍是byte类型!!!
int->String:
int转换为String有两种方法:
1.直接使用String对象+
2.使用Sting的vauleof方法
String->int
当字符串包含数字时就会转换出错: