以下运算符C++与Java的用法和功能一致
算数运算符
+ - * /
关系运算符
== | 就是判断左边跟右边是否相等,如果成立就是true,如果不成立就是false |
!= | 就是判断左边跟右边是否不相等,如果成立就是true,如果不成立就是false |
> | 就是判断左边是否大于右边,如果成立就是true,如果不成立就是false |
>= | 就是判断左边是否大于等于右边,如果成立就是true,如果不成立就是false |
< | 就是判断左边是否小于右边,如果成立就是true,如果不成立就是false |
<= | 就是判断左边是否小于等于右边,如果成立就是true,如果不成立就是false |
赋值运算符
=
扩展赋值运算符
+=、-=、*=、/=、%=
自增自减运算符
++,--
三元运算符
条件运算符(? :)
(a > b) ? a : b;
Java不同之处
字符相加
-
当+操作中出现字符串时,此时就是字符串的连接符,会将前后的数据进行拼接,并产生一个新的字符串。
-
如果有多个+操作时,从左到右逐个执行的。
public class Main {
public static void main(String[] args) {
int a=1;
String b="abcd";
System.out.println(a+b); //1abcd
}
}
逻辑运算符
& 逻辑与(而且)
两边都为真,结果才是真,只要有一个为假,那么结果就是假
| 逻辑或(或者)
两边都为假,结果才是假,只要有一个为真,那么结果就是真
! (取反):
是取反,也叫做非
^ (异或):
如果两边相同,结果为false,如果两边不同,结果为true
C++的逻辑运算符在Java是短路逻辑运算符
短路逻辑运算符
&&:
运算结果跟&一样的。具有短路效果。
||:
运算结果跟|一样的。具有短路效果。
短路效果就是如果一开始判断的表达式符合返回值条件那就不会在判断接下来的表达式了
比如:
(表达式1)&&(表达式2)
如果表达式1为假那就会返回假不会接着判断表达式2了
短路逻辑运算符可以提高程序的运行效率
隐式转换
叫自动类型提升
就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量
public class Main {
public static void main(String[] args) {
int a=1;
char b='a';
System.out.println(a+b);//98
}
}
强制转换
强制转化类型
语法:
目标数据类型 变量名 = (目标数据类型)被强转的数据
public class OperatorDemo2 {
public static void main(String[] args) {
double a = 1.3;
int b = (int) a;
System.out.println(b);//1
}
}
运算符的优先级
1 | . () {} |
2 | ! ~ ++ -- |
3 | *、/、% |
4 | + - |
5 | << >> >>> |
6 | < <= > >= |
7 | == != |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
14 | =、+= 、-= 、*=、/=、 %=、 &= |