运算符
运算符
算术运算符
本节要求: 能够使用算术运算符进行算数运算
- 运算符和表达式
- 运算符:对常量或者变量进行操作的符号
- 表达式:用运算符把常量或者变量链接起来符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。 - 举例说明:
int a=10;
int b=20;
int c=a+b;
+ : 是运算符,并且是算数运算符
a + b : 是表达式,由于+是算数运算符,所以这个表达式叫算数表达式
- 算数运算符
| 符号 | 作用 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取余 |
注意事项:
/ 和 % 的区别:两个数据做除法, / 取结果的商, % 取结果的余数。
整数操作只能看得到整数,要想得到小数,必须有浮点数参与运算。
- 字符的“ + ” 操作
- 拿字符在计算机底层对应的数值来进行计算的。即:SACII 码
- 算数表达式中包含多个基本数据类型的值的时候,整个算数表达式的类型会自动进行提升。
- 提升规则:
- byte类型,short类型和char类型将被提升到int类型
- 将整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char-->int-->long-->float-->double
- 提升规则:
- 字符串的“ + ” 操作
- 当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算数运算。
- 当“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算,当连续进行“+”操作时,从左到右逐个进行。

赋值运算符
本节要求: 使用赋值运算符进行赋值操作
- 赋值运算符
| 符号 | 作用 | 说明 |
|---|---|---|
| = | 赋值 | a=10,将10赋值给变量a |
| + = | 加后赋值 | a+=b,将a+b的值给a |
| - = | 减后赋值 | a-=b,将a-b的值给a |
| * = | 乘后赋值 | a=b,将a b的值给a |
| / = | 除后赋值 | a/=b,将a/b的商给a |
| %= | 取余后赋值 | a%=b,将a/b的余给a |
扩展的赋值运算符隐含了强制类型转换
自增自减运算符
本节要求: 使用自增自减运算符进行变量自增和自减
- 自增自减运算符
| 符号 | 作用 | 说明 |
|---|---|---|
| ++ | 自增 | 变量的值加1 |
| -- | 自减 | 变量的值减1 |
- 注意事项
- ++和--即可以放在变量的后面,也可以放在变量的前面。
- 单独使用的时候,++和--无论是放在变量的前面还是后面,结果是一样的。
- 参与操作的时候,如果放在变量的后面,变量先操作后运算;
参与操作的时候,如果放在变量的前面,变量先运算后操作。
关系运算符
本节要求: 使用关系运算符完成程序中的关系判断
- 关系运算符
| 符号 | 说明 |
|---|---|
| == | a==b,两值相等true |
| != | a!=b,两值不等true |
| > | a>b |
| >= | a>=b |
| < | a<b |
| <= | a<=b |
- 注意事项
- 关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”。
- 关系运算符的结果都是boolean类型,要么是true,要么是false。
逻辑运算符
本节要求: 使用逻辑运算符完成逻辑运算
- 逻辑运算符
| 符号 | 作用 | 说明 |
|---|---|---|
| & | 逻辑与 | 同真则真 |
| | | 逻辑或 | 同假才假 |
| ^ | 逻辑异或 | 不同才真 |
| ! | 逻辑非 | !a,结果和a的结果正好相反 |
- 短路逻辑运算符
| 符号 | 作用 | 说明 |
|---|---|---|
| && | 短路与 | 作用和&相同,但是有短路效果 |
| || | 短路或 | 作用和|相同,但是有短路效果 |
- 注意事项
- 逻辑与 &,无论左边真假,右边都要执行。
短路与 &&,如果左边为真,右边执行;如果左边为假,右边不执行。 - 逻辑或 | ,无论左边真假,右边都要执行。
短路或 | | ,如果左边为假,右边执行;如果左边为真,右边不执行。 - 最常用的逻辑运算符:&&,| | ,!
- 逻辑与 &,无论左边真假,右边都要执行。
三元运算符
本节要求: 三元运算符的格式和运算规则&使用三元运算符完成需求。
- 三元运算符
- 格式:关系表达式?表达式1:表达式2;
- 范例:a>b?a:b;
- 计算规则:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false,表达式2的值就是运算结果

- 案例1——两只老虎
- 需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg,200kg.请用程序实现判断两只老虎的体重是否相同。
- 分析:
1.定义两个变量用于保存老虎的体重,单位为kg,这里仅体现数值即可。
2.用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false
3.输出结果 - 关键代码:
int weight1=180;
int weight2=200;
boolean b = weight1 == weight2 ? true:false;
System.out.println("b:"+b);
- 案例2——三个和尚
- 需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm,210cm,160cm,请用程序实现获取这三个和尚的最高身高
- 分析:
1.定义三个变量用于保存和尚的身高,单位为cm,这里仅体现数值即可。
2.用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来
3.用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量进行保存
4.输出结果 - 关键代码:
int height1=150;
int height2=210;
int height3=160;
int tempHeight = height1 > height2 ? height1: height2;
int maxHeight = tempHeight > height3 ? tempHeight : height3;
System.out.println("maxHeight:"+maxHeight);
浙公网安备 33010602011771号