Java 运算符和优先级

  • 算术运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样

1、自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。

注意:int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4
            int d = --c; 拆分运算过程为: c=c-1=2; d=c=2, 最后结果为d=2,c=2
            2、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
            3、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 

  • 关系运算符

  • 位运算符

  • 逻辑运算符

下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假

短路逻辑运算符
当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
实例
public class LuoJi{
    public static void main(String[] args){
        int a = 5;//定义一个变量;
        boolean b = (a<4)&&(a++<10);
        System.out.println("使用短路逻辑运算符的结果为"+b);
        System.out.println("a的结果为"+a);
    }
}
运行结果为:
使用短路逻辑运算符的结果为false
a的结果为5

解析: 该程序使用到了短路逻辑运算符(&&),首先判断 a<4 的结果为 false,则 b 的结果必定是 false,所以不再执行第二个操作 a++<10 的判断,所以 a 的值为 5。

  • 赋值运算符

  • 其他运算符

条件运算符

(    ?    :     )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值。
public class HelloWorld{
  public static void main(String[] args) { 
    int score=68; String mark =(68>60)? "及格":"bujige不及格"; 
     System.out.println("考试成绩如何:"+mark);        }
  }

instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。
例子:
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);
   }
}
结果如下:
true

Java运算符优先级

类别    操作符                                        关联性
后缀    () [] . (点操作符)                            左到右
一元    + + - !〜                                    从右到左
乘性     * /%                                        左到右
加性     + -                                            左到右
移位     >> >>>  <<                                     左到右
关系     >> = << =                                     左到右
相等     ==  !=                                        左到右
按位与    &                                            左到右
按位异或    ^                                        左到右
按位或    |                                            左到右
逻辑与    &&                                            左到右
逻辑或    | |                                            左到右
条件    ?:                                        从右到左
赋值    = + = - = * = / =%= >> = << =&= ^ = | =    从右到左
逗号    ,                                            左到右

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值