Java运算符

1.运算符
  • 算术运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 三目运算符
2.算术运算符
运算符运算
+正号
-负号
+
-
*
/
%取模(取余)
++自增
自减
+字符串连接

注意:

  1. 取模运算(%)结果的符号与被模数的符号相同
    int m = -12; // 被模数
    int n = 5; // 模数
    int res = m % n; // -2
    
  2. 自增(++) / 自减(–)不会改变变量本身的数据类型
    short s = 5;
    s++;
    // s = s + 1; // 编译错误,结果应为 int 型
    
  3. 自增(++) / 自减(–)是以二进制实现的
    byte b = 127;
    // b 的补码为:01111111,加1后为:10000000(10进制 -128)
    b++;
    System.out.println(b); // -128
    
3.赋值运算符
运算符运算
=赋值

扩展赋值运算符:+=、-=、*=、/=、%=
注意:

  1. +=(…) 不改变变量本身的数据类型
    short s = 12;
    s += 2;
    // s = s + 2; // 编译错误,结果应为 int 型
    
    int i = 12;
    i *= 0.1; // i: int 型
    System.out.println(i); // 1
    
3.关系运算符
运算符运算
==等于
!=不等于
<小于
>大于
<=小于等于
>=大于等于
instanceof检查是否是类的对象

注意:

  1. 关系运算符的结果都为 boolean 型
  2. >、<、>=、<=只能使用在数值类型的数据之间
  3. ==、!= 不仅可以使用在数值类型的数据之间,还可以使用在引用数据类型的变量之间。
4.逻辑运算符
运算符运算
&逻辑与
&&短路与
|逻辑或
||短路或
!逻辑非
^逻辑异或

注意:

  1. 区分 & 和 &&
    相同点:
    运算结果相同,当运算符左边为 true 时,二者都会执行运算符右边的运算。
    不同点:
    当运算符左边为 false 时,& 会执行运算符右边的运算,&& 则不会。
    boolean b1 = false;
    int num1 = 10;
    if (b1 & (num1++ > 0)) {
    	// ...
    }
    System.out.println("num1: " + num1); // 11
    
    boolean b2 = false;
    int num2 = 10;
    if (b2 && (num2++ > 0)) {
    	// ...
    }
    System.out.println("num2: " + num2); // 10
    
  2. 区分 | 和 ||
    相同点:
    运算结果相同,当运算符左边为 false 时,二者都会执行运算符右边的运算。
    不同点:
    当运算符左边为 true 时,| 会执行运算符右边的运算,|| 则不会。
    boolean b1 = true;
    int num1 = 10;
    if (b1 | (num1++ > 0)) {
    	//
    }
    System.out.println("num1: " + num1); // 11
    
    boolean b2 = true;
    int num2 = 10;
    if (b2 || (num2++ > 0)) {
    	//
    }
    System.out.println("num2: " + num2); // 10
    
6.位运算符
运算符运算细节
<<左移高位丢弃,空位补0
>>右移最高位是0,空位补0; 最高位是1,空位补1
>>>无符号右移不论最高位是1还是0,空位都补0
&与运算二进制位进行 & 运算,只有 1 & 1 结果是1,其它为0
|或运算二进制位进行|运算,只有 0|0 结果是0,其它为1
^异或运算相同为0,不同为1
~取反运算按补码各位取反(包括最高位)

注意:

  1. 位运算是直接对整数的二进制进行的运算
7.三目运算符
运算符
? :

注意:

  1. 三目运算符可以嵌套使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值