搜索
写经验 领红包
 > 地理

一份java面试题(史上全java面试题)

导语:每天三道Java面试题「Java部分」(四)

1、简要描述一下&和&&的区别?

(1)&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

(2)&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。

(3)&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作.。

2、Switch语句里面的条件可不可以是byte、long、String?使用时候还应注意什么?

switch里面的条件必须是能隐式的转化成为Int的故long和String不行,byte可以;

使用Switch时候还应注意它的穿透,即每个case后要跟break;

3、程序 : short s1=1;s1=s1+1;有什么错?short s1 = 1;s1+=1 有什么错?

对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。

对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

本文内容由小若整理编辑!