美文网首页
java学习第三章(算术运算符)

java学习第三章(算术运算符)

作者: 锋叔 | 来源:发表于2019-01-18 12:56 被阅读0次
    • 算术运算符顾名思义加减乘除。

    我来吐槽个,我觉得中国的数学对程序是不友好的,比如我们的乘法运算符是“x” 而计算机是“*”,除法运算符是“÷” 而计算机是“/”。

    • 补充一个Eclipse的快捷补全代码技巧sysout + alt + / === System.out.println()

    加减乘除

    // 加
    int a = 10, b = 20, c;
    c = a + b;
    System.out.println(c); // 30
     // 减
    int d = -10, e = 20;
    int f = d - e;
    System.out.println(f); // -30
    // 乘
    int g = d * e;
    System.out.println(g); // -200
    // 除
    int h = d/e;// 实际等于-0.5
    System.out.println(h); // 0
    // 因为int不支持小数,如果小数统统不管小数位后面的。
    
    

    隐式类型转换

    // 还记得我们说java类型都是强定义的吗?就是定义了数字int不能再赋值字符串和小数。
    int i = 3; // 4个字节
    long k = i; // 8个字节
    System.out.println(k); // 3 并不会报错哦
    long m = 100;
    // int l = m; // 会报错
    int l = (int) m; // 强制类型转换_根据小的类型作为强制类型eg:(int)而不是(long)
    System.out.println(l); // 100 并不会报错哦,但是我们不允许这么做,因为会失去精度!
    
    

    复合运算一

    // 加等于
    int n = 2;
    n+= 2; // n =n + 2
    System.out.println(n); // 4
    float o = 2;
    o += 3; // o = 2.0 + 3.0 ,有一个隐式转换
    System.out.println(o); // 5.0
    
    // 乘等于
    int p = 2;
    p*= 2; // p =p * 2
    System.out.println(p); // 4
    
    //除等于
    int q = 4;
    q /= 2; // q =q / 2
    System.out.println(q); // 2
    
    // % 取余(读音:mo)
    int r = 7, s, t;
    s = r % 3; // s = 7÷3得2余1
    t = r % 4; // s = 7÷4得1余3
    System.out.println(s); // 1
    System.out.println(t); // 3
    
    //%等于
    int u = 9;
    u %=5; //u = u % 5 = 9除五得1余4
    System.out.println(u); // 4
    
    

    复合运算二

    //后置加加 ++
    int v = 1;
    v++; // v = v + 1
    System.out.println(v); // 2
    
    //后置减减 --
    int w = 1;
    w--; // w = w + 1
    System.out.println(w); // 0
    
    
    //ps: 注意运算和赋值是不同步的,自增自减一旦赋值,都比赋值慢一步执行!
    int x = 1;
    int y = x++; // 实际是两步:y = x ; x = x + 1;
    
    System.out.println(y); //  后置++打印结果为 1
    
    // 理解下这个常见的面试题,理解了就相当于你掌握了。
    int z= 2;
    int z1= z++; // 其实你可以理解为两行代码,z1 = z;z = z + 1;
    System.out.println(z); // 3
    System.out.println(z1); // 2
    
    // 讲解:当z1 = z++的时候赋值再计算的原则,所以z1赋值还是2,但是完了马上就执行z++, 所以z等于3。打印是z++执行完以后才执行的!
    
    // 我们已经用完了26个字母了!!!我要用大写了请注意!!!
    
    
    // 前置加加 ++ 
    int A = 1;
    ++A; // A = A+ 1
    System.out.println(A); // 2
    
    //前置减减 -- 
    int B = 2;
    --B; //  B = B - 1
    System.out.println(B); // 1
    
    // 理解下这个常见的面试题,理解了就相当于你掌握了。
    int C= 2;
    int D= ++C; // 这里也是两步但是先执行C = C + 1; 然后D = C;
    System.out.println(C); // 3
    System.out.println(D); // 3
    
    // why?
    // 记住前置是先计算再赋值。
    

    检验题:请输出打印结果

    int E = 20, F;
    F = E++;
    ++E;
    E = --F;
    System.out.println(F);
    System.out.println(E);
    System.out.println(++F);
    System.out.println(F);
    
    // 正确答案见评论
    
    

    PS

    前置++,--都是先计算再赋值
    后置++,--都是先赋值再计算

    八种基础数据转字符串

    int num1 = 20, num2 = 30;
    String str1 = "123" + num1 + num2;
    System.out.println(str1);
    // 1232030
    
    • 当“+”号链接两个数字时是加法运算符,当链接字符串时是连接符。
    • 八种基础类型 + 字符串 都会变成字符串类型
    两个特殊字符/n /t
    String str2 = "1234\n" + 567;
    System.out.println(str2); // 预测结果应该是1234\n567
    // 实际结果
    /* 
    *1234
    *567
    */
    String str3 = "1234\t" + 567;
    System.out.println(str3);// 预测结果应该是1234\t567
    // 实际结果
    // 1234   567
    
    • \n : 换行符
    • \t : 空格(水平制表位)
    上一章 目录 下一章

    相关文章

      网友评论

          本文标题:java学习第三章(算术运算符)

          本文链接:https://www.haomeiwen.com/subject/wjcndqtx.html