详解Java表达式与运算符
一、描述
变量的赋值与计算都离不开表达式,表达式的运算依赖于变量、常量和运算符。
二、java 表达式
表达式是由变量、常量和运算符的组合,它执行计算并返回计算结果。在表达式中运算符作用的变量或常量称为操作数。
分类:
1、赋值表达式
用于把等号右边的操作数赋值给等号左边的变量。
2、算术表达式
用于数值运算。
3、关系表达式
用于条件判断。
4、逻辑表达式
用于逻辑操作。
三、java 运算符
运算符用于连接表达式的操作数,并对操作数执行运算。
分类:
1、算术运算符
算术运算符用在算术表达式中,其作用和数学中的运算符相同,一般用于数值运算,可对操作数进行加减乘除、取余、自增和自减操作。
2、赋值运算符
赋值运算符是双目运算符,用在赋值表达式中。它的作用是将运算符右边操作数的值赋给运算符左边的变量。
赋值运算符分为两类,一类是简单赋值,一类是复合赋值。简单赋值是直接把运算符右边操作数的值赋给运算符左边的变量,运算符有“=”;复合赋值运算符复合赋值是先执行运算符指定的运算,然后再将运算结果赋值给运算符左边的变量。
3、关系运算符
关系运算符也是双目运算符,用于关系表达式。关系运算符对两个操作数进行比较,并返回比较结果,比较结果的值为一个布尔值(true或false)。
4、逻辑运算符
逻辑运算符连接两个关系表达式或布尔变量,用于解决多个关系表达式的组合判断问题,返回的运算结果为布尔值。
5、位运算符
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。
(1)与运算符
与运算符用符号“&”表示,其使用规律为,两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。
public class data13 {
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 与的结果是:"+(a&b));
}
}
运行结果
a 和b 与的结果是:128
下面分析这个程序:
“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。
(2)或运算符
或运算符用符号“|”表示,其运算规律为,两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
public class data14 {
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的结果是:"+(a|b));
}
}
运行结果
a 和b 或的结果是:129
下面分析这个程序段:
a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。
(3)非运算符
非运算符用符号“~”表示,其运算规律如为,如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。
public class data15 {
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的结果是:"+(~a));
}
}
(4)异或运算符
异或运算符是用符号“^”表示的,其运算规律为,两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。
public class data16 {
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 与 b 异或的结果是:"+(a^b));
}
}
运行结果
a 与 b 异或的结果是:13
分析上面的程序段:
a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。
四、Java 运算符的优先级
和数学中的运算符一样,Java运算符也存在优先级关系。在Java表达式中,优先级高的运算符先参与运算,优先级低的运算符后参与运算。
来源:CSDN
作者:放牛班的春夏秋冬
链接:https://blog.csdn.net/weixin_46110257/article/details/103820688