mwbr.net
当前位置:首页 >> 在jAvA中,%1%2得多少?怎么算的啊? >>

在jAvA中,%1%2得多少?怎么算的啊?

按正常的算-1/2=-0.5。但是在java中因为-1和2都是整型,其结果会自然的转为整形,-0.5的整形是0,所以这个最后的结果是0

“%”代表的是取余运算。 例如3/2=1(商)....1(余数),所以3%2=1 同理1/2=0(商)....1(余数),所以1%2=1

Java的%运算符支持整数、浮点数,对于整数,它的计算公式等于; a % b = a - (int)(a / b) * b; 那么,对于1%2,则等于; 1%2 = 1 - (int)(1/2)*2= 1- 0*2=1; 即,1%2 = 1。

%又叫模,是取余数的意思 1%2,表示1除于2取余数的意思,所以1%2的结果是1,3%2的结果也是1

抢分的,, 二进制移位运算符 2的二进制是10,>>代表右移,10右移1位是二进制的1,

test { public static void main(String args[]) { long sum=0,a=1; long i=1; while(i=1) sum=sum+a; i++; a=a*i; } System.out.println("sum="+sum); } }

%是取余数的 5/2 = 2余1 5%2 的结果就是1

这样应该就可以了

当然是i>>1快 计算机的底层是二进制的 不管什么语言直接操作二进制肯定比操作十进制要快的 >> 和 >>> 都表示右移 但 >>> 表示无符合右移,例如 int a = -16; 11111111111111111111111111110000 a >> 1; 结果 -8 1111111111111111111111111111100...

前一个引号里的 sum= 只是java里的基本输出 中间的+号是字符串拼接,"sum="是字符串,和后面一个整形算+就是字符串拼接 后一个sum 是你真正的值 所以输出的就是 sum=5050

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com