Java的运算符,Java的表达式

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类型
布尔类型不能转换成其他类型

三目运算符

原文地址:https://www.cnblogs.com/faberbeta/p/java-003.html