详解Java表达式与运算符

久未见 提交于 2020-01-11 05:26:32

详解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表达式中,优先级高的运算符先参与运算,优先级低的运算符后参与运算。
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!