『JavaSE』运算符

算术运算符

Java支持所有基本的算术运算符:加,减,乘,除,求余,自加,自减等;

增量赋值运算符
+=
-=
*=
/=
%=

自增/自减运算符 ++ - -

public class Test{
	public static void main(String[] args){
		int numA = 10;
		int numB = ++numA;
		System.out.println("numB = ++numA: " + numB);  //numB = ++numA: 11
		numA = 10;
		int numC = numA++;
		System.out.println("numC = numA++: " + numC);  //numC = numA++:  10
	}
}

前置++和后置++的区别:
如果不取它们的返回值,二者没有任何区别。
如果取返回值,前置++返回的是自增后的值,后置++返回的是自增前的值。
Java中推荐使用后置++。

关系运算符

运算的结果为boolean类型 (true或fales)

等于==
不等于!=
大于>
小于<
大于等于>=
小于等于<=
取反

逻辑运算符

逻辑与&&
逻辑或||
逻辑非

短路求值
当&&的左操作数为假的时候,右操作数就不会进行判断,整个表达式直接为假。
当||的左操作数为真的时候,右操作数就不会进行判断,整个表达式直接为真。

位运算符

Java中对数据的最小单位不是字节,而是二进制位。位运算符主要有四个:

按位与&
按位或|
按位取反~
按位异或^
// & 按位将参与运算的数字转换为二级制数,相同位数进行与运算,全1为1,否则为0
System.out.println( 5 & 8);   //结果为0
/*
 *0101   5
 *1000   8
 *0000   0
 */

// | 将参与运算的数字转换为二级制数,相同位数进行或运算,有1则1,否则为0
System.out.println(19 | 10);  //结果为27
/*
* 10011	19
* 01010	10
* 11011	27
*/

// ^ 将参与运算的数字转换为二级制数,相同位数进行异或运算,不同为1,否则为0
System.out.println(19 ^ 10);//结果为25
/*
* 10011	19
* 01010	10
* 11001	25
*/

移位运算符

只能进行整数运算,将符号左边的数转换为二级制数,移动符号右边的位数

int a = 10;
System.out.println(a >> 2 );
//1010  10
//0010  2
<<左移运算符(最左侧位不要了,最右侧补0)
>>算数右移(最右侧位不要了,最左侧补符号位(正数补0,负数补1))
>>>逻辑右移(最右侧位不要了,最左侧补0)

①左移1位,相当于原数字 * 2。左移N位,相当于原数字 * 2的N次方。
②算数右移1位,相当于原数字 / 2。算数右移N位,相当于原数字 / 2的N次方。

条件运算符

表达式1 ? 表达式2 : 表达式3
//当表达式1的值为true时,整个表达式的值为表达式2的值;
//当表达式1的值为false时,整个表达式的值为表达式3的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值