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 &= <<= >>= 位运算赋值
  • 相关阅读:
    5 Things Every Manager Should Know about Microsoft SharePoint 关于微软SharePoint每个经理应该知道的五件事
    Microsoft SharePoint 2010, is it a true Document Management System? 微软SharePoint 2010,它是真正的文档管理系统吗?
    You think you use SharePoint but you really don't 你认为你使用了SharePoint,但是实际上不是
    Introducing Document Management in SharePoint 2010 介绍SharePoint 2010中的文档管理
    Creating Your Own Document Management System With SharePoint 使用SharePoint创建你自己的文档管理系统
    MVP模式介绍
    权重初始化的选择
    机器学习中线性模型和非线性的区别
    神经网络激励函数的作用是什么
    深度学习中,交叉熵损失函数为什么优于均方差损失函数
  • 原文地址:https://www.cnblogs.com/zhangliuping/p/11852900.html
Copyright © 2011-2022 走看看