Java数据类型和运算符并不是一个很难的点,所以便不一一讲述了。下面只是讲述了一些需要特别注意的地方。
1.浮点型
浮点型是用来定义小数的关键字。
注意: float f = 1.3;是错误的,1.3默认是double型的。在对float数据进行赋值时,要在数字的后面添加f(或F),否则Java编译器会认为1.3是一个double类型的数值,而double不能直接赋值给float类型,故:正确赋值方式应为floatf1 = 1.3f。
2.布尔型
布尔型又称逻辑型。只有TRUE和FALSE两个取值,默认初始值为FALSE。
注意:这和c语言有区别,在c语言标准中没有定义布尔型,所以c语言用0表示FALSE,用非0表示TRUE。在二进制逻辑中Java规定1表示TRUE0表示FALSE。
3.基本数据类型转换
(1)自动类型转换
将范围小的数据类型赋值给范围大的数据类型时,Java自动完成数据类型的转换,转换方向如下:
低--------------------------------------------------------------------------------------------------------------------->高
byte ------------> short/char ------------> int ------------> long ------------> float ------------> double
(2)强制类型转换
当把级别高的变量赋值给级别低的变量时,必须使用强制类型转换。强制类型转换的格式:(转换成该转换的类型)被转换的值。
eg: int x=(int)3.14;
short a=1; a=a+(short)1;
4.逻辑运算符(&&、||)与位运算符(&、|)的区别
(1)逻辑运算符只能对Boolean类型进行逻辑运算,而位运算符还可以对数值进行逻辑运算
(2)逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。
eg: (m=a>b)&&(n=c>d)
当a=1,b=2,c=3,d=4,m=n=1时,由于“a>b”的值是0,因此m=0,此时已经可以判断表达式的值不可能为真,不必再进行“n=c>d”的运算,因此n的值不是0而是保持原值1不变。