- 运算符:对常量或者变量进行操作的符号
- 表达式:用运算符爸常量或者变量连接起来符合Java语法的式子就可以称为表达式
不同运算符连接的表达式体现的是不同类型的表达式。
- 举例说明:int a = 10;
int b = 20;
int c = a + b;
+:是运算符,并且是算数运算符
a +b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。
1.2算数运算符| 符号 | 作用 | 说明 |
|---|---|---|
| + | 加 | 参考小学一年级数学课本 |
| - | 减 | 参考小学一年级数学课本 |
| * | 乘 | 参考小学二年级数学课本 |
| / | 除 | 整数/整数只会得到整数,若果想要得到小数,必须要有浮点数的参与 |
| % | 取余 | 获取的是两个数据做除法的余数 |
拿字符在计算机底层对应的数值来进行计算的
- 算数表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
提升规则:
-
byte类型,short类型和char类型被提升到int类型
-
整个表达式的类型自动提升到表达式中最高级操作同样的类型
等级顺序:byte,short,char—>int—>long—>float—>double
- 当“+”操作出现字符串时,这个“+”是字符串连接符,而不是算数运算
范例:
public static void main(String[] args) {
System.out.println("大源源"+"孔也吉娜");
System.out.println("大源源孔也吉娜"+666);
}
运行结果为:孙宗源孔也吉娜
孙宗源孔也吉娜666
- 在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算数运算。当连续进行“+”操作时,从左到右逐个执行。
范例:
public static void main(String[] args) {
System.out.println(1 + 99 + "年良人");
}
运行结果为:100年良人
2.赋值运算符 2.1赋值运算符| 符号 | 作用 | 说明 |
|---|---|---|
| = | 赋值 | 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 |
注意事项:
扩展的赋值运算符隐含了强制类型转换。
3.自增自减运算符 3.1自增自减运算符| 符号 | 作用 | 说明 |
|---|---|---|
| ++ | 自增 | 变量的值+1 |
| – | 自减 | 变量的值-1 |
注意事项:
-
++和–既可以放在变量的后面,也可以放在变量的前面
-
单独使用的时候,++和–无论是放在前面还是后面,结果是一样的。
-
参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–。
参与操作的时候,如果放在变量的前面,先拿变量做++或者–,后拿变量参与与操作。
| 符号 | 说明 |
|---|---|
| == | a==b,判断a和b的值是否相等,成立为true,不成立false |
| != | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
| > | a>b,判断a是否大于b,成立为true,不成立为false |
| >= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
| < | a |
| <= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”
5.逻辑运算符 5.1逻辑运算符概述在数学中,一个数据x,大于3,小于6,我们可以这样来表示:3 在Java中,需要把上面的式子先进行拆解,再进行合作表达。 &&其实是一个逻辑运算符。 我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。 当然,逻辑运算符也可以直接连接布尔类型的常量或者变量。 注意事项: 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。 计算规则: 首先计算关系表达式的值 如果值为true,表达式1的值就是运算结果 如果值为false,表达式2的值就是运算结果 输出结果为:max:20
5.3短路逻辑运算符
符号 作用 说明 & 逻辑与 a&b,a和b都是true,结果为true,否则为false | 逻辑或 a|b,a和b都是false,结果为false,否则为true ^ 逻辑异或 a^b,a和b结果不同为true,相同为false ! 逻辑非 !a,结果和a的结果正好相反 符号 作用 说明 && 短路与 作用和&相同,但是又短路效果 || 短路或 作用和|形同,但是有短路效果 public static void main (String[] args){
//定义两个变量
int a = 10;
int b = 20;
//获取两个数据中的较大值
int max = a > b ? a:b;
//输出结果
System.out.println("max:"+max);
}
public static void mian (String[] args){
//1.定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可
int weight1 = 180;
int weight2 = 200;
//2.用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false
boolean b == weight1 == weight2 ? true : false;
//输出结果
System.out.println("b:"+b);
}
6.3案例二
public static void main (String[] args){
//1.定义三个变量用于保存和尚的身高,单位cm,这里仅仅体现数值
int height1 = 150;
int height2 = 210;
int height3 = 165;
//2.用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。
int tempHeight = height1 > height2 ? height1 : height2;
//用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存
int maxHeight = tempHeight > height3 ? tempHeight : height3;
//4.输出结果
System.out.println("maxHeight:"+maxHeight);
}



