算术运算符
运算符是用来计算数据的符号。数据可以是常量,也可以是变量。被运算符操作的数我们称为操作数。算术运算符最常见的操作就是将操作数参与数学计算
运算符
运算规则
范例
结果
+
正号
+3
3
+
加
2+3
5
+
连接字符串
“中”+“国”
“中国”
-
负号
int a=3;-a
-3
-
减
3-1
2
*
乘
2*3
6
/
除
5/2
2
%
取模
5/2
1
++
自增
int a=1;a++/++a
2
--
自减
int b=3;a--/--a
2
注意下列事项:
l加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
l 除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
l “%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
l 整数做被除数,0不能做除数,否则报错。
*算术运算符*/
public classOperatorDemo1 {public static voidmain(String[] args) {/** 常量使用算数运算符*/System.out.println(10+20);/** 变量使用算数运算符*/
int x = 10;int y = 20;//"+"作为加法运算使用
int z = x +y;//"+"作为连接字符串使用
System.out.println("x="+x);
System.out.println("y="+y);
System.out.println("z="+z);
}
}
算数运算符++、--的使用
l ++运算符,会在原有值的基础上自增1;
l --运算符,会在原有值的基础上自减1。
l ++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
l ++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。
赋值运算符
运算符
运算规则
范例
结果
=
赋值
int a=2
2
+=
加后赋值
int a=2,a+=2
4
-=
减后赋值
int a=2,a-=2
0
*=
乘后赋值
int a=2,a*=2
4
/=
整除后赋值
int a=2,a/=2
1
%=
取模后赋值
int a=2,a%=2
0
诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
赋值运算符* +=, -=, *=, /=, %=:*上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的*注意:赋值运算符左边必须是变量*/
public classOperatorDemo2 {public static voidmain(String[] args) {byte x = 10;
x+= 20;//相当于 x = (byte)(x+20);
System.out.println(x);
}
}
输出结果为x=30
比较运算符
运算符
运算规则
范例
结果
==
相等于
4==3
False
!=
不等于
4!=3
True
<
小于
4<3
False
>
大于
4>3
True
<=
小于等于
4<=3
False
>=
大于等于
4>=3
True
赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:
赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。
int a = 3;int b = 4;
System.out.println( a=b );
System.out.println( a==b );
上面代码输出的结果第一个值为4,第二个值为false。
逻辑运算符
运算符
运算规则
范例
结果
&
与
false&true
False
|
或
false|true
True
^
异或
true^flase
True
!
非
!true
Flase
&&
短路与
false&&true
False
||
短路或
false||true
True
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。
逻辑运算符通常连接两个其他表达式计算后的布尔值结果
当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。
boolean b = 100>10;boolean b2 = false;
System.out.println(b&&b2); //打印结果为 false
System.out.println(b||b2); //打印结果为 true
System.out.println(!b2); //打印结果为 true
System.out.println(b && 100>10); //打印结果为 true,
l 短路与&&:参与运算的两边数据,有false,则运算结果为false;
l 短路或||:参与运算的两边数据,有true,则运算结果为true;
l 逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true。
三元运算符
格式:
(条件表达式)?表达式1:表达式2;
表达式:通俗的说,即通过使用运算符将操作数联系起来的式子,例如:
3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式。
3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式。
其他表达式,不再一一举例。
l 三元运算符运算规则:
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
方式一:
System.out.println(3>2 ?“正确” : “错误” );//三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将结果“正确”,在控制台输出打印
方式二:int a = 3;int b = 4;
String result= (a==b) ?“相等” : “不相等”;//三元运算符运算后的结果为false,运算结果为表达式2的值“不相等”,然后将结果赋值给了变量result
方式三:int n = (3>2 && 4>6) ? 100 : 200;//三元运算符运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n
运算符优先级
优先级
描述
运算符
1
括号
()、[]
2
正负号
+、-
3
自增自减,非
++、--、!
4
乘除,取余
*、/、%
5
加减
+、-
6
移位运算
<>、>>>
7
大小关系
>、>=、
8
相等关系
==、!=
9
按位与
&
10
按位异或
^
11
按位或
|
12
逻辑与
&&
13
逻辑或
||
14
条件运算
?:
15
赋值运算
=、+=、-=、*=、/=、%=
16
位赋值运算
&=、|=、<<=、>>=、>>>=