文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一文学会Java运算符的使用

2024-04-02 19:55

关注

算术运算符

运算符描述
+两数相加
-两数相减
*两数相乘
/两数相除
%取模,返回两数相除的余数
++自加一
- -自减一
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运算符内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯