Java的运算符,包括
- 赋值运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
Java算术运算符除了通常的
- 加(+)
- 减(-)
- 乘(*)
- 除()
还包括
- 取模运算(%)
- 自增(++)
- 自减(--)
运算。+,-,*,/ 比较简单,实验一下即可。
取模运算(%)意为取余数,只能适用于整数及char类型
i++ 和 ++i 在理论上的区别是:
- i++:是先把i拿出来使用,然后再+1;
- ++i :是先把i+1,然后再拿出来使用;
如 a= b + + 相当于a = b;b=b+1,即将b没有加1之前的值赋给a, 之后b 才加 1 ,此时a=b
如 a = ++b 相当于b=b+1,a=b 即b先加1,再将加1后的值赋给a, 此时a=b+1
赋值运算符分为两类
一类是简单赋值
- “=”
一类是复合赋值
- += >> a+=3 || a = a +3
- -= >> a-=3 || a = a -3
- *= >> a*=3 || a = a * 3
- /= >> a/=3 || a = a / 3
- %= >> a%=3 || a = a % 3
关系运算符
关系运算符也是双目运算符,用于关系表达式。
关系运算符对两个操作数进行比较,并返回比较结果,比较结果的值为一个布尔值(true或false)
关系运算符有6种
- “==”
- “!=”
- ">"
- "<"
- ">="
- "<="
逻辑运算符
逻辑运算符“&&”是双目运算符
逻辑运算符“||”是双目运算符
逻辑运算符“!”是单目运算符
位运算符
int a =10,b=5; System.out.println("&:" + (a & b)); System.out.println("^:" + (a ^ b)); 输出的结果是 0 15 10的二进制是1010 5的二进制是 0101 位运算与结果是0000,也就是0 位运算或结果是1111, 也就是15
表达式是由变量、常量和运算符的组合
求圆面积的公式就是一个表达式,
S =π* r *r;
- 其中S、r为变量
- π为常量
- *为运算符
表达式执行计算并返回计算结果。在表达式中运算符作用的变量或常量称为操作数。
在求圆面积的表达式中,乘号(*)为运算符,π和r为操作数。
在一些复杂的运算中,简单的表达式可以组合为复杂的表达式,其操作数本身可能就是一个表达式。例如:
(num1+num2)*(x+y)
上面的表达式中,运算符乘号(*)两边的操作数(num1+num2)和(x+y)本身就是一个表达式。
表达式的计算结果一般为数值,如果表达式是一个关系表达式或逻辑表达式,表达式会返回一个布尔值,即真或假。
根据运算符的不同,可以把表达式分为
- 赋值表达式
- 算术表达式
- 关系表达式
- 逻辑表达式
赋值表达式用于把等号右边的操作数赋值给等号左边的变量;
算术表达式用于数值运算;其结果是数值
关系表达式用于条件判断;其结果是true,flase
逻辑表达式用于逻辑操作。其结果是true,flase
逻辑运算符“!”是单目运算符
表达式的类型转换
只要坚持"以不流失数据为前提"的大原则,既可以进行不同的类型转换
使用不同的类型的数据,表达式都能继续存储
规则:
占用字节较少的数据类型转换成占用字节较多的数据类型,如字符类型转换成 int类型,int类型会转换成 float类型
表达式中若某个操作数的类型为 double,则另一个操作数也会转换成double类型
布尔类型不能转换成其他类型