当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-08-21
目录 算数运算符 例子 关系运算符 例子 逻辑运算符 例子 赋值运算符 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" 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));
              }
            

            在这里插入图片描述

            赋值运算符

            赋值运算符 描述 例子 = 简单的赋值运算符,将右操作数的值赋给左侧操作数 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= 从右到左 逗号 , 左到右

            总结

            本篇文章就到这里了,希望对你有所帮助,也希望你能多多关注自由互联的更多内容!

            网友评论