Java基础之运算符


一、算术运算符

+、-、*、/、%、++、- -

a++ 与 ++a 的区别:
a++:变量a先参与程序的执行,然后变量a自加1
++a:变量a自加1,再参与程序的执行

int a = 5;
int b = 5;
System.out.println("a:"+(a++)+", b:"+(++b));
System.out.println("a:"+a+", b:"+b);

a:5, b:6
a:6, b:6

二、比较运算符

>、<、>=、<=、==、!=

返回值为布尔类型

int a = 5;
int b = 5;
System.out.println(a == b);
System.out.println(a > b);

true
false

三、逻辑运算符

&&、||、!

操作符描述
&&逻辑与运算符。当且仅当两边表达式都为真,条件才为真。
||逻辑或操作符。两边任何一个为真,条件为真。
!逻辑非运算符

短路运算
表达式1 && 表达式2 : 如果表达式1为false,根据&&的规则,已经可以判断出整个表达式的结果,就不会继续判断表达式2;

表达式1 || 表达式2 : 如果表达式1为true,根据||的规则,已经可以判断出整个表达式的结果,就不会继续判断表达式2

问:以下程序的输出结果?

public static void main(String[] args) {
		if(tar(true)&&tar(false)) {
			
		}
	}
	static boolean tar(boolean b) {
		System.out.println(b);
		return b;
	}

true
false

public static void main(String[] args) {
		if(tar(false)&&tar(true)) {
			
		}
	}
	static boolean tar(boolean b) {
		System.out.println(b);
		return b;
	}

false

四、赋值运算符

+=、-=、*=、/=、%=、=

五、位运算符

操作符描述
&与,如果对应位都是1,则结果为1,否则为0
|或,如果对应位都是0,则结果为0,否则为1
^异或,如果对应位的值相同,则结果为0,否则为1
~非,按位取反运算符,二进制补码按位取反(包括符号位),即0变成1,1变成0
<<按位左移运算符,符号位不变,二进制补码按位左移,低位补0
>>按位右移运算符,符号位不变,二进制补码按位右移,低位舍弃
>>>按位无符号右移,低位舍弃,高位补0

注:不管是正数还是负数,在计算机中全部存储的是补码。
正数:原码=反码=补码,高位全部补0
负数:反码=符号位不变,原码取反;补码=反码+1,高位全部补1

~2=-3
~-2=1
9<<2=36
-9<<2=-36
9>>2=2
-9>>2=-3
-5>>>2=62
-9>>>2=61

问:“&”与“&&”的区别?

&是位运算符, 表示与运算。如果对应位都是1,则结果为1,否则为0
&&是逻辑运算符,表示逻辑与运算符。当且仅当两边表达式都为真,条件才为真。

六、三元运算符

?:
该运算符主要是决定哪个值应该赋值给变量。
(expression) ? value if true : value if false

public static void main(String[] args) {
		int a = 1;
		int b = 2;
		String c = (a > b) ? "yes" : "no";
		System.out.println(c);
	}

no

七、运算符优先级

运算符优先级,从左到右越来越低:
() ++ - - !
~ instanceof * / % + -
<< >> >>>
< > <= >= == !=
& ^ && || ?:
注:如果不确定运算符的优先级,可以使用小括号将需要先计算的代码括起来

已知a=1,计算:

(1) a+++1=2
(2) ++a+1=3
(3) a++-++a=-2
(4) a+++++a=4
(5) a+-a=0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值