JAVA运算符

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。

1.算术运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。+、-、*、/、%、++、--

注意
前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 实例:

public class selfAddMinus{
    public static void main(String[] args){
        int a = 5;//定义一个变量;
        int b = 5;
        int x = 2*++a;
        int y = 2*b++;
        System.out.println("自增运算符前缀运算后a="+a+",x="+x);
        System.out.println("自增运算符后缀运算后b="+b+",y="+y);
    }
}
自增运算符前缀运算后a=6,x=12
自增运算符后缀运算后b=6,y=10

2.关系运算符

== 、!= 、> 、< 、>= 、<=

3.位运算符

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

位运算符作用在所有的位上,并且按位运算。假设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
&(与运算):只要有一个为0,就为0
|(或运算): 只要有一个为1,就为1
^(亦或运算):相同的为0,不同的为1
〜(取反):0变成1,1变成0。
<<(按位左移):左操作数按位左移右操作数指定的位数。A << 2得到240,即 1111 0000
>>(按位右移):左操作数按位右移右操作数指定的位数。A >> 2得到15即 1111
>>>(无符号右移):符号右移,忽略符号位,空位都以0补齐

4.逻辑运算符

&&(逻辑与):全真为真
||(逻辑或):有真为真
!(逻辑非):取反

5.赋值运算符

= 、 += 、 -= 、 *= 、 /= 、 %= 、 <<= 、 >>= 、 &= 、 ^= 、 |=

6.条件运算符(?:)

b = (a) ? 20 : 30;  //如果a为真侧b为20,否则b为30

7.instanceof 运算符

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

//语法:(对象) instanceof (类类型或接口类型)
NSString name = @"test";
boolean result = name instanceof NSString;  //result为真

注意:子类是父类的类型,但父类不是子类的类型。子类的实例可以声明为父类型,但父类的实例不能声明为子类型。

8. 运算符优先级

下表是运算符的优先级是按从上到下一次降低的:


运算符优先级

你可能感兴趣的:(JAVA运算符)