Java面试题(五)-----扩展运算符运用到表达式的类型自动提升
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
💡✨前言部分✨💡 🍎姓名:洋葱爱代码🍎 🍊喜欢:Java编程🍊 🍉重要的事情说三遍!!!🍉 🍓欢迎大家来访问哦,互相学习🍓 🍋欢迎大家来访问哦,互相学习🍋 🍑欢迎大家来访问哦,互相学习🍑 🏃让我们一起来学习Java面试题吧!!!🏃 ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🍎合抱之木,生于毫末;百丈之台,起于垒土;千里之行,始于足下。------《老子》
🍊今日学习任务!!!!!
🍊 1、扩展运算符运用到表达式的类型自动提升
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🔥一、扩展运算符运用到表达式的类型自动提升
✨1、判断下面赋值语句是否正确✨
✨第一张图片✨
💡在算式表达式中 s1 = s1 +1 ;报错了
💡在s1 = s1 +1 中变量s1 是short类型 , 常量1是int类型 ,所以s1 + 1 的运算结果被提升到了int类型,也就是说s1+1的结果赋值给变量s1实际上是将一个int类型的值赋值给了一个short类型的变量,这显然需要强制类型转换,所以需要强制类型转换,所以需要加上强制类型的运算符(short),即s1 = (short)(s1 + 1 ) ; 能进行编译,故编译器将会报告需要强制转换类型的错误。✨第二张图片✨
💡s1 += 1 ; 是是可以正常编译, 在上一题我们是知道,需要对右边的表达式进行强制的类型转换 像这样(short),扩展运算符+=其实就是s1= s1 +1 , 你肯定会问,为什么这个没有加(short)编译为什么不报错,其实在字节码文件中,编译器帮我加了(short)的
💡
✨答案✨
💡short s1 = 1 ; s1 = s1 +1 ; 有错误, s1 + 1 的运算结果会被提升到int类型,因此编译器会告知需要强制类型的错误
💡short s1 = 1 s1 +=1 ; 可以正常编译运行,,因为扩展赋值运算符"+="时隐式地进行强制类型转换。
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🍑每日一夸!!!
🍑就如同薛之謙对毛不易夸奖的
🍑"你现在就是流星" , 但是我相信你 ,你坚持下去你就是巨星"