持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情
运算符的介绍
运算符是一种特殊的符号,可以表示数据的运算、赋值和比较等,其包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符(此次将不予展开讲解)、三目运算符。
算术运算符
概念:算术运算符是对数值类型的变量进行运算
算数运算符的一览表,如下:
演示
取模(注意其本质运算,不可代入数学上的运算)
自增
字符串相加
注重细节
- 对于“/”,需分为整数除和小数除,整数除的时候,会舍弃其输出结果的小数;小数除的时候,输出结果会保留;
- 对于一个数做取模运算时,其本质就是a%b=a-a/b*b;
- 当自增或自减为独立语句,换言之它没有赋值给某变量时,两种形式的自加或自减其效果是一样的;
- 当自增或自减做表达式,换言之它赋值给某变量时,两种形式的自加或自减是不等价的哦,这里须好好理解。
赋值运算符
概念:将某个运算后的值,赋给指定变量。
分类:基本赋值运算符和复合赋值运算符(两个基本运算符的符合使用,eg.+=)。
赋值运算符的特点:
- 运算顺序为从右往左;
- 赋值运算符的左边是变量,右边可以是变量、表达式、常量值;
- 复合赋值运算符等价与对某个指定变量的值的一个刷新(a+=1<-->a=a+1);
- 复合赋值运算符可以进行类型强制转换(byte b=1;b+=2-->b=(byte)(b+2))。
关系运算符
概念:关系运算符,也叫比较运算符,其结果是boolean型,只有两种,分为true or false。
作用:一般用在循环里,判断循环是否继续。
关系运算符的一览表,如下:
还有一种是instanceof,它是检查是否是类的对象的运算,此处也不将其展开讲解。
逻辑运算符
概念:其输出结果也为boolean型
作用:用于连接多个条件(关系表达式)
逻辑运算符的一览表,如下:
运算规则的阐述
- a&b:&逻辑与,当a与b同时为true时,结果为true,否则为false;
- a&&b:&&叫短路与,当a与b同时为true时,结果为true,否则为false;
- a|b:|逻辑或,当a与b全为false时,结果为false,否则为true;
- a||b:||短路或,当a与b全为false时,结果为false,否则为true;
- !a:!取反,当a为true,其结果为false;
- a^b:^逻辑异或,当a与b不同时,其结果为true,否则为false。
逻辑与和短路与重点区分
- 逻辑与:无论什么情况,它都会将两旁的关系运算符判断,使得运算效率降低;
- 短路与:当它第一个条件已经被判断为错误的时候,第二个条件不会再被判断。
代码演示
逻辑或与短路或的重点区分(这里可以类比与运算学习,此处不给予代码演示了)
- 逻辑或:无论什么情况,它都会将两旁的关系运算符判断,使得运算效率降低;
- 短路或:当它第一个条件已经被判断为正确的时候,第二个条件不会再被判断,运算效率高。
三元运算符
基本语法:条件表达式?表达式1:表达式2
运算规则:如果条件表达式正确,运算后的结果为表达式1;反之结果为表达式。
这里再分享一个三目运算符和自增的小案例:
b--是先取值再运算,取值等价于当前状态它需要给出一个返回值,再者小伙伴们也可以明显看出当前的b--不是一条独立语句哦,显然--b和b--不等价。