java中的运算符

1 算数运算符

基本算术符号

算术运算符是对数值类型的变量进行运算的运算符

+  -  *  /  // 加、减、乘、除
% 	// 取余,结果和被取余数同号。
//  a % b == a - (int)a / b * b;
11 % 9 = 2;
-11 % 9 = -2;
11 % -9 = 2;
-11 % -9 = -2;
自增自减

++ 与 - - 同理
++i 先自增后赋值;i++ 先赋值后自增

int i = 10;
int j = ++i; 	// 等价于 i = i + 1; j = i; 此时 i = 10; j = 10`
int k = i++; 	// 等价于 k = i; i = i + 1; 此时 i = 11; k = 10`
i = i++; 		// 系统会先后执行 int temp = i;     i = i + 1;     i = temp
i = ++i; 		// 系统会先后执行 i = i + 1;     int temp = i;     i = temp

2 关系运算符

关系运算符结果都为 boolean 型,要么是 ture 要么是 false

==  // 相等于。8 == 7 结果 false
!=  // 不等于
< > // 小于、大于
<= >= // 小于等于、大于等于
instanceof // 检查是否是类的对象。"a" istanceof String 结果 ture

3 逻辑运算符

& 和 &&

用于连接多个关系表达式,结果也是一个 boolean 值

&& // 短路与。a b 同时为 ture,则结果为 ture,否则为 false。
& // 逻辑与。a b 同时为 ture,则结果为 ture,否则为 false。

& 和 && 区别
在于 a && b 的场合,a = false 时,则 b 不判断。而 & 会完成判断

      int a = 1;
      int b = 1;
      if (a++ > 1 && ++b < 1) {

      }
      System.out.println(b); // b = 1
      int a = 1;
      int b = 1;
      if (a++ > 1 & ++b < 1) {

      }
      System.out.println(b); // b = 2
| 和 ||

|| :短路或。a b 任一为 ture,则结果为 ture,否则为 false
| :逻辑或。a b 任一为 ture,则结果为 ture,否则为 false

两者的区别和 && 与 & 相似,若第一个为 ture ,则 || 不会判断第二个

! 和 ^

! :取反, a 为 ture,则结果为 false。反之为 ture
^:逻辑异或 ,a b 不同时,结果为 ture,否则为 false

4 赋值运算符

基本赋值运算符:=
符合赋值运算符:+= ; -= ; *= ; /= ; %= 等
其他赋值运算符号

a += b 等价于 a = a + b。其余同理
注意事项
1 运算顺序从右往左

int num = a + b + c;	// 先运行(a + b + c),再结算int num =

2 运算符左边只能是变量,右边可以是变量、表达式、常量值。

3 复合赋值运算符会进行类型转换

byte b = 2; b += 3;		// 此时 b += 3 等价于 b = (byte)(b + 3)

5 三元运算符

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

运算规则:如果条件表达式为 ture ,运算的结果是表达式1;反之为表达式2。

int a = 10;
int b = 11;
int result = (a == b ? a++ : b++);		// 此时 a = 10  result = 11  b = 12

注意事项
1 表达式1 和 表达式2 要为可以赋给接受变量的类型(或可以自动转换,或进行强制转换)
2 三元运算符可以转成 if–else
3 三元运算符是一个整体。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值