java知识12 运算符【多测师】

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

一、算术运算符
加 减 乘 除 取模% 自增++  自减—

二、关系运算符
== != > < >= <=

三、位运算符
& | ^ ~ << >> >>>

四、逻辑运算符
&& || !

五、赋值运算符
= += -= *= /= (%)=  <<=  >>=  &= ^= |=

六、条件运算符
也称为三目运算、该运算符有3个操作数 并且需要判断布尔表达式的值 该运算符的主要是决定哪个值应该赋值给变量
variable x = (expression) ? value if true : value if false
实例:
public class Test {
  public static void main(String[] args) {
   int a, b;
   a = 10;
   // 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
   b = (a == 1) ? 20 : 30;
   System.out.println("Value of b is : " + b);

   // 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
   b = (a == 10) ? 20 : 30;
   System.out.println("Value of b is : " + b);
  }
}
运行结果:
Value of b is : 30
Value of b is : 20

七、instanceof运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)
String name = "James";
boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真
如果被比较的对象兼容于右侧类型,该运算符仍然返回true
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);
  }
}
注意:在判断一个实例引用的类型时,使用的是实际类型 而不是声明的类型代码如下:
Vehicle v2 = new Car();    // v2 是 Car 类型
V2是car类型 而不是vehicle类型

public class Car extends Vehicle {
  public static void main(String args[]) {
   Car c1 = new Car();

   Vehicle v2 = new Car(); // v2 是 Car 类型
   Vehicle v3 = new Vehicle();

   // Car 是 Vehicle类型, Vehicle 不是 Car 类型
   boolean result1 = c1 instanceof Vehicle; // true
   boolean result2 = v2 instanceof Car; // true
   boolean result3 = v2 instanceof Vehicle; // true
   boolean result4 = v3 instanceof Car; // false

   System.out.println(result1);
   System.out.println(result2);
   System.out.println(result3);
   System.out.println(result4);
  }
}

子类是父类的类型、但父类不是子类的类型
子类的实例可以声明为父类型、但父类的实例不能声明为子类型

 

posted @ 2020-06-12 22:12  多测师_树哥  阅读(142)  评论(0编辑  收藏  举报