首頁 >Java >java教程 >java的算數運算子有哪些及如何使用

java的算數運算子有哪些及如何使用

王林
王林轉載
2023-04-19 10:58:04823瀏覽

    算数运算符

    算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。

    表格中的实例假设整数变量A的值为10,变量B的值为20:

    操作符 描述
    + 加法 - 相加运算符两侧的值
    - 减法 - 左操作数减去右操作数
    * 乘法 - 相乘操作符两侧的值
    / 除法 - 左操作数除以右操作数
    % 取余 - 左操作数除以右操作数的余数
    ++ 自增: 操作数的值增加1
    - - 自减: 操作数的值减少1

    例子

    public static void main(String[] args) {
         int a = 10;
         int b = 20;
         int c = 25;
         int d = 25;
         System.out.println("a + b = " + (a + b) );
         System.out.println("a - b = " + (a - b) );
         System.out.println("a * b = " + (a * b) );
         System.out.println("b / a = " + (b / a) );
         System.out.println("b % a = " + (b % a) );
         System.out.println("c % a = " + (c % a) );
         System.out.println("a++   = " +  (a++) );
         System.out.println("a--   = " +  (a--) );
         // 查看  d++ 与 ++d 的不同
         System.out.println("d++   = " +  (d++) );
         System.out.println("++d   = " +  (++d) );
      }
      运行结果
      "C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51196:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test
    a + b = 30
    a - b = -10
    a * b = 200
    b / a = 2
    b % a = 0
    c % a = 5
    a++   = 10
    a--   = 11
    d++   = 25
    ++d   = 27
    Process finished with exit code 0

    关系运算符

    运算符 描述
    == 检查如果两个操作数的值是否相等,如果相等则条件为真。
    != 检查如果两个操作数的值是否相等,如果值不相等则条件为真。
    > 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
    <检查左操作数的值是否小于右操作数的值,如果是那么条件为真
    >= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
    <=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。

    例子

    public static void main(String[] args) {
         int a = 10;
         int b = 20;
         System.out.println("a == b = " + (a == b) );
         System.out.println("a != b = " + (a != b) );
         System.out.println("a > b = " + (a > b) );
         System.out.println("a < b = " + (a < b) );
         System.out.println("b >= a = " + (b >= a) );
         System.out.println("b <= a = " + (b <= a) );
      }
      运行结果
    "C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51452:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test
    a == b = false
    a != b = true
    a > b = false
    a < b = true
    b >= a = true
    b <= a = false
    Process finished with exit code 0

    逻辑运算符

    操作符描述
    &&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
    ll称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
    称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false

    例子

     public static void main(String[] args) {
         boolean a = true;
         boolean b = false;
         System.out.println("a && b = " + (a&&b));
         System.out.println("a || b = " + (a||b) );
         System.out.println("!(a && b) = " + !(a && b));
      }

    java的算數運算子有哪些及如何使用

    赋值运算符

    赋值运算符描述例子
    =简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B将把A + B得到的值赋给C
    + =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
    - =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
    * =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
    / =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数C / = A,C 与 A 同类型时等价于 C = C / A
    (%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数C%= A等价于C = C%A
    << =左移位赋值运算符C << = 2等价于C = C << 2
    >> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
    &= 按位与赋值运算符 C&= 2等价于C = C&2
    ^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
    l= 按位或赋值操作符 C l = 2等价于C = C
      public static void main(String[] args) {
            int a = 10;
            int b = 20;
            int c = 0;
            c = a + b;
            System.out.println("c = a + b = " + c );
            c += a ;
            System.out.println("c += a  = " + c );
            c -= a ;
            System.out.println("c -= a = " + c );
            c *= a ;
            System.out.println("c *= a = " + c );
            a = 10;
            c = 15;
            c /= a ;
            System.out.println("c /= a = " + c );
            a = 10;
            c = 15;
            c %= a ;
            System.out.println("c %= a  = " + c );
            c <<= 2 ;
            System.out.println("c <<= 2 = " + c );
            c >>= 2 ;
            System.out.println("c >>= 2 = " + c );
            c >>= 2 ;
            System.out.println("c >>= 2 = " + c );
            c &= a ;
            System.out.println("c &= a  = " + c );
            c ^= a ;
            System.out.println("c ^= a   = " + c );
            c |= a ;
            System.out.println("c |= a   = " + c );
        }
    运行结果为:
    c = a + b = 30
    c += a  = 40
    c -= a = 30
    c *= a = 300
    c /= a = 1
    c %= a  = 5
    c <<= 2 = 20
    c >>= 2 = 5
    c >>= 2 = 1
    c &= a  = 0
    c ^= a   = 10
    c |= a   = 10
    Process finished with exit code 0

    Java运算符优先级

    类别 操作 关联性
    后缀 () [] . (点操作符) 左到右
    一元 expr++ expr– 从左到右
    一元 ++expr --expr + - ~ ! 从右到左
    乘性 * /% 左到右
    加性 + - 左到右
    移位 >> >>> <<左到右
    关系> >= < <=左到右
    相等== !=左到右
    按位与左到右
    按位异或^左到右
    按位或l左到右
    逻辑与&&左到右
    逻辑或ll左到右
    条件?:从右到左
    赋值= + = - = * = / =%= >> = << =&= ^ = l= 从右到左
    逗号 左到右

    以上是java的算數運算子有哪些及如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除