运算符的分类: 算数运算符 , 赋值运算符 , 比较运算符 , 逻辑运算符 , 三元运算符
算数运算符包括:
+ 加法运算,字符串连接运算
- 减法运算
* 乘法运算
/ 除法运算
% 取模运算,两个数字相除取余数(又称取余)
++ 、 -- 自增自减运算
public class Demo01Operater {
public static void main(String[] args) {
// 定义变量
int a = 5;
int b = 3;
System.out.println(a + b); // 8
System.out.println(a ‐ b); // 2
System.out.println(a * b); // 15
System.out.println(a / b); // 1.66666?
System.out.println(a % b); // 2
System.out.println("‐‐‐‐‐‐‐‐‐");
// 整数相除,结果是整数,要得到小数,必须有小数参与运算
System.out.println(5.0 / 3); // 1.6666666666666667
System.out.println(5 / 3.0); // 1.6666666666666667
}
}
Java中,整数相除结果是整数。
public static void main(String[] args) {
int i = 1234;
System.out.println(i/1000*1000);//计算结果是1000
}
注意:取余结果符号与左边符号相同
System.out.println(5 % 3); // 2
System.out.println(‐5 % 3); // -2
System.out.println(5 % ‐3); // 2
System.out.println(‐5 % ‐3); // -2
赋值运算符包括:
= 赋值
+= 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除后赋值
%= 取模后赋值
注意:“+”的特别运用:
“+”可以连接字符,但是也要有注意的地方,例如:(原因是优先级问题)
System.out.println("5+5="+5); // 5+5=5
System.out.println("5+5="+5+5); // 5+5=55
System.out.println("5+5="+(5+5)); // 5+5=10
System.out.println(5+5+"5+5="); // 105+5=
比较运算符包括:
== 比较符号两边数据是否相等,相等结果是true。
< 比较符号左边的数据是否小于右边的数据,如果小于结果是true。
> 比较符号左边的数据是否大于右边的数据,如果大于结果是true。
<= 比较符号左边的数据是否小于或者等于右边的数据,如果小于或等于结果是true。
>= 比较符号左边的数据是否大于或者等于右边的数据,如果小于或等于结果是true。
!= 不等于符号 ,如果符号两边的数据不相等,结果是true。
逻辑运算符包括
运算符
|
运算规则
|
范例
|
结果
|
&
|
与
|
false&true
|
false
|
|
|
或
|
false|true
|
true
|
^
|
异或
|
true^false
|
ture
|
!
|
非
|
!true
|
false
|
&&
|
短路与
|
false&&true
|
false
|
||
|
短路或
|
false||true
|
true
|
注意:异或的效果是,2边都为真或都为假时,结果为假;2边真假不同时,结果为真
// ^ 异或: 相同为false,不同为true, 同性不能领结婚证,异性才能领结婚证
System.out.println(false ^ false); // false
System.out.println(false ^ true); // true
System.out.println(true ^ false); // true
System.out.println(true ^ true); // false、
&& 具有短路效果,可以提高程序的效率
证明:
int i = 3; int j = 4;
System.out.print(i==j&& ++i>1);
System.out.print(i);//可以把&&替换为&,比较结果如何
//同理
int n =3; int m = 3;
System.out.println(n==m|| ++m>1);
System.out.println(m)//可以把||替换为|,比较结果
三元运算符
三元运算符格式: 数据类型 变量名 = 布尔类型表达式?结果1:结果2;