为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA基础

标签:
Java

*面试题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?

    b=b1+b2;编译失败:  byte,short,char之间相互不转换,一旦进行运算的,默认提升为一个int类型    变量相加,是先看数据类型,最终相加后的结果是否在当前这个类型范围之内    b=3+4; 编译正确:   常量相加,是运算,看当前结果是否在范围之内!

面试题:
short s=1;
s = s+1; (错误)默认类型提升,提升为int类型,,不能用short去接收int类型的数据 ,
//      解决方案:强制类型转换

short s=1;s+=1;(正确)对于扩展的赋值运算符    s+=1                    不等价于 :s = s +1 ;                等价于: s = (s)(s+1) ;                扩展的赋值运算符隐藏了强制类型转换!上面两个代码有没有问题,如果有,那里有问题。

面试题:  逻辑双与&& 和逻辑单与&的区别?
a:共同点:效果是一样的
b:逻辑双与&& ,如果左边的表达式如果是false,那么右边不执行(具有短路效果)
逻辑双|| :如果左边的表达式是true,那么右边不执行(具有短路效果)
面试题:
byte可以用在switch语句的表达式?
long可以作为switch语句的表达式?
String可以作为switch语句的表达式?
switch语句后面的表达式:能跟的类型:byte,short,int,char
jdk5以后,可以跟枚举
jdk7以后,可以String类型
面试题:
break和continue的区别?
break让循环结束,continue是跳出当前循环,直接进行下一次循环。
*

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消