一、Java的运算符
1. 算术运算
算术运算符都是双目运算符,即连接两个操作数的运算符。优先级上,*、/、% 具有相同运算级别,并高于 +、-(+、- 具有相同级别)
- 加法运算:+
- 减法运算:-
- 乘法运算:*
- 除法运算:/,(另外,整型之间的除法运算是整除,这也就意味着2 / 4的结果为0,如果我们想像数学一样得到一个小数,可以使用浮点类型的操作数。)例如:
-
public class OperatorDemo1 { public static void main(String[] args) { // 分组初始化两个整型变量i1、i2,值分别为2、4 int i1 = 2, i2 = 4; // 使i1除以i2,并将返回结果赋值给i3 int i3 = i1 / i2; System.out.println("整型2除以整型4的结果为:" + i3); // 分组初始化两个浮点型变量f1、f2,值分别为2、4 float f1 = 2f, f2 = 4f; // 使f1除以f2,并将返回结果赋值给f3 float f3 = f1 / f2; System.out.println("浮点型2除以浮点型4的结果为:" + f3); } }
2. 自增(++)、自减(- -)运算符
- ++ 或 - - 是单目运算符,放在操作数的前面或后面都是允许的。
-
++运算,变量自增长1;- -运算,变量自减少1。
那么如果有一个变量i,++i和i++有什么区别呢?
独立运算时:i++和++i没有区别,都是实现自动加1的功能
混合运算时:i++和++i就不同了
-
1.++/- -在先,先运算后取值
int a = 1; int b = ++a; System.out.println(a);//计算结果是2 System.out.println(b);//计算结果是2
2.++/- -在后,先取值后运算
int a = 1; int b = a++;//这就等价于 int b=a;a=a+1; System.out.println(a);//计算结果是2 System.out.println(b);//计算结果是
3.赋值运算符
- 赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“=”,例如 int a=2.
它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。 - 记住在Java中两个数相等用的符号是==,而=是赋值运算符。
例如 int a=1,int b=1,如果表示a等于b,则是a==b -
4.关系运算符
- 关系运算符用来比较两个值的关系。关系运算符是二元运算符,运算结果是 boolean 型。当运算符对应的关系成立时,运算结果是 true,否则是 false。
-
public static void main(String[] args) { System.out.println(1==1);//true System.out.println(1<2);//true System.out.println(3>4);//false System.out.println(3<=4);//true System.out.println(3>=4);//false System.out.println(3!=4);//true }
5.逻辑运算符
- 优先级别:“!”>“&”>“^”>“|”>“&&”>“||”
&和&&的区别:当&&的左侧为false时,将不会计算其右侧的表达式,即左false则false;无论任何情况,“&”两侧的表达式都会参与计算。 - |和||的区别:当||的左侧为true时,将不会计算其右侧的表达式,即左true则true;无论任何情况,“|”两侧的表达式都会参与计算。