一、运算符
一、算数运算符
注意:
a++和++a的区别
a++是先取值,后运算。
++a是先运算,后取值。
eg:
a=1;b=++a; ---> a=a+1 ---> a=2; ---> b=a=2;
a=1;b=a++; ---> b=a=1 ---> a=a+1=2;
注意事项:
①、如果对负数取模,可以把模数负号忽略不计;但是被模数是负数,则不可忽视,取模的运算结果不一定是整数。
eg:
public class Study_jjcc { public static void main(String[] args) { System.out.println(5%-2); System.out.println(-5%2); System.out.println(5.3%3); } }
结果:
②、对于除号“/”,他的整数除和小数除是有区别的:整数除之间做除法时,只保留整数部分而舍弃小数部分。
eg:
public class Study_jjcc { public static void main(String[] args) { int i = 3350; System.out.println(i/1000*1000); } }
结果:
3000
③、“+” 除了字符串相加的功能外,还能把非字符串转换成字符串。
eg:
System.out.println("5+5="+5+5);
结果:
5+5=55
二、赋值运算符
1、符号:=
2、当“=”两侧数据类型不一致时,可以使用自动转换类型或者强制转换类型转换原则进行处理。
3、支持连续赋值。
4、扩展赋值运算符:
+=、-=、*=、/=、%=
eg:
sum += i; 等同于: sum = sum + i;
三、比较运算符
比较运算符的结果都是boolean类型,返回的结果都是true、false。
注意:
==是比较;
=是赋值。
四、逻辑运算符
&:与 |:或 !:非
&&:短路与 ||:短路或 ^:异或
逻辑运算符是用来连接boolean类型;
在Java中,3<x<6这种形式是不允许的,要写成 :x>3&x<6;
“&&”和“&” 的区别:
& :左边无论真假,右边都进行运算;
&&:
如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“||”和“|”的区别:
| :
左边无论真假,右边都进行运算;
||:
如果左边为假,右边参与运算,如果左边为真,那么右边不参与运算。
异或
( ^ )
与或
( | )
的不同之处是:当左右都为
true
时,结果为
false
。
理解:异或,追求的是“异”
!
五、三元运算符
格式:
(条件表达式)?表达式1:表达式2;
条件表达式为true,返回表达式1;为false,返回表达式2。
表达式1、表达式2是同一数据类型。
三元运算符和if-else的联系、区别:
1、三元运算符是简化的if-else语句;
2、三元运算符必须返回一个结果;
3、if后的代码块可以有多个语句。