目录
运算符
运算符是一种特殊符号,用以表式数据的运算、赋值和比较等
算术运算符
注意
-
如果对负数取模,可以把模数的负号忽略不计,如:5%-2=1。但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。结果的符号与被模数符号相同
-
对于除数“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
-
“+”除字符串相加功能,还能把非字符串转换成字符串
赋值运算符
-
符号:=
当"="两侧数据类型不一样时,可以使用自动类型转换或使用强制类型转换原则进行处理
支持连续赋值
-
扩展运算符:+=、-+、*=、/=,%=
特别:这些运算符不会改变变量本身的数据类型
比较运算符
-
比较运算符的结果都是Boolean型,要么是true、要么是false
逻辑运算符
-
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3&x<6
-
&和&&的异同:
相同点:
1、&和&&运算结果相同
2、符号左边为真,都会执行符号右边的操作
不同点:
当符号左边为false时,&会执行右边的运算而&&则不会
int x=1;
int y=1;
if(x++==2&++y==2){
x=7;
}
System.out.println("x="+x+",y="+y);
运行结果为
int x=1,y=1;
if(x++==2&&++y==2){
x=7;
}
System.out.println("x="+x+",y="+y);
运行结果为
- “|”和“||”异同:
相同点:
当符号左边是false时,符号两边操作时都会执行
不同点:
当符号左边为true时,“|”会执行右边的操作,而“||”不会
int x=1,y=1;
if(x++==1|++y==1){
x=7;
}
System.out.println("x="+x+",y="+y);
运行结果为
int x=1,y=1;
if(x++==1||++y==1){
x=7;
}
System.out.println("x="+x+",y="+y);
运行结果为
位运算符
位运算是直接对整数的二进制进行的运算
三元运算符
-
格式:
(条件表达式)?表达式1:表达式2;
-
注意:
1、条件表达式结果为Boolean型
2、根据表达式结果执行表达式1还是表达式2:当条件表达式结果为true时,执行表达式1,否则执行表达式2
3、可以嵌套使用
-
三元运算符与if-else的联系与区别:
1、三元运算符可以简化if-else的语句
2、三元运算符要求必须返回一个结果
3、if后的代码块可又有个语句
4、能用三元表达式表示的一定可以改写为if-else语句;但能用if-else写的语句不一定可以改写成三元运算
运算符的优先级
-
运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序
- 只有单目运算符、三元运算符、赋值运算符是从右向左运算的