java基础day02总结

1、8421码

二进制: 1 1 1 1 1 1 1 1
十进制:128 64 32 16 8 4 2 1
二进制转十进制可以直接用8421码,例
1 0 1 0 1 0 1=64+16+4+1=85
64 32 16 8 4 2 1
byte占一个字节(也就是8位2进制,即0000 0000~1111 1111),所以存储了128+64+32+16+8+4+2+1=256个数,即-128-127;同理,short占2个字节,即16位2进制。

2、数据类型

java基础day02总结

3、成员变量和局部变量

(1)成员变量:是指在类中定义的变量,它在整个类中都有效。成员变量又可分为:类变量和实例变量。
(2)局部变量:是指那些在方法体中定义的变量以及方法的参数,它只在定义它的方法内有效,不赋初值不能使用。
(3)变量所在的大括号叫做变量的作用域,同一个作用域中不能存在多个名字相同的变量。

4、几大数据类型变量的默认值

java基础day02总结
我们可以看到,整数类型(即byte、short、int、long)的默认值都是0;浮点型(float、double)默认值是0.0;Boolean是false;字符型char是空格;字符串是null。
为啥上面的变量也定义为static?
因为静态方法只能调用静态变量、不能调用非静态变量。
注:默认值是只有定义在类中、方法外的变量才有默认值,上面的有默认值,下面的则会出错。
java基础day02总结

5、整数默认的类型是int,小数默认是double

java基础day02总结
在这,10.3默认是double类型,在给float赋值时,可能会出现溢出的情况,系统就会报错,因为double占8个字节,float是4个。
解决方法:应该在10.3后面加上f,即float f=10.3f;

6、强制类型转换

大类型转换为小类型是强制类型转换,小类型向大类型转换无需强制类型转换。
java基础day02总结
在这,130已经超出了byte的范围,默认他是int类型,可以进行强制类型转换(数据类型 变量名 = (数据类型)初始化值;),但是精度会丢失。
java基础day02总结