java基本语法——运算符

一、算术运算符

运算符

运算

范例

结果

+

正号

+3

3

-

负号

b=4; -b

-4

+

5+5

10

-

6-4

2

*

3*4

12

/

5/5

1

%

取模

5%5

0

++

++

自增(前):先运算后取值

自增(后):先取值后运算

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

+

字符串相加

“He”+”llo”

“Hello”

注意:

1.如果对负数取模,可以把模数负号忽略不记,如:5%-2=1;但被模数是负数就另当别论,例如:-21%5=-1。

2.对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:

int x=3510;
x=x/1000*1000;         //x的结果是3000

3.“+”除字符串相加功能外,还能把非字符串转换成 字符串.例如:

System.out.println("5+5="+5+5); //打印结果是5+5=55

三、赋值运算符

  1. 符号:=
  2. 作用:将数据、变量或对象赋值给相应类型的变量。例如:
    int i = 75;    //将数据赋值给变量
    
    long l = i;    //将变量赋值给变量
    
    Object object = new Object();       //创建对象
  3. 扩展赋值运算符: +=, -=, *=, /=, %=

三、比较运算符

运算符

运算

范例

结果

==

相等于

4==3

false

!=

不等于

4!=3

true

<

小于

4<3

false

>

大于

4>3

true

<=

小于等于

4<=3

false

>=

大于等于

4>=3

true

instanceof

检查是否是类的对象

“Hello”  instanceof  String

true

注意:

1.比较运算符的结果都是boolean型,也就是要么是true,要么是false。

2.比较运算符“==”不能误写成“=” 。

四、逻辑运算符

运算符

运算

范例

结果

&

AND()

false & true

false

|

OR()

false|true

true

^

XOR(异或)

true^false

true

!

Not()

!true

false

&&

AND(短路)

false&&true

false

||

OR(短路)

false||true

true

注意:

1.逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 && x<6 。

2.“&”和“&&”的区别:

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

3.和“||”的区别同理,双或时,左边为真,右边不参与运算。

4.异或( ^ )与或( | )的不同之处是:对于 ^ 而言,当左右都为true时,结果为false。

五、位运算符

位运算符

运算符

运算

范例

<<

左移

3 << 2 = 12 --> 3*2*2=12

>>

右移

3 >> 1 = 1  --> 3/2=1

&

按位与

6 & 3 = 2

|

按位或

6 | 3 = 7

^

按位异或

6 ^ 3 = 5

~

按位取反

~9=6

位运算符的细节

<<

被移除的高位丢弃,空缺位补0。

>>

被移位的二进制最高位是0,右移后,空缺位补0;

最高位是1,空缺位补1。

&

二进制位进行&运算,只有1&1时结果是1,否则是0;

|

二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;

^

相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0

不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1

~

二进制位进行~运算,0修改为1,1修改为0

注意:位运算是指直接对二进制位进行运算

六、三元运算符

格式:

(条件表达式)?表达式1:表达式2;

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

例如:

int store = 12;

System.out.println(store<=5?"库存不足!":"库存量:"+store);       //输出结果为库存量:12

以上代码等价于如下的“if…else”语句:

int store = 12;

if (store<5){

   System.out.println("库存不足!");

}else{

   System.out.println("库存量:"+store);

} 

注意:

    三元运算符“?:”中的表达式1和表达式2,只有其中一个被执行。例如:

int x = 5,y = 7;
System.out.println(x>y?x++:y++); //输出结果为7
System.out.println("x="+x);    //x的值为5
System.out.println("y="+y);    //y的值为8

七、Java中运算符的优先级与结合方向

优先级

运算符

描述

结合性

1

.、[]、( )

域、数组、括号

从左至右

2

++ 、--、-、!

一元运算符

从右至左

3

*、/、%

乘、除、取余

从左至右

4

+ 、-

加、减

从左至右

5

<< 、>> 、>>>

位运算

从左至右

6

< 、<=、>、>=

逻辑运算

从左至右

7

== 、!=

逻辑运算

从左至右

8

&

按位与

从左至右

9

^

按位异或

从左至右

10

|

按位或

从左至右

11

&&

逻辑与

从左至右

12

||

逻辑或

从左至右

13

?:

条件运算

从右至左

14

=、*=、/=、%= 、+=、-=、<<=、>>=、>>>=、&=、^=、|=

位运算

从右至左

 

猜你喜欢

转载自blog.csdn.net/sunshinecollege/article/details/81978618