Java 算术运算符/,%,++的本质详解

具体看如下代码,讲解已经在代码中给出:

public class Test2 {
    
    
    public static void main(String[] args) {
    
    
        //从数学来看是2.5  在java程序中,10是一个整数,2是一个整数,得到的结果也是整数为2
        System.out.println(10 / 4);  //2
        System.out.println(10.0 / 4); //2.5
        double d = 10 / 4;
        System.out.println(d);//2.0

        //%取模,取余
        //%的本质,看一个公式:a % b = a-a/b*b
        System.out.println(10 % 3);//1
        System.out.println(-10 % 3); //-1
        //10%-3=10-10/(-3)*(-3)=10-(-3)*(-3)=10-9=1
        System.out.println(10 % -3); //1
        //-10%-3=-10-(-10)/(-3)*(-3)=-10-3*(-3)=-1
        System.out.println(-10 % -3); //-1

        //++的使用
        int i = 10;
        i++; //自增,等价于i=i+1; ->i=11
        ++i;//自增 等价于i=i+1; ->i=12
        System.out.println("i=" + i);//12

        /**
         * 作为表达式使用:
         * 前++:++i 先自增后赋值
         * 后++:i++ 先赋值后自增
         */
        int j = 8;
        int k = ++j; //等价于 j=j+1; k=j;
        System.out.println("j=" + j + " k=" + k);

        int l = 8;
        int m = l++; //等价于m=l;l=l+1;
        System.out.println("l=" + l + " m=" + m);
    }
}

输出结果如下:

2
2.5
2.0
1
-1
1
-1
i=12
j=9 k=9
l=9 m=8

猜你喜欢

转载自blog.csdn.net/lu202032/article/details/124361673
今日推荐