Java运算符基础

Java运算符
  • 算术运算符:+,-,*,/,%,++,——
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!= instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<
  • 条件运算符 ?:
  • 扩展赋值运算符:+=,-=,/=,/=
++ –
  • a++ 先参与运算 在加一

  • ++a 先加一在参与运算 输出语句也算运算

&& || !
  1. 与 && 两个都是真才是真 一个是假就是假

    • 短路运算 懒惰运算 第一个条件能决定最终结果,第二个条件不回去执行。
    • 第一个条件为假后:第二个条件是真是假都不影响最终结果,所有第二条件不去执行
  2. 或 | | 两个都是假才是假 一个是真就是真

    • 非懒惰运算 长路运算 不管第一个条件是否能决定最终结果,第二个条件都要去执行
  3. 非 ! 如果是真变假 如果是假变真

    一般在多个条件相连的时候使用

二进制的运算符
1. 位与运算符 &

运算规则:11为1

Byte a=4;

Byte b=6;

Byte res=a&b;

运算过程:

4的二进制: 0000 0100

6的二进制: 0000 0110

​ 11为1: 0000 0100

结果是:4

2. 位或运算符 |

运算规则:1为1

Byte a=4;

Byte b=6;

Byte res=a|b;

运算过程:

4的二进制: 0000 0100

6的二进制: 0000 0110

​ 有1为1: 0000 0110

结果是:6

3. 异或运算符 ^

运算规则:相同为0 不同为1

Byte a=4;

Byte b=6;

Byte res=a^b;

运算过程:

4的二进制: 0000 0100

6的二进制: 0000 0110

​ : 0000 0010

结果是:2

4. 位非运算符 ~

是一个一元运算符

运算规则:按位取反

Byte a=4;

Byte b=~a;

运算过程:

4的二进制: 0000 0100

按位取反: 1111 1011

结果是:-5

5.移位
5.1 右移 >> :每移动一位相当于除二

正数:二进制数字向右移动,左边空出的位置补0

byte num=5
byte r1=num>>2
byte num1=48
byte r2=num1>>3

5的二进制:0000 0101

​ 移动后: 0000 0001 01

​ 结果为:1

48的二进制: 0011 0000

​ 移动后: 0000 0110 000

​ 结果为:6

负数:向右移,空位补1 (只有负数右移空位补1)

byte num=-5;
byte r1=(byte)(num>>2);

-5的二进制:1111 1011

​ 移动后: 1111 1110 11

​ 结果为:-2

2.6.5.2左移 <<:每移动一位相当与乘2
byte num=-5;
byte r1=(byte)(num<<2);

-5的二进制:1111 1011

移动后 : 11 1110 1100

​ 结果为:-20

Byte

Byte在内存里面能占八个字节

二进制最高位是1表示负数换算到十进制想知道负多少的规则:取反+1

例如: 00101101 à 45

​ -45 45=32+8+4+1=101101 11010011 à -45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值