2.Java之算术运算符(double运算注意点,%-取模细讲,i++和++i的区别细讲)

2.Java之算术运算符(double运算注意点,%-取模细讲,i++和++i的区别细讲),第1张

2.Java之算术运算符(double运算注意点,%-取模细讲,i++和++i的区别细讲) 2.1.double运算注意点
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++; 结果多少?

其实在赋值时引用了临时变量,步骤为:

  1. temp = i;
  2. i = i + 1;
  3. i = temp;

所以结果为 1

int i = 1; i = ++i; 结果多少?

步骤为:

  1. i = i + 1;
  2. temp = i;
  3. i = temp;

所以结果为 2

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4874057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存