四、Java运算符

运算符:

  • 赋值运算符
  • 逻辑运算符
  • 算术运算符
  • 关系运算符
  • 位运算符
  • 其它运算符

(1).算术运算符
在这里插入图片描述
注意: 自增与自减区别:
1.1

public class Add{
    public static void main(String[] args){
        int a =1;//定义变量;
        int b = ++a;//自增运算
        int c = 2;
        int d = --c;//自减运算
        System.out.println(b);
        System.out.println(d);
    }

运行结果:
2
1

1.2

  • 前缀自增/自减法(++a,- -a): 先在a的基础上进行++或者- -运算,再进行表达式运算。
  • 后缀自增/自减法(a++,a- -):先在a的基础上进行表达式运算,再进行++或者- -运算。

(2).关系运算符

在这里插入图片描述
(3).逻辑运算符
在这里插入图片描述

(4).赋值运算符
在这里插入图片描述
(5).条件运算符(三目运算)
申明一个变量 = (判断与否) ? true : false
例子:

public class Demo {
   public static void main(String[] args){
     int a = 100;
      // 如果 a 等于 50 成立,则设置 b 为10,否则为 20
     int  b = (a == 50) ? 10 : 20; //申明一个变量 = (判断与否) ? true : false
      System.out.println( b );
   }
}

运行结果:

20

(6).位运算符
定义:程序中所有内存都是以二进制形式存在的。
优点:运行速度是计算中最快的。
Java供应的位运算符分逻辑运算符和移位运算符。
逻辑运算符:
位与( & ) 、位或( | )、位非( ~ )、位异或( ^ )

移位运算符
左移( << )、右移( >> ) 、无符号右移( >>> )

1.位与(&):相同位上的数相乘的结果。

System.out.println(5 & 9); //j结果转换成十进制为1
将2个操作数和结果转换为二进制进行比较:
5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101
9转换为二进制:0000 0000 0000 0000 0000 0000 0000 1001

1转换为二进制:0000 0000 0000 0000 0000 0000 0000 0001

2.位或( | ):第一个操作数的的第n位和第二个操作数的第n位只要有一个是1,那么结果的第n位为也为1,否则为0。

System.out.println(5 | 9); //结果位13
5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101
9转换为二进制:0000 0000 0000 0000 0000 0000 0000 1001

13转换位二进制: 0000 0000 0000 0000 0000 0000 0000 1101

3.位异或( ^ ):第一个操作数的的第n位和第二个操作数的第n位相反,那么结果的第n为也为1,否则为0。

System.out.println(5 ^ 9);//j结果为12
5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101
9转换为二进制:0000 0000 0000 0000 0000 0000 0000 1001

12转换为二进制:0000 0000 0000 0000 0000 0000 0000 1100

4.位非( ~ ):操作数的第n位为1,那么结果的第n位为0。
==注意!:==位非是一元操作符

System.out.println(5 ~);//结果为-6
5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101
(-6)转换为二进制:1111 1111 1111 1111 1111 1111 1111 1010

5.左移( << )

System.out.println(5<<2);//运行结果为20
5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101
然后左移2位后,低位补0:
转换后进行左移: 0000 0000 0000 0000 0000 0000 0001 0100
换算成10进制为20。

如何转化成十进制:
在这里插入图片描述
如何转换成二进制:
在这里插入图片描述
6.右移( >> )

System.out.println(5>>2);//运行结果是1
5转换为二进制:
0000 0000 0000 0000 0000 0000 0000 0101
然后右移2位,高位补0:
0000 0000 0000 0000 0000 0000 0000 0001

猜你喜欢

转载自blog.csdn.net/weixin_42635052/article/details/88764801
今日推荐