一文学会Java运算符的使用

Haidee ·
更新时间:2024-11-10
· 484 次阅读

目录

算术运算符

关系运算符

逻辑运算符

赋值运算符

条件运算符

运算符优先级

算术运算符 运算符描述
+两数相加
-两数相减
*两数相乘
/两数相除
%取模,返回两数相除的余数
++自加一
- -自减一
public class User { public static void main(String[] args) { int a = 20; int b = 10; System.out.println(a + b); System.out.println(a - b); System.out.println(a * b); System.out.println(a / b); System.out.println(b % a); } }

输出:

30
10
200
2
10

++,- -运算符

当++、- -出现在变量之前,先自加、自减1,再做赋值运算

public class User { public static void main(String[] args) { int a = 10; int b = ++a; System.out.println(a);// 11 System.out.println(b);// 11 } }

当++,- -出现在变量之后,先做赋值运算,再自加、自减1

public class User { public static void main(String[] args) { int a = 10; int b = a++; System.out.println(b);// 10 System.out.println(a);// 11 } }

扩展

+运算符有两个作用

①求和

public class User { public static void main(String[] args) { System.out.println(3 + 4);// 7 } }

②字符串拼接

public class User { public static void main(String[] args) { System.out.println("Hello" + "Java" + "World");// HelloJavaWorld } } 关系运算符 运算符描述结果
==判断值是否相等是返回true,不是返回false
!=判断值是否不相等是返回trut,不是返回false
>=判断左边的值是否大于等于右边是返回true,不是返回false
<=判断左边的值是否小于等于右边是返回true,不是返回false
>判断左边的值是否大于右边是返回true,不是返回false
<判断左边的值是否小于右边是返回true,不是返回false
public class User { public static void main(String[] args) { int a = 20; int b = 10; System.out.println(a == b); System.out.println(a != b); System.out.println(a > b); System.out.println(a < b); System.out.println(a <= b); System.out.println(a >= b); } }

输出:

false
true
true
false
false
true

逻辑运算符 运算符描述结果
&两边都为True,结果才为True
有一边为True,结果就为True
真值变假,假值变真
&&逻辑与两边都为True,结果才为True
││逻辑或有一边为True,结果就为True
public class User { public static void main(String[] args) { boolean a1 = true; boolean a2 = false; System.out.println(a1 && a2); System.out.println(a1 || a2); System.out.println(!a1); } }

输出:

false
true
false

与&和逻辑与&&

public class User { public static void main(String[] args) { // 与& int a = 0; int b = 1; // 当左边表达式为false,右边的表达式依旧会执行 System.out.println(a > b & b > a++);// false System.out.println(a); // 1 // 逻辑与&& int c = 0; int d = 1; // 当左边的表达式为false,右边的表达式不执行(短路现象) System.out.println(c > d && d > c++);// false System.out.println(c); // 0 } }

或|和逻辑或||

public class User { public static void main(String[] args) { // 或| int a = 0; int b = 1; // 当左边表达式为true,右边的表达式依旧会执行 System.out.println(a < b | b > a++);// true System.out.println(a); // 1 // 逻辑或|| int c = 0; int d = 1; // 当左边的表达式为true,右边的表达式不执行(短路现象) System.out.println(c < d || d > c++);// true System.out.println(c); // 0 } }

总结

与&和或|要对所有条件都进行判断(无论左边是真假,右边都会执行)

逻辑与 &&当左边的表达式为false,右边的表达式不执行

逻辑或 || 当左边的表达式为true,右边的表达式不执行

什么时候使用&&,什么时候使用&

从效率方面来说,&&比&的效率高一些。

因为与&不管第一个表达式结果是什么,第二个表达式一定会执行。

大部分情况下都建议使用短路与&&,只有当既需要左边表达式执行,又需要右边表达式执行的时候,才会选择与&。

赋值运算符 运算符描述
=直接赋值
+=加后赋值
-=减后赋值
*=乘后赋值
/=除后赋值
%=取模后赋值
public class User { public static void main(String[] args) { int a = 2; int b = 1; System.out.println(a += b);//a = a + b System.out.println(a -= b);//a = a - b System.out.println(a *= b);//a = a * b System.out.println(a /= b);//a = a / b System.out.println(a %= b);//a = a % b } }

输出:

3
2
2
2
0

条件运算符

表达式1?表达式2:表达式3

先判断表达式1的值,若为真则将表达式2的值做为整个表达式的值;若为假则将表达式3的值做为整个表达式的值。

举个栗子:判断a和b的大小,a>b如果成立max=a的值,不成立则max=b的值

public class User { public static void main(String[] args) { int a = 1, b = 2; int max; max = a > b?a:b; System.out.println(max); } }

输出:

2

运算符优先级

Java中用到的运算符除了上面介绍的常用的赋值运算符、算术运算符、关系运算符、逻辑运算符、条件运算符以外,还有其他的运算符。当一个表达式出现多种运算符符号,会按照运算符的优先级来决定运算顺序,Java中运算符优先级见下表

运算符描述优先级
[] () . , ;分隔符1
Instanceof ++ - - !对象归类、自增自减、非运算2
* / %算术乘除运算3
+ -算术加减运算4
>> << >>>移位运算5
< <= > >=大小关系运算6
== !=相等关系运算7
&按位与运算8
^按位异或运算9
按位或运算10
&&逻辑与运算11
││逻辑或运算12
? :三目条件运算13
= += -= *= /= &=赋值运算14

到此这篇关于一文学会Java运算符的使用的文章就介绍到这了,更多相关Java运算符内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



JAVA 文学

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章