Java中的运算符

位运算符


位运算符直接基于底层位处理运算,效率最高。

运算符运算说明
<<左移末位补0,被移除的最高位丢弃
>>右移原高位是几补几
>>>无符号右移高位补0
&按位与转成二进制进行与运算,全1为1
|按位或转成二进制进行或运算,有1出1
^异或转换成二进制进行异或运算,相同为0,不同为1
~取反所有二进制取反

注意:没有<<<运算符。

算术运算符


运算符运算范例结果
+正号+33
-负号b=4;-b;-4
+正号5+510
-减号6-42
*乘号3*618
/除号5/31
%取余5/32
++自增(前):先自增再运算
自增(后):先运算再自增
a=2;b=++a;
a=2;b=a++;
a=3;b=3
a=3;b=2
--自减(前):先自减再运算
自减(后):先运算再自减
a=2;b=--a;
a=2;b=a--;
a=1;b=1
a=1;b=2
注意:
  1. 如果对负数取余,符号不计:5%-2=1。但被取余数是负数,则需考虑符号:-5%2=-1。
  2. 除运算需要考虑参与运算的数据类型:5/2=1,但5.0/2=2.5,5/2.0=2.5。
  3. “+”还能进行字符串的拼接:System.out.println(“5+5=”+5+5); 结果为5+5=55

赋值运算符


顾名思义,赋值运算符是给变量赋值的运算符。常见的赋值运算符有:=、+=、-=、*=、/=、%=。

  1. java中支持连续赋值,a=b=c=10;这三个变量的值均为10;
  2. 当赋值运算符两侧运算的数据类型不一致时,可以使用自动转换类型或强制类型转换来处理。
int n = 10;
n += 20;		// n = 30,相当于n = n + 20;

short a = 10;
a += 20;		// 编译通过,a = 30;
a = a + 20;		// 编译失败,20是整型字面量,默认为int型

比较运算符


运算符运算范例结果
==相等4 == 3false
!=不相等4 != 3true
<小于4 < 3false
>大于4 > 3true
<=小于等于4 <= 3false
>=大于等于4 >= 3true
instanceof属于(类)“hi” instanceof Stringtrue

注意:比较运算符的结果都是boolean类型

逻辑运算符


逻辑运算符有三个:逻辑与、逻辑或、非。

aba && ba || b !
truetruetruetrue
truefalsefalsetrue
falsetruefalsetrue
falsefalsefalsefalse
truefalse
false true
注意:逻辑运算存在短路,即
int x = 1;
int y = 1;

if(x++ == 2 && ++y == 2)
	x = 7;
System.out.println("x = " + x + ", y = " + y);	// x = 2, y = 1。由于运算符之前的结果已经为false,所以不做++y。

int x = 1;
int y = 1;
if(x++ == 1 || ++y == 1)
	x = 7;
System.out.println("x = " + x + ", y = " + y);	// x = 7, y = 1。由于运算符之前的结果已经为true,所以不计算++y。

三元运算符


格式:(条件表达式) ? 条件为真,表达式1 : 条件为假,表达式2;

int a = (3 > 5) ? 3 : 5;	// a = 5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值