运算符
1. 算术运算符
运算符
+、-、*、/、%、++、- -返回值
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样,返回值为计算结果。其中++、- -分别为自增、自减,返回值分别为操作数加、操作数减1.i++和++i
i++:i先参与运算再自增
++i:i先自增再参与运算
e.g. :
int i = 5;
int j = i++ + 5;
int n = 5;
int m = ++n + 5;
System.out.println("i = " + i);
System.out.println("j = " + j);
System.out.println("n = " + n);
System.out.println("m = " + m);
输出结果为:
i = 6;
j = 10;
n = 6;
m = 11;
2. 关系运算符
运算符
>、<、>=、<=、==、!=返回值
关系运算符用于判断运算符两边操作数相应关系的真假,返回值为true或false。
3. 逻辑运算符
运算符
!、&、|、^、&&、||返回值
a | b | !a | a&b | a|b | a^b | a&&b | a||b |
---|---|---|---|---|---|---|---|
ture | ture | false | ture | ture | false | ture | ture |
ture | false | false | false | ture | ture | false | ture |
false | ture | ture | false | ture | ture | false | ture |
false | false | ture | false | false | false | false | false |
3. &(|)和&&(||)
&&(||)程序运行时先对运算符左边进行判断,若值为false(true)则不再对运算符右边进行判断直接得到返回值false(true)。而&(|)会在对运算符两边都做出判断后再得到返回值。
e.g. :
int i = 5;
boolean a = i > 6 & i++ > 7;
int j = 5;
boolean b = j > 6 && j++ > 7;
System.out.println("i = " + i);
System.out.println("j = " + j);
输出结果为:
i = 6;
j = 5;
4. 位运算符
运算符
&、|、^、~、>>、<<、>>>返回值
&、|、^:对两边的操作数按位做与、或、与或运算
~:对左操作数按位取反
>>:左操作数按位右移右操作数指定的位数,低位舍去高位正数补0负数补1
<<:左操作数按位左移右操作数指定的位数,高位舍去低位补0
>>>:左操作数的值按右操作数指定的位数右移,低位舍去高位补0位运算符的操作数只能是整型或字符型
位运算符是对操作数的二进制形式进行操作
5. 赋值运算符
运算符
=、+=、-=、*=、/= 、%=、<<=、>>=、&=、|=、^=操作
除=是将运算符右侧操作数的值直接赋值给运算符左侧操作数外,其他运算符会对两侧的操作数做出相应的操作再赋值给左侧操作数。
6. 字符串连接运算符
运算符
+返回值
将运算符右边的值拼接在运算符左边值的末尾作为返回值。
7. 条件运算符
运算符
?:返回值
条件运算符运算对象有3个操作数(操作数1?操作数2:操作数3)首先对操作数1进行判断,如果为真返回操作数2的值,如果为假返回操作数3的值。
8. instanceOf 运算符
运算符
instanceOf返回值
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型),是返回true否则返回false。
表达式
表达式是符合一定语法规则的运算符和操作数的序列。
e.g. :
i
10.5 + i
(i + j) – 2表达式的值
对表达式中操作数进行运算得到的结果称为表达式的值。表达式的类型
表达式的值的数据类型即为表达式的类型。
表达式的值的数据类型为该表达式中所有操作数中表数范围最大的操作数的数据类型(byte->short(char)->int->long->float->double)。