运算符总结

运算符是用来计算数据的符号。数据可以是常量,也可以是变量。被运算符操作的数我们称为操作数。

算数运算符

++/--

++ 运算符,会在原有值的基础上自增1,

-- 运算符,会在原有值的基础上自减1。

i++,i在前时,先赋值,在+1
++i,i在后时,先+1,在计算

赋值运算符

举例

a += b <==> a = a + b

比较运算符(条件运算符)

定义

比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false。

注意

赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:
• 赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
• 比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。

我们通过下面的一段代码,我们演示一下这个注意事项:
int a = 3;
int b = 4;
System.out.println( a=b );
System.out.println( a==b );

上面代码输出的结果第一个值为4,第二个值为false。

逻辑运算符

注意

1、短路与&&:参与运算的两边数据,有false,则运算结果为false;
2、短路或||:参与运算的两边数据,有true,则运算结果为true;
3、逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true。

1-1、&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。
2-1、&&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式。
3-1、&还可以用作位运算符,当&操作符两边的表达式不是 boolean 类型时,&表示按位与操作,
我们通常使用 0x0f 来与一个整数进行&运算,来获取该整数的最低 4 个 bit 位。例如,0x31& 0x0f 的结果为 0x01。

位运算符

<< 与 >>

<<

将一个数左移n位,相当于乘以了2 的n次方

举例

2 << 3 即:2 * 2的3次方 2 * 2 * 2 * 2 = 16

>>

将一个数右移n位,相当于除以以了2 的n次方

举例

8 >> 2 即:2 * 2的3次方 8 / 2 * 2 = 2

三元运算符

格式

(条件表达式)?表达式1:表达式2;

提示

3+2,使用算数运算符将操作数联系起来,称为算数表达式
3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式。

举例:
System.out.println( 3>2 ? “正确” : “错误” )

String result = (a==b) ? “相等” : “不相等”;

int n = (3>2 && 4>6) ? 100 : 200;

public class T4 {
    public static void main(String[] args) {
        //三元运算符
        System.out.println(3 > 2 ? "正确" : "错误");    //正确
        int i = (3 > 2) ? 1 : 2;
        System.out.println(i);  //1
        boolean a = (2 > 1) ? true : false;
        System.out.println(a);  //true
    }
}

运算符优先级

下图是每种运算符的优先级,按照运算先后顺序排序(优先级相同的情况下,按照从左到右的顺序依次运算)

posted @ 2020-05-18 17:04  诸葛孔萌  阅读(247)  评论(0编辑  收藏  举报