Java运算符

Java运算符按照其要求的操作数数目来分,可以分为单目运算符、双目运算符和三目运算符,它们分别对应1个、2个和3个操作数。运算符按其功能来分,可以分为赋值运算符、算数运算符、关系运算符、逻辑运算符、位运算符和其它运算符。

1.算数运算符

1.在Java中,使用算数运算符+、- 、* 、/ 表示加、减、乘、除运算。当参与 / 运算的两个操作数都是整数时,表示整数除法;否则,表示浮点数除法。整数的求余操作(取模)用 % 表示,例:
17/2 = 7 ,17.0/2 = 8.5 ,17%2 = 1
注:(1). 整数被0除会产生一个异常,而浮点数被0除则将会得到无穷大或NaN结果。
(2). 可以在赋值语句中采用一种简化的格式书写二元运算符,例:
x += 4; 等价于 x =x+4 ;

2.自增运算符和自减运算符
自增运算符和自减运算符都有两种形式(n++和++n 、n–和--n)。
n++:先赋值,再n+1;
++n:先n+1,再赋值;
例:

int a=5;
int b=5;
int x=a++; // x=5,a=6
int y=++a; // y=6,a=6

同理:n–和--n的运算方式和它们一样。

2.关系运算符和逻辑运算符

1.Java关系运算符主要包括==、!=、<=、>=、>、<

2.Java逻辑运算符主要包括逻辑“与 ” && 、逻辑“或” || 、逻辑“非”! 。&& 和 || 是按照“短路”方式求值的,即,如果第一个操作数已经能够确定表达式的值,第二个操作数就不必 计算了。例如:

int x=0;
if(x++=0 && ++x=2);
System.out.println(x); // x=2;
if(x++=1 && ++x=2);
System.out.println(x); // x=1;

3.Java支持三元操作?:(三目运算符)。表达式为:
condition?expression1 : expression2
当条件condition为真时计算第一个表达式的值,否则计算第二个表达式,例如:

int a=x < y ? x : y ; // 返回x和y中较小的那个值

3.位运算符

Java位运算符主要包括:&、|、^、~、>>、<<、 >>>

1.按位“与” & (有0为0)
10&7 = 2 :
10 0000 1010
7 0000 0111
2 0000 0010

2.按位“或” | (有1为1)
10|7 = 15 :
10 0000 1010
7 0000 0111
2 0000 1111
注:& 和 | 运算符应用于布尔值,得到的结果也是布尔值。这两个运算符与 && 和 || 的运算非常类似,只是不按照“短路”的方式计算。即,在得到结果之前,一定要计算两个结果的值。

3.按位“异或” ^ (相同为0,不同为1)
10^7 = 13 :
10 0000 1010
7 0000 0111
13 0000 1101

4.“非” ~ (按位取反)

5.右移 >>, 左移 <<
10>>1 = 5 右移一位(高位补符号位 )
10 0000 1010
5 0000 0101
10<<1 = 20 左移一位(低位补0)
10 0000 110
20 0001 0100
注:>>>(右移)运算符将用0填充高位;>>运算符用符号位填充高位。没有<<<运算符。

4.运算符优先级

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值