Java Basics Part 8/20 - Basic Operators

Java Basics Part 8/20 - Basic Operators

目录


Java 提供了丰富的操作运算符。可以分成以下几组:

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

算术运算符

算术运算符用在数学表达式中:

假设 A 的值是 10, B 的值 是 20

SR.NOOperator and Example
1
  • 加: A + B => 30
2
  • 减: A - B => -10
3
  • 乘: A * B => 200
4/ 除: B / A =>2
5% 取模: B % A => 0
6++ 自加1: B++ => 21
7--自减1: B-- => 19

关系运算符

同样,假设 A 是 10,B 是 20

SR.NOOperator and Description
1== 等于: A== B false
2!= 不等于: A != B true
3> 大于: A > B false
4< 小于: A < B true
5>= 大于等于: A >= B false
6<= 小于等于: A <= B true

位运算符

Java 定义了很多位运算符,可以用在 int, long,short,char 和 byte 上。

位运算符操作的是 bit。假设 a = 60; b = 13.

a = 0011 1100
b = 0000 1101

a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011

同样,假设整形 A 是 60, B 是 13

SR.NOOperator and Description
1& 位与: A & B => 12(0000 1100)
2| 位或: A
3^ 位异或: A ^ B => 49(0011 0001)
4~ 位补码: ~A => -61(1100 0011)
5<< 左移:A << 2 => 240(1111 0000)
6>> 右移: A >> 2 => 15(1111)
7>>> 无符号右移: A >>> 2 => 15(0000 1111)

逻辑运算符

假设 A 为 true, B 为 false

OperatorDescription
1&& 逻辑与: A && B => false
2|| 逻辑或: A || B => true
3! 逻辑非: !(A&&B) => true

赋值运算符

SR.NOOperator and Description
1=
2+=
3-=
4*=
5/=
6%=
7<<=
8>>=
9&=
10^=
11|=

其他运算符

条件运算符(?:)

variable x = (expression) ? value if true : value if false
举例:

public class Test {

   public static void main(String args[]){
      int a, b;
      a = 10;
      b = (a == 1) ? 20: 30;
      System.out.println( "Value of b is : " +  b );

      b = (a == 10) ? 20: 30;
      System.out.println( "Value of b is : " + b );
   }
}

// output
Value of b is : 30
Value of b is : 20

instanceof 操作符

这个操作符仅用于对象的引用变量。它会检查出一个对象是否是一个特定的类型。

( Object reference variable ) instanceof (class/interface type)
如果 对象 是 类 的实例,那么结果就是 true,否则就是 false

class Vehicle {}

public class Car extends Vehicle {
   public static void main(String args[]){
      Vehicle a = new Car();
      boolean result =  a instanceof Car;
      System.out.println( result );
   }
}
// output 
true

操作符优先级

CategoryOperatorAssociativity
Postfix() [] . (dot operator)Left to right
Unary++ - - ! ~Right to left
Multiplicative* / %Left to right
Additive+ -Left to right
Shift>> >>> <<Left to right
Relational> >= < <=Left to right
Equality== !=Left to right
Bitwise AND&Left to right
Bitwise XOR^Left to right
Bitwise OR|Left to right
Logical AND&&Left to right
Logical OR||Left to right
Conditional?:Right to left
Assignment= += -= *= /= %= >>= <<= &= ^==

转载于:https://www.cnblogs.com/1202zhyl/p/5726829.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值