课程链接:bilibili黑马程序员
一、算数运算符
(一)算数运算符介绍
- 加+ 减- 乘*
如果有小数参与,结果可能不是精确的
System.out.println(1.1+1.01);//2.1100000000000003
- 除/
整数参与结果只能是整数,小数参与结果可能不是精确的
System.out.println(10.0/3);//3.3333333333333335
- 整除%
(二)隐式转换和强制转换
- 隐式转换
把取值范围小的数值,转换成取值范围大的数据
byte-short-int-long-float-double
- 取值范围小的,和取值范围大的进行运算,小的先提升为大的再进行运算
- byte short char在运算时都会先提升为int再计算
- 强制转换
把取值范围大的数据赋值给取值范围小的数据时需要强制转换,但是超出范围会出现错误
double a = 10.0;
int b = (int)a;//b=10
+=、-=、*=、/=都隐藏了强制类型转换
(三)字符串相加
当”+“两端出现字符串时,“+”变为字符串连接符,将两者进行拼接,形成一个新的字符串,如果有连续加法,从左至右进行
System.out.println(1 + 2 + "abc" + 2 + 1);//3abc21
二、赋值运算符
作用 | 符号 |
---|---|
等于 | == |
不等于 | != |
大于 | > |
大于等于 | >= |
小于 | < |
小于等于 | <= |
三、逻辑运算符
作用 | 符号 |
---|---|
且 | & |
或 | 竖线 |
异或 | ^ |
非 | ! |
异或:相同为false,不同为true
- 短路逻辑运算符:首先判断左侧表达式,如果能确定结果,则右侧表达式不执行
作用 | 符号 |
---|---|
或 | 两个竖线 |
且 | && |
四、三元运算符
int a = 20;
int b = 10;
System.out.println(a > b ? a : b);//20