JAVA基础——运算符和表达式

JAVA语言常用的运算符和表达式详解



一、简述

  运算符是一种“功能”符号,用以通知 Java 进行相关的运算。譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。

  Java 语言中常用的运算符可分为如下几种:

  •   算术运算符
  •   赋值运算符
  •   比较运算符
  •   逻辑运算符
  •   条件运算符

  接下来将对这五种运算符详细理解。


二、算术运算符

  算术运算符

  JAVA基础——运算符和表达式

  其中,++ -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴~

  这个运算符我自己经常搞混,这里就做个详细的理解,以便记忆。

  在左边的情况:                                                    运算结果:

  JAVA基础——运算符和表达式   JAVA基础——运算符和表达式

  在右边边的情况:                                                运算结果:

  JAVA基础——运算符和表达式    JAVA基础——运算符和表达式

  注意:自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!

  PS:% 用来求余数,也称为”取模运算符“


三、赋值运算符

  赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。

  Java 支持的常用赋值运算符,如下表所示:

  JAVA基础——运算符和表达式

   赋值运算符比较容易记忆:等价于对赋值对象本身用=前的运算符进行运算。


四、比较运算符

  比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

  Java 中常用的比较运算符如下表所示:

  JAVA基础——运算符和表达式

  注意:

  1、  > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型。

  2、  == 、 != 两边的操作数既可以是数值类型,也可以是引用类型。


五、逻辑运算符

  逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:

  JAVA基础——运算符和表达式

  我们可以从“投票选举”的角度理解逻辑运算符:

  1、 :要求所有人都投票同意,才能通过某议题

  2、 :只要求一个人投票同意就可以通过某议题

  3、 :某人原本投票同意,通过非运算符,可以使其投票无效

  4、 异或:有且只能有一个人投票同意,才可以通过某议题

  要深入理解逻辑运算符我推荐可以深入学习离散数学~

  当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。

  譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。

  同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!

  这种现象用逻辑理解也是很简单的,与运算只要有一方为假则结果为假,同理或运算只要有一方为真结果也为真。


六、条件运算符

  条件运算符( ? : )也称为 “三元运算符”

  语法形式:布尔表达式 ? 表达式1 :表达式2

  运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

  例如:

    JAVA基础——运算符和表达式

  因为,表达式 8>5 的值为 true ,所以,返回: 8大于5

  Ps:条件运算符可以替代简单的if语句,从而化简代码结构哦~


七、运算符的优先级

  所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:

  JAVA基础——运算符和表达式

  级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 7 + 3 * 2  得到的结果是 13 “先乘后加”嘛!

  PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如:

  JAVA基础——运算符和表达式

  分析:小括号优先级最高,因此

  1、 执行 a + 18 ,结果为 30

  2、 执行( a + 18 ) % 4 取模,结果为 2

  3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24


注释:此篇文章是本人根据慕课网上的java课程进行的总结,有兴趣的小伙伴可以自己去慕课网进行视频学习和在线编程,能更快更好地理解知识点哦~欢迎小伙伴随时来查阅知识点φ(>ω<*)

上一篇:无法对含有多个.java(或.class)文档的程序进行编译(或解释)


下一篇:java string,需要进行首字母大写改写