如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是?3000 因为整数除的时候是被作为一个int类型的数据,3500/1000 = 3
“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:System.out.println("5+5="+5+5); //打印结果是?
l以下二者的区别:
System.out.println('*' + '\t' +'*');
System.out.println("*" + '\t' +'*');
上面的char会直接计算unicode值。因为char类型数据运算前会转换成int类型进行计算。
for(int i = 100 ; i <= 999 ;i++){
int n1 = i%10; //对10取模得到一个个位数。因为任何一个大于10的数对10取模得到就是个位数。比如34%10 = 4 商为3 余数是4
int n2 = i/10%10; //首先除以10 丢失个位数精度。
int n3 = i/100; //除以100丢失十位数和个位数精度。
if((n1*n1*n1 +n2*n2*n2 +n3*n3*n3) == i){
System.out.println("i = " + i + ", n1 = " + n1 + ", n2 = " + n2 + " , n3 = " +n3);
System.out.println(i);
}
}
}