目录
一、自动类型转换:
小范围的类型能够自动转换成大范围的类型运算。
表达式的最终结果类型是由表达式中最高类型决定的。
面试题:
byte a=10;
byte b=20;
byte c=a+b;有没有错误。
此时,答案是肯定没有错误的,因为在Java中我们定义的变量一般当作int类型,所以即使当我们定义byte类型的变量时,实际存储的还是int类型。
总结:在Java中byte,short,char是直接转换成int类型参与运算的。
二、强制类型转换:
1.强制类型转换可能造成数据丢失(溢出)。
在底层原理中int类型是32位(2进制),byte类型是8位,int转byte会将int的后八位赋给byte,所以会造成数据的丢失。
2.浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
注意:表达式的最终结果由表达式的最高类型决定。
例:int a=10;int b=3;a/b的结果是3,而不是3.333333333,这是因为a/b是一个表达式,而表达式的结果由最高类型int决定,所以结果为3.
三、自增、自减(++、--)有关面试题:
这种计算要从等号的右边从左往右开始计算,并在计算的过程中记录k、p的变化。
逻辑运算符(重点:&&、||)
&&:当&&前面式子的结果为false时,&&后面的式子不再执行。
||:当||前面式子的结果为true时,||后面的式子不再执行。
java基础语法总结: