• 运算符


    1、算数运算符:+ - * / %
    ++ -- 自增、自减:只能操作【一个】【变量】,即可放在变量之前,也可放在变量之后。
    ++ 自增:在操作数前,先把操作数加1,再拿来用,在操作数后,先拿来用,再把操作数加1。(加加在前,先加后用,加加在后,先用后加)
    ++ 自减:在操作数前,先把操作数减1,再拿来用,在操作数后,先拿来用,再把操作数减1。

    2、位运算符(基于2进制的补码进行运算)

    & 按位与:上下都是1,才能得到1。
    | 按位或:上下只要有一个1,就会得到1。
    ^ 按位异或:上下两位不一样,就会得到1。

    ~ 按位取反:只操作一个数,0变1,1变0(符号位也会变掉)。

    << 左移:在没有数据溢出的情况下,左移N位,相当于在右边补充N个0,即乘以2的N次方。
    >> 右移:右移N位,相当于去掉了右边的N位,并在左边补充N个符号位(正数补0,负数补1),即除以2的N次方。
    >>> 无符号右移:无符号右移N位,相当于去掉了右边的N位,并在左边补充N个0。

    3、赋值运算符: =
    赋值语句: 变量 = 值
    作用:把右边变量的值、直接量的值、表达式的值,赋给左边的变量。
    通俗解释:把右边的值“倒入”左边的变量中(与现实不同的是,右边的值只是复制到左边)

    注意点:
    1)左边只能是【变量】。
    2)赋值语句本身是有值的,它的值就是右边要赋的值。

    4、扩展后的赋值运算符:
    定义:赋值运算符可以与所有的双目运算符结合使用,就形成了扩展后的赋值运算符。
    双目运算符:需要两个操作数的运算符。( + - * / % & | ^ << >> >>> )
    a+=b 相当于 a = (a的类型)(a + b)
    a-=b 相当于 a = (a的类型)(a - b)
    a*=b 相当于 a = (a的类型)(a * b)
    a/=b 相当于 a = (a的类型)(a / b)
    a%=b 相当于 a = (a的类型)(a % b)
    a&=b 相当于 a = (a的类型)(a & b)
    a|=b 相当于 a = (a的类型)(a | b)
    a^=b 相当于 a = (a的类型)(a ^ b)
    a<<=b 相当于 a = (a的类型)(a << b)
    a>>=b 相当于 a = (a的类型)(a >> b)
    a>>>=b 相当于 a = (a的类型)(a >>> b)

    5、比较运算符:只会返回boolean型的值(true、false)
    a>b 只有当a大于b时,才返回true。如果a<b 或 a==b,则返回false。
    a<b 只有当a小于b时,才返回true。如果a>b 或 a==b,则返回false。
    a>=b 当a大于b 或 a==b 时,就返回true。如果a<b,则返回false。
    a<=b 当a小于b 或 a==b 时,就返回true。如果a>b,则返回false。
    a==b 只有当a等于b时,才返回true。如果a<b 或 a>b,则返回false。
    a!=b 当a大于b 或 a小于b 时,就返回true。如果a==b,则返回false。

    注意点:
    比较运算符的左右两边,可以是变量、直接量、表达式。

    6、逻辑运算符:
    注意:
    1)它的操作数要求【只能是boolean值】。
    2)它左右边的操作数,可以是变量、直接量、表达式。

    逻辑短路与(&&): 两个操作数,都是true时,才返回true。只要一个是false,就会返回false。
    逻辑与(&): 不会短路。
    逻辑短路或(||): 两个操作数,只要有一个是true,就返回true。两个都是false时,才会返回false。
    逻辑或(|): 不会短路。
    逻辑取反(!): (单目运算符)原来是true,就变成false。原来是false,就变成true。
    逻辑异或(^): 只有两个操作数不同时(一个true、一个false),才返回true。


    7、三目运算符:
    格式: 逻辑表达式 ? 表达式1 : 表达式2

    如果逻辑表达式的值为true,整个表达式的值为表达式1的值,
    如果逻辑表达式的值为false,整个表达式的值为表达式2的值。


    8、优先级的控制:
    尽量使用【小括号】进行控制,可读性也更好。

  • 相关阅读:
    javaee_正则表达式基础和常用表达式
    hello2源代码分析
    servlet_filterj简介
    hello1的web.xml解析
    Annotation
    注入(Injection)
    容器(Container)
    Building Tool(Maven/Gradle)
    JavaWeb的历史与发展趋势
    Build Tools
  • 原文地址:https://www.cnblogs.com/zdf159/p/7151881.html
Copyright © 2020-2023  润新知