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编译器会对它进行特殊处理,因此可以正确编译。
小编也是一名从事了6年java开发的全栈工程师,花了近一个月整理了一份较适合18年学习的java干货,送给每一位java小伙伴
加QQ群:818464711(招募中)