新手了解java基础知识(二)

目录

  • 算数运算符
    • 例子
  • 关系运算符
    • 例子
      • 逻辑运算符
        • 例子
      • 赋值运算符
        • Java运算符优先级
          • 总结
            【新手了解java基础知识(二)】
            算数运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。
            表格中的实例假设整数变量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" Testa + b = 30a - b = -10a * b = 200b / a = 2b % a = 0c % a = 5a++= 10a--= 11d++= 25++d= 27Process 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" Testa == b = falsea != b = truea > b = falsea < b = trueb >= a = trueb <= a = falseProcess 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 = 30c += a= 40c -= a = 30c *= a = 300c /= a = 1c %= a= 5c <<= 2 = 20c >>= 2 = 5c >>= 2 = 1c &= a= 0c ^= a= 10c |= a= 10Process finished with exit code 0


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

            总结 本篇文章就到这里了,希望对你有所帮助,也希望你能多多关注脚本之家的更多内容!

              推荐阅读