1、if……else if和多个if有什么区别?
答:前者在执行过程中,当满足某一个条件时,就不在执行后续的语句。后者全部都会执行。
2、在JDK1.6中,switch中表达式的值可以是什么类型?
答:byte、short、int、char。
3、byte b1 = 1;byte b2 = 2;b1 = b1+b2;是否正确?为什么?
答:错误。byte型参与计算前会被提升为int型,所以b1+b2为int型,b1为byte型,int型不能直接赋值给比它小的byte型。
byte b1 = 1;byte b2 = 2;b1 += b2;是否正确?为什么?
答:正确。b1+=b2等价于b1=byte(b1+b2);
4、&和&&的区别?
答:&是位运算符,操作数可以是boolean,也可以是数字;&&是逻辑运算符,操作数只能是boolean;&&是短路运算符,当第一个条件为false,第二个条件不做执行。
5、说说运算符的优先级。
答:. (){}
一元运算符:! ++ -- (type)//强转类型
算数运算符:+ - * / %
比较运算符:> < >= <= == !=
逻辑运算符:&& ||
答:前者在执行过程中,当满足某一个条件时,就不在执行后续的语句。后者全部都会执行。
2、在JDK1.6中,switch中表达式的值可以是什么类型?
答:byte、short、int、char。
3、byte b1 = 1;byte b2 = 2;b1 = b1+b2;是否正确?为什么?
答:错误。byte型参与计算前会被提升为int型,所以b1+b2为int型,b1为byte型,int型不能直接赋值给比它小的byte型。
byte b1 = 1;byte b2 = 2;b1 += b2;是否正确?为什么?
答:正确。b1+=b2等价于b1=byte(b1+b2);
4、&和&&的区别?
答:&是位运算符,操作数可以是boolean,也可以是数字;&&是逻辑运算符,操作数只能是boolean;&&是短路运算符,当第一个条件为false,第二个条件不做执行。
5、说说运算符的优先级。
答:. (){}
一元运算符:! ++ -- (type)//强转类型
算数运算符:+ - * / %
比较运算符:> < >= <= == !=
逻辑运算符:&& ||
赋值运算符:= += -= *= /=
6、掌握(按位与:&、按位或:|、异或:^)的使用
7、Java中的无穷大和无穷小。
答:java中小数除以0值为无穷大;1f/0f结果为正无穷大,1f/-0f为负无穷大。