本帖最后由 黑马不黑 于 2013-12-5 22:56 编辑
一:“%”取模(求余)
1.左边的数(正整数)小于右边的数,取模的结果为左边的数;
例如:3%5 = 3;
2.左边的数等于右边的数,取模结果为零;
例如:5%5 = 0;
3.如果表达式中出现了负数,取模的结果和正数一样,只是数值的正负由被模数的正负决定(左边的数值);
例如:5%-1 = 5; -1%5 = -1; -5%2 = -1
二: +=的细节问题
例如:
folat count = 2;
count = count + 3;
运行上面代码时,会报错,而运行下面代码:
folat count = 2;
count += 3;
则不会报错。原因是,当执行count = count + 3时,实际上JVM运行了两步,先把count的值类型提升为int, 然后再和3相加,可是加完后的结果是int类型,当赋值给左边的count时候,会出现精度丢失,所以会报错;
而执行count += 3时,JVM只是单纯的进行赋值运算,系统会自动进行类型转换,所以可以执行。
|