算数运算符
运算符和表达式
- 运算符:对常量或者变量进行操作的符号
- 表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式
int a=10; int b=20; int c=a+b;
+:是运算符,并且是算术运算符
a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
算术运算符
字符的“+”操作
-
拿字符在计算机底层对应的数值来进行计算的
-
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升
提升规则:
字符串的“+”操作
-
当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算
-
在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。
System.out.println("it"+"heima"); // itheima
System.out.println("itheima"+666); // itheima666
System.out.println(666+"itheima"); //666itheima
System.out.println("黑马"+6+66); //黑马666
System.out.println(1+99+"年黑马"); //100年黑马
赋值运算符
- 注意:扩展的赋值运算符隐含了强制类型转换
int i=10;
i+=20; //30
short s=10;
//s=s+20 出错,因为s+20自动转换为int类型,而s对应的是short类型
s=(short)(s+20); //30
s+=20; //30
自增自减运算符
int i=10;
-
单独使用时
i++;
++i;
最终结果是一样的,都是+1 -
参与操作使用
int j=i++;
i=10,j=10;int j=++i;
i=11,j=11 -
注意事项
-
最常见的用法:单独使用
关系运算符
- 注意事项
关系运算符的结果都是boolean类型,要么是true,要么是false,千万不要把“==”误写成“=”,否则就变成了赋值运算。
逻辑运算符
逻辑运算符
短路逻辑运算符
- 注意事项
–逻辑与&,,无论左边真假,右边都要执行
–短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行
–逻辑或|,无论左边真假,右边都要执行
–短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
–最常用的逻辑运算符是:&&,||,!
三元运算符
-
格式:
关系表达式?表达式1:表达式2;范例: a > b ? a : b; 执行流程: 首先计算关系表达式的值 如果值为true,表达式1的值就是运算结果 如果值为false,表达式2的值就是运算结果
-
案例:两只老虎
-
案例:三个和尚
public class OperatorTest02 {
public static void main(String[] args) {
//1:定义三个变量用于保存和尚的身高,单位为cm,这里仅仅体现数值即可。
int height1 = 150;
int height2 = 210;
int height3 = 165;
//2:用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。
int tempHeight = height1 > height2 ? height1 : height2;
//3:用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。
int maxHeight = tempHeight > height3 ? tempHeight : height3;
//4:输出结果
System.out.println("maxHeight:" + maxHeight); } }