0
点赞
收藏
分享

微信扫一扫

Java学习笔记002——一些运算细节

程序员伟杰 2022-04-13 阅读 79
/**********************************************************************************
 *
 * 文件名: OperatorDetail.java
 * 
 * 描述:求余/自增/自减运算的细节
 * 
 * 知识点1:求余数%
 *      a%b的本质是a = a - a / b * b
 *      当a是小数时a =a - (int)a / b * b
 *      注:有小数运算,得到的结果是近似值  
 * 
 * 知识点2:自增/自减用于赋值语句时
 *      a = ++i 本质过程是(1)i=i+1;  (2)temp=i; (3)a=temp;  先自增后赋值
 *      a = i++ 本质过程是(1)temp=i; (2)i=i+1;  (3)a=temp;  先赋值后自增
 *      注:自减同理
 * 
 *********************************************************************************/

public class OperatorDetail {
    public static void main(String[] args) {
        //练习1
        //a = -22 - (-22) / 3 * 3 = -22 - (-7) * 3 = -22 + 21 = -1
        int a = -22 % 3;
        //b = -11.5 - (int)(-11.5) / 3 * 3 = -11.5 - (-3) * 3 = -11.5 + 9 = -2.5
        double b = -11.5 % 3;
        //c = -11.4 - (int)(-11.4) / 3 * 3 = -11.4 - (-3) * 3 = -11.4 + 9 = -2.4
        double c = -11.4 % 3;
        
        System.out.println("a=" + a);
        System.out.println("b=" + b);
        System.out.println("c=" + c); //c=-2.4000000000000004

        //练习2
        int i = 12;
        //i=i+1=13; temp=i=13; d=temp=13
        int d = ++i;
        //temp=i=13; i=i+1=14; e=temp=13
        int e = i++;
        System.out.println("d=" + d);
        System.out.println("e=" + e);
    }
}

举报

相关推荐

0 条评论