🔷一起聊聊 Java 中算数运算符中的 "/" , "%" , "++"
public class ArithmeticOperator {public static void main(String[] args) {// 演示算术运算符的使用System.out.println(10 / 4);//从数学角度来看 结果是2.5,在java 中是2(两个都是整数类型(int),最后结果也是整数)/*1. 数据类型判定在 10 / 4 这个表达式里,10 和 4 均为整数类型(int)的字面量。在 Java 中,当两个操作数都是整数类型时,执行的是整数除法。2. 整数除法规则整数除法会舍去小数部分,仅保留整数部分。也就是说,它会对计算结果进行向下取整操作。对于 10 / 4 ,其数学计算结果为 2.5,但由于是整数除法,小数部分 .5 会被舍去,最终结果就是 2。*/System.out.println(10.0 / 4); //10.0 在java 中默认是double 类型,精度有所提高,所以结果为2.5System.out.println("--------------"); //方便观察结果System.out.println(10.00 / 4); // 结果还是2.5 ,和小数点后面几位没有关系,若结果需要保留小数点后几位,需要使用相关的类和 方法进行处理。//double d = 10 / 4;// System.out.println(d); // 2.0 // 在 java 中,10 / 4 = 2, 2=> double ->2.0//double c = 10.0 / 4;//System.out.println(c);// 2.5 // % 取模(取余)System.out.println(10 % 3); //1System.out.println(-10 % 3);// -1 重点看解释//在java 中 %的本质 看一个公式:a % b = a - a / b * b//-10 % 3 => -10 - (-10) / 3 * 3 =-10 + 9 = -1System.out.println(10 % -3); // 1 // 10 % -3 => 10 - 10 / (-3) * (-3)=10 - (-3) * (-3) = 10 - 9 = 1System.out.println(-10 % -3); // -1// -10 % -3 => -10 - (-10) / (-3) * (-3) =10 - 3 * (-3)=-10- (-9)= -10 + 9 =-1//++ 的使用//int i = 10;i++; //自增 等价于 i = i + 1; => i = 11 ++i; //自增 等价于 i = i + 1; => i = 12/*作为独立的语句使用,前++ 和后++ 完全等价于 i=i+1*/System.out.println("i=" + i); // 12/*作为表达式 使用:前++ :++i 先自增后赋值后++ :i++ 先赋值后自增*/int j = 8;//int k = ++j; //其实等价于 j= j+1 k=j;//System.out.println("k=" + k + "j=" + j); //输出两个9 ,k=9j=9int k = j++; //其实等价于 k=j; j=j+1;System.out.println("k=" + k + "j=" + j);// 输出结果为:k=8j=9}
}