运算符

128 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情

运算符的介绍

运算符是一种特殊的符号,可以表示数据的运算、赋值和比较等,其包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符(此次将不予展开讲解)、三目运算符。

算术运算符

概念:算术运算符是对数值类型的变量进行运算

算数运算符的一览表,如下:

image.png

演示

取模(注意其本质运算,不可代入数学上的运算)

image.png

自增

image.png

image.png

字符串相加

image.png

注重细节

  1. 对于“/”,需分为整数除和小数除,整数除的时候,会舍弃其输出结果的小数;小数除的时候,输出结果会保留;
  2. 对于一个数做取模运算时,其本质就是a%b=a-a/b*b;
  3. 当自增或自减为独立语句,换言之它没有赋值给某变量时,两种形式的自加或自减其效果是一样的;
  4. 当自增或自减做表达式,换言之它赋值给某变量时,两种形式的自加或自减是不等价的哦,这里须好好理解。

赋值运算符

概念:将某个运算后的值,赋给指定变量。

分类:基本赋值运算符和复合赋值运算符(两个基本运算符的符合使用,eg.+=)。

赋值运算符的特点:

  1. 运算顺序为从右往左;
  2. 赋值运算符的左边是变量,右边可以是变量、表达式、常量值;
  3. 复合赋值运算符等价与对某个指定变量的值的一个刷新(a+=1<-->a=a+1);
  4. 复合赋值运算符可以进行类型强制转换(byte b=1;b+=2-->b=(byte)(b+2))。

关系运算符

概念:关系运算符,也叫比较运算符,其结果是boolean型,只有两种,分为true or false。

作用:一般用在循环里,判断循环是否继续。

关系运算符的一览表,如下:

image.png 还有一种是instanceof,它是检查是否是类的对象的运算,此处也不将其展开讲解。

逻辑运算符

概念:其输出结果也为boolean型

作用:用于连接多个条件(关系表达式)

逻辑运算符的一览表,如下:

image.png

运算规则的阐述

  1. a&b:&逻辑与,当a与b同时为true时,结果为true,否则为false;
  2. a&&b:&&叫短路与,当a与b同时为true时,结果为true,否则为false;
  3. a|b:|逻辑或,当a与b全为false时,结果为false,否则为true;
  4. a||b:||短路或,当a与b全为false时,结果为false,否则为true;
  5. !a:!取反,当a为true,其结果为false;
  6. a^b:^逻辑异或,当a与b不同时,其结果为true,否则为false。

逻辑与和短路与重点区分

  • 逻辑与:无论什么情况,它都会将两旁的关系运算符判断,使得运算效率降低;
  • 短路与:当它第一个条件已经被判断为错误的时候,第二个条件不会再被判断。

代码演示

image.png

逻辑或与短路或的重点区分(这里可以类比与运算学习,此处不给予代码演示了)

  • 逻辑或:无论什么情况,它都会将两旁的关系运算符判断,使得运算效率降低;
  • 短路或:当它第一个条件已经被判断为正确的时候,第二个条件不会再被判断,运算效率高。

三元运算符

基本语法:条件表达式?表达式1:表达式2

运算规则:如果条件表达式正确,运算后的结果为表达式1;反之结果为表达式。

这里再分享一个三目运算符和自增的小案例:

b--是先取值再运算,取值等价于当前状态它需要给出一个返回值,再者小伙伴们也可以明显看出当前的b--不是一条独立语句哦,显然--b和b--不等价。 image.png