怎么在JAVA中运算表达式

Python017

怎么在JAVA中运算表达式,第1张

Java表达式是变量、常量、运算符、方法调用的序列,它执行指定的计算并返回某个确定的值。

其中,运算符按操作数的数目:有一元运算符(++、--)、二元运算符(+、-、>等等)和三元运算符(?:),它们分别对应一到三个操作数。

表达式一般按运算符来分:

算术表达式(float x=8.3f、i++)、

关系表达式(3>7、3<7)、

布尔逻辑表达式((5>4)&&true、!false)、

位运算表达式(a=34^3)、

赋值表达式、

条件表达式(b=100>89?a=ture:a=false)

以及复合表达式。

还有一种叫“表达式语句”,就是在表达式后加上分号作为语句来使用。(int i=123)

java 表达式,由变量,literal和运算符号组合而成.java 总共提供大约30种操作符.下面一一介绍.

1、算术运算

算术运算符有+,-,*,/,% 五种。对于整数来说,算术运算符得到的结果只会是int,为什么呢?因为怕运算完后的结果会超出原来数据类型的范围.

2、比较运算

比较运算符有大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==)和不等于(!=).比较运算的结果一定只有两种,true或false,也就是boolean类型的literal.

不是只有数据才能比较大小,字符也可以,另外等于和不等于也可以用在非基本数据类型之间,如类,对象,字符串,数组等.String的比较不能直接用==.因为它是一个类,不是一种数据类型.

3、逻辑运算

逻辑运算符有与“&&”,或“||”,非“!”,其中“”和“”是短路逻辑操作符。逻辑运算还有“&”“|”“^”等三个按操作符。

4、递加、递减运算

递加“++”,递减“--”,这个与C的语法一样,在使用递加、递减时要特别注意它是放在变量的前面还是后面。如果是如“++a”,java会先将a的值加加,再把新的数值拿去做别的运算。而如果是“a++”的话相反,先把a的值拿去做运算后再将a的值++写入内存。“--”的做法也是一样。

5、赋值运算

“=”是赋值操作符。通常把“=”称为赋值,而不称作等于。赋值操作符的优先级是所有操作符中最低的.还要注意赋值运算的自动类型转换是放大类型转换,不是缩小类型转换,否则编译时要报错.

6、位运算

其中三种“&”“|”“^”其实已经在逻辑运算中提到,另外还有就是互补“~”,“~”有点像逻辑非“!”,只不过“!”用在boolean类型,而“~”用在int类型,也就是按位取反。

7、位移运算

右移“>>”和左移“<<”。另外还有无符号的右移“>>>”,跟右移运算类似,不过不管正负数,全在左边缺少的地方补0,注意它只能用在int,long。

综上,表达式有双重功能,执行表达式的运算和返回值。下表说明了Java操作符的优先级:

后缀操作符 [] . (params) expr++ expr--

一元操作符 ++expr --expr +expr -expr ~ !

新建 new (type)expr

乘除 * / %

加减 + -

移位 <<>>>>>

关系 <><= >= instanceof

等 == !=

位与 &

位异或 ^

位同或 |

逻辑与 &&

逻辑或 ||

条件 ? :

赋值 = += -= *= /= %= &= ^= |= <<= >>= >>>=

举个简单例子吧。

int a=1int b=2int c= a>b?1:0,结果c 为0。a>b 为条件,后面当条件为true时返回":"前面的结果,反之返回":"后面的结果。

三元运算符是软件编程中的一个固定格式,语法是“条件表达式?表达式1:表达式2”。使用这个算法可以使调用数据时逐级筛选。

语法为:条件表达式?表达式1:表达式2。

说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。其逻辑为:“如果为条件成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)