【java 学习——每日三题答案解析】

【java学习——每日三题答案解析】

(一)运算符

1、x = 4000

解析步骤:x被赋值为4729,然后计算表达式,x首先除以1000; 按照数学角度来考虑应该等于4.927。 计算机中两个int型进行运算,结果也为int型。所以小数部分舍去。
4在乘以1000等于4000;
注意:数据的类型转换
答案:x=4000;

这里写图片描述

2、 -1
解析思路:%:取模 就是取余数;
方法:取模左边小于右边,结果为左边; 例如 3%5=3;
左边等于右边或者右边为1,结果为0; 例如 5%5=0; 5%1=0;
取模正负看左边(被模数); 例如 1 % -5 =1; -1 % 5 = -1;

这里写图片描述

3、 a =4; b=3;
解析思路:首先声明了两个变量a和b,a赋初始化值=3,b=a++;
a++ 意思是a++叫做给a这个变量中的值进行+1操作,并把操作后的值赋给a; 相当于a = a+1;只能加一操作。
解题步骤:运算顺序是先把a的值赋值运算赋给b,然后a在做++运算;
答案:a = 4; b = 3;

这里写图片描述

4、 a =4; b=4;
解析思路:首先声明了两个变量a和b,a赋初始化值=3,b=++a;
++a 和 a++ 区别 : 讲个小故事大家能明白了,++a就相当于你吃完饭然后出去玩,a++就是你先出去玩然后回家吃饭。
解题步骤:运算顺序是先把a进行+1计算后,赋值给b;
答案:a = 4; b = 4;

这里写图片描述

5、 s= s+5 和 s+=5的区别:
s=s + 5 做了两次运算,先做加法然后在赋值里可能涉及类型提升;编译失败,
s + 5运算完是一个int 类型的值,在赋给s是装不下的,容易丢失精度。
s+=5 做了一次运算,把左右两边和赋给左边会做一次自动转换动作,编译成功。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/yijianpan8461/article/details/82500786