zoukankan      html  css  js  c++  java
  • JavaSE04.Java 运算符

    04.Java 运算符

    1、运算符分类

    • 算术运算符:+, -, *, /, %, ++, --
    • 赋值运算符:=
    • 关系运算符:>, <, >=, <=, ==, !=, instanceof
    • 逻辑运算符:&&, ||, !
    • 位运算符:&, |, ^, ~, >>, <<, >>>
    • 条件运算符:?, :
    • 扩展运算符:+=, -=, *=, /=

    2、二元运算符(两个操作数)

        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) );
        }
    

    3、关系运算符(返回布尔值)

    • 表格中的实例整数变量A的值为1,变量B的值为2:
    运算符 描述 例子
    == 检查两个操作数的值是否相等,相等则条件为真 (A == B)为假
    != 检查两个操作数的值是否相等,值不相等则条件为真 (A != B) 为真
    > 检查左操作数的值是否大于右操作数的值,如果是那么条件为真 (A > B)为假
    < 检查左操作数的值是否小于右操作数的值,如果是那么条件为真 (A < B)为真
    >= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真 (A >= B)为假
    <= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真 (A <= B)为真

    4、取模运算(取余)

    public static void main(String[] args) {
        System.out.println(9 % 4);   //1
        System.out.println(-9 % -4);  //-1
        System.out.println(-10 % 4);  //-2
        System.out.println(9 % -4);   //1
    }
    

    5、一元运算符

    • 自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数,分为前缀和后缀两种。
    • 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算
    • 后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算
    public static void main(String[] args) {
            int a = 3;
            //a = 3
            System.out.println("a1:" + a);
            //执行完后,b=3。先给b赋值,再自增。
            int b = a++;
            //a = 4
            System.out.println("a2:" + a);
            //执行完后,c=5。先自增,再给c赋值
            int c = ++a;
            //a = 5
            System.out.println("a3:" + a);
        }
    

    6、逻辑运算符

    • 逻辑与(and):&&,逻辑或(or):||,逻辑非(取反):!
    • 假设布尔变量A为真,变量B为假
    操作符 描述 例子
    && 当且仅当两个操作数都为真,条件才为真。 (A && B)为假
    | | 如果任何两个操作数任何一个为真,条件为真。 (A | | B)为真
    如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真

    7、位运算符

    • 假设整数变量 A 的值为 60 和变量 B 的值为 13:
    A = 0011 1100
    B = 0000 1101
    
    操作符 描述 例子
    如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100
    | 如果相对应位都是 0,则结果为 0,否则为 1 (A | B)得到61,即 0011 1101
    ^ 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
    按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 (〜A)得到-61,即1100 0011
    << 按位左移运算符。左操作数按位左移右操作数指定的位数。 A << 2得到240,即 1111 0000
    >> 按位右移运算符。左操作数按位右移右操作数指定的位数。 A >> 2得到15即 1111
    >>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 A>>>2得到15即0000 1111

    JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别?

    • &&逻辑与, ||逻辑或, 它们都是逻辑运算符
    • &按位与, |按位或, 它们都是位运算符
    • 而a&b或者a|b则是二进制的与或运算
    • &同为1时为1,否则为0
    • |同为0时为0,否则为1

    7、条件运算符(三目)

    • 三目条件运算符,语法格式:x ? y : z
    • 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
    public static void main(String[] args) {
            int score = 80;
            String type = score < 60 ? "不及格" : "及格";
            //输出:type= 及格
            System.out.println("type= " + type);
        }
    

    8、运算符优先级

    优先级 运算符
    1 . () 点和括号
    2 ++ -- 自增自减
    3 new 新建对象
    4 * / % 乘除模
    5 + - 加减
    6 >> << >>> 右移 左移 无符号右移
    7 > < >= <= 比较运算符
    8 == !=
    9 & 位和
    10 ^ 位异或
    11 `
    12 ! 逻辑非
    13 && 短路和
    14 `
    15 ?: 三目运算符
    16 = += -= *= /= %= ^= 赋值
    17 &= <<= >>= 位运算赋值
  • 相关阅读:
    java 键盘监听事件
    DOM扩展
    DOM
    CSS hack
    客户端检测
    BOM
    函数表达式
    面向对象的程序设计
    引用类型(下)
    引用类型(上)
  • 原文地址:https://www.cnblogs.com/zhangliuping/p/11852900.html
Copyright © 2011-2022 走看看