System.out.println(10 / 4);
java输出是2,即默认结果是int类型
System.out.println(10.0 / 4);
java输出是2.5,即默认结果为double类型
所以在给double赋值时,要尤为注意:
double d = 10 / 4; //输出结果为 10 / 4 = 2,2 => 2.0 double d = 10.0 / 4;2.2.%-取模详讲
%的本质是:
a % b = a - a / b * b
10 % 3 = 1
-10 % 3 = -1
-10 % 3 = (-10) - (-10) / 3 * 3 =(-10) - (-9) = -1
10 % -3 = 1
10 % -3 = (10) - 10 / (-3) * (-3) = 10 - 9 = 1
-10 % -3 = -1
(-10) % (-3) = (-10) - (-10) / (-3) * (-3) = -10 + 9 = -1
口诀:左负双负取负号
2.3.i++和++i的区别- 自增++作为独立的语句使用:
即 i++; 或者 ++i;
前++和后++都完全等价于 i = i + 1;
- 作为表达式使用:
前++:先运算后赋值
a = 2; b = ++a;
后++:先赋值后运算
a = 2; b = a++; 输出结果为:
- 深度探索:
int i = 1; i = i++; 结果多少?
其实在赋值时引用了临时变量,步骤为:
- temp = i;
- i = i + 1;
- i = temp;
所以结果为 1
int i = 1; i = ++i; 结果多少?
步骤为:
- i = i + 1;
- temp = i;
- i = temp;
所以结果为 2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)