赋值运算符
1.基本赋值运算符:就是一个等号“=” ,代表将右侧的数据交给左侧的变量。
2.复合赋值运算符:
A: += a+=1 相当于 a+a=1
B: -= b-=4 相当于 b=b-4
C: *= c *=5 相当于 c=c *5
D: /= d/=6 相当于 d=d/6
E: %= e%=7 相当于 e=e%7
注意事项
1.只有变量可以使用赋值运算符,常量使用会发生错误
2.复合赋值运算符其中隐含了一个强制类型转换
比较运算符
1.== 比较符号两边是否相等,相等结果是true
2.< 比较符号左边的数据是否小于右边的数据,如果小于结果是true
3.> 比较符号左边的数据是否大于右边的数据,如果大于结果是true
4.<= 比较符号左边的数据是否小于等于右边的数据,如果小于等于结果是true
5.>= 比较符号左边的数据是否大于等于右边的数据,如果大于等于结果是true
6.!= 不等于符号,如果符号两边的数据不相等,结果是true
注意事项
1.比较运算符的结果一定是一个布尔值,成立就是true,不成立就是false
2.如果进行多次判断,不能连着写
数学当中的写法,例如: 1<x<3 程序当中【不允许】这种写法
逻辑运算符
1.与(并且): 符号 && 全都是true,才是true;否则就是false
2.或(或者): 符号 || 至少一个是true,就是true;全都是false,才是false
3.非(取反): 符号 ! 本来是true,变成false,本来是false,变成true
4.短路:“&&”,“||”具有短路效果;如果左边已经可以判断到最终结果,那么右边的代码将不再执 行,从而节省一定的性能
public class java{
public static void main(String[] args){
System.oyt.println(true&&false);//false
System.oyt.println(3<4&&10>5);//true
System.oyt.println(true||false);//true
System.oyt.println(true&&true);//true
System.oyt.println(false&&false);//false
System.oyt.println(true);//true
System.oyt.println(!true);//false
//短路效果
int a=10;
System.oyt.println(3>4&&++a<100);//false
System.oyt.println(a);//如果程序右边执行了,a打印输出应该为11,但实际情况为10
}
}
tips
对于1<x<3的情况,可以写成 {1<x&&x<3}
三元运算符
/*
一元运算符:只需要一个数据就可进行操作,例如:!、++、--
二元运算符:需要两个数据才可以运算的运算符,例如:+、=
三元运算符:需要三个数据才可以进行操作的运算符
格式:
数据类型 变量名称=条件判断?表达式A:表达式B
流程:
首先判断条件是否成立
如果成立为true,那么将表达式A的值赋给左侧的变量;
如果不成立为false,那么将表达式B的值赋给左侧的变量;
二者选其一。
*/
public class java{
public static void main(String[] args){
int a=10;
int b=20;
//数据类型 变量名称=条件判断?表达式A;表达式B
//判断a>b是否成立,如果成立,将a赋值给max,否则将b赋值给max;
int max=a>b?a:b;
Syetem.out.println(max);//打印输出20
}
}
注意事项
1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求
int num=3>4?2.5:10;//这是错误写法!!!
2.三元运算符的结果必须被使用
System.out.println(a>b?a:b);//正确写法,直接打印出a或者b的值
a>b?a:b;//错误写法!!没有将选择后的值进行赋值使用