> 文档中心 > 【Java基础教程】Java运算符

【Java基础教程】Java运算符


✅作者简介:大家好我是hacker707,大家可以叫我hacker,新星计划第三季python赛道Top1
📃个人主页:hacker707的csdn博客
🔥系列专栏:Java基础教程
💬推荐一款模拟面试、刷题神器👉点击跳转进入网站

在这里插入图片描述

运算符

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 赋值运算符
  • 条件运算符
  • 运算符优先级
  • 结束语🏆

算术运算符

运算符 描述
+ 两数相加
- 两数相减
* 两数相乘
/ 两数相除
% 取模,返回两数相除的余数
++ 自加一
- - 自减一
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);    }}
3010200210

++,- -运算符
当++、- -出现在变量之前,先自加、自减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);    }}
falsetruetruefalsefalsetrue

逻辑运算符

运算符 描述 结果
& 两边都为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);    }}
falsetruefalse

与&和逻辑与&&

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    }}
32220

条件运算符

表达式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

结束语🏆

🔥推荐一款模拟面试、刷题神器网站
点击链接注册即可
1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单
2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题
3、大厂笔试真题:字节跳动、美团、百度、腾讯…

在这里插入图片描述