Java中运算符概述

116 阅读4分钟

这是我参与11月更文挑战的第 14 天,活动详情查看:2021最后一次更文挑战

运算符概述

运算符是指对操作数的运算方式。运算符按照其要求的操作数数目来分,可以由单目运算符(1个操作数)、双目运算符(2个操作数)和三目运算符(3个操作数)。按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、字符串连接运算符和其他运算符。

运算符详解

1,算术运算符

算术运算符包括:+、—、*、/、% (两个数字取模或者求余)、++ (单目运算符,对数字自加1)、--(单目运算符,对数字自减1)。
++ 或-- 可以出现在变量前也可以在变量后。++ 出现在变量后会先进行赋值运算,在自加1;++ 出现在变量前会先加1,在进行赋值运算。

2,关系运算符

关系运算符就是完成数据与数据之间的比较,看以下代码:

class RelationOperatorTest{
    public static void main(String[] args){
        int a=10;
        int b=10;
        System.out.println(a>b);//结果是FALSE
        System.out.println("abc".equals("abc");//结果是true
         /*比较两个字符串是否相等,不能使用“==”,必须调用equals方法*/
    }
}

通过以上代码可以看出,任何一个关系运算符的运算结果都是布尔类型,最后结果不是true就是false,没有其他值。

3,逻辑运算符

逻辑运算符主要包括逻辑与(&),逻辑或(|),逻辑异或(^),短路与(&&),短路或(||)。所有逻辑运算符的特点是操作数都是布尔类型,并且最终的运算结果也是布尔类型。

规则见下表:

操作符例子结果描述
&ture&turetrue(5>3)&(5>4):5大于3并且5大于4,有道理
!!falsetruefalse取反是true,true取反是false
true^falsetrue异或运算符,只要两边的操作数不同,结果就是true
&&true&&truetrue短路与(&&)和逻辑与(&)最终结果相同,只不过短路与(&&)会存在短路现象。

举个例子,短路与(&&)在左边的表达式结果为false 的时候,右边的表达式则不再执行,这种现象就叫做短路现象。这种机制使得其效率更高一些,所以在实际开发中短路与(&&)要比逻辑与(&)用的多一些。

4,条件运算符

条件运算符属于三目运算符,它的语法结构是:布尔表达式?表达式1:表达式2. 它的运行原理是这样的,先判断布尔表达式的结果是true 还是 false,如果是true ,则选择表达式1的结果作为整个表达式的结果,反之则选择表达式2的结果作为整个表达式的结果。 看下代码进行体会:

class ConditionalOperatorTest{
  public static void main(String[] args){
      boolean sex=true;
      char gender=sex?'男':'女';
      System.out.println("性别:"+gender);//结果是:男
      boolean sex=false;
      char gender=sex?'男':'女';
      System.out.println("性别:"+gender);//结果是:女
  }
}

由此可见,条件运算符和if 控制语句可以达到同样的效果。但条件运算符会让代码看起来更加整洁,达到意想不到的效果。

5,字符串连接运算符

在Java 编程中对字符串的操作是非常频繁的,例如字符串的连接操作,此时就需要用到 “+” 字符串连接运算符了。

实际上“+”运算符在Java 中有两个作用。一,对数字进行求和运算;二,字符串连接运算。那什么时候进行求和,什么时候进行连接呢?简单的理解:当两边的操作数都是数字的话,一定会进行求和运算,只要其中一个操作数为字符串类型,那么一定会进行字符串拼接运算,字符串拼接之后的结果还是字符串类型。

总结

本篇不仅仅是在Java语言中可以使用,在其他编程语言中也可以使用。运算符在实际的开发中使用频率很高,我们应学好每一个运算符的用法,为后面的学习打下扎实的基础!