1.3 Java中的运算符

1.3.1 算数运算符

在数学运算中最常见的就是加减乘除,被称作四则运算。Java中的算术运算符就是用来处理四则运算的符号,这是最简单、最常用的运算符号。接下来通过一张表来展示 Java中的算术运算符及其用法。

算术运算符看上去都比较简单,也很容易理解,但在实际使用时还有很多需要注意的问题,接下来就针对其中比较重要的几点进行详细讲解,具体如下。

1.       在进行自增(++)和自减(--)的运算时.如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其他运算再进行自增或自减运算。

请仔细阅读下面的代码块,思考运行的结果。

int a=1;
int b=2;
int c=a+b++;
Systen.out.print("b="+b);
Systen.out.print("c="+c);

上面的代码块运行结果为:b=3.c=3.具体分析如下:

在上述代码中,定义了三个int 类型的变量 a.b.c,其中a=1.b=2。当进行“a+b++”运算时,由于运算符++写在了变量 b 的后面.会先运算再自增,因此变量 b在参与加法运算时其值仍然为 2.c 的值应为 3.变量b在参与运算之后会进行自增,因此 b的最终值为 3。

2.      在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数。如果除法运算有小数参与,得到的结果会是一个小数。例如.2510/1000 属于整数之间相除,会忽略小数部分.得到的结果是 2。而 2.5/ 10 的结果为0.25。

请思考下面表达式的结果是多少。

3500/1000*1000

上面表达式的运行结果为 3000。由于表达式的执行顺序是从左到右.所以先执行除法运算 3500 1000.得到结果为 3.再乘以 1000,得到的结果自然就是 3000。

3.        在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号.与模数(%右边的数)的符号无关。例如,(一5)%3 的结果为一2。而 5%(一3)的结果为2。

1.3.2 赋值运算符

赋值运算符的作用就是将常量,变量或表达式的值赋给某一个变量。接下来通过一张表来展示 Java 中的赋值运算符及其用法,如下:

运算符运算范例结果
=赋值a=3;b=2a=3;b=2
+=加等于a=3;b=2;a+=ba=5;b=2
-=减等于a=3;b=2;a-=ba=1;b=2
*=乘等于a=3;b=2;a*=ba=6;b=2
/=除等于a=3;b=2;a/ba=1;b=2
%=模等于a=3;b=2;a%=ba=1;b=2

需注意以下两个问题:

1.   在java中可以通过一条赋值语句对多个变量进行赋值。如下:

int x,y,z;
x=y=z=5;      //为三个变量同时赋值

注意下面这种写法在java中是不可以的:

int x=y=z=5;    //这样写是错误的,因为没有预先声明变量y、z的数据类型

2.    在上表中除了=,其他的都是特殊的赋值运算符,以+=为例,x+=3就相当与x=x+3,首先会进行加法运算x+3,再将运算结果赋值给变量x。其余的-=,*=,/=,%=赋值运算符都可以以此类推。

1.3.3比较运算符

用于对两个常量或变量的大小进行比较,其结果为布尔值。

运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于 4>3true
<=小于等于4<=3false
>=大于等于4>=3true

注:不要把比较符误写成赋值运算符

1.3.4 逻辑运算符

运算符运算范例结果
&true&truetrue
true&falsefalse
false&falsefalse
false&truefalse
|true|truetrue
true|falsetrue
false|falsefalse
false|truetrue
^异或true^truefalse
true^falsetrue
false^falsefalse
false^truetrue
!!truefalse
!falsetrue
&&短路与true&&truetrue
true&&falsefalse
false&&falsefalse
false&&truefalse
||短路或true||truetrue
true||falsetrue
false||falsefalse
false||truetrue

1.3.5  位运算符

运算符运算范例结果
&按位与0&00
0&10
1&11
1&00
|按位或0|00
0|11
1|11
1|01
~取反~01
~10
^按位异或0^00
0^11
1^10
1^01
<<左移00000010<<200001000
10010011<<201001100
>>右移01100010>200011000
11100010>>211111000
>>>无符号位移01100010>>>200011000
11100010>>>200111000

1.3.7 运算符的优先级

在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,通常把这种顺序称作运算符的优先级。如下,其中数字越小优先级越高。

优先级运算符
1.     [ ]     ( )
2++    --    ~    !
3*    /    %
4+    -
5<<    >>    >>>
6<    >     <=      >=
7==    !=
8&
9^
10|
11&&
12||
13?:
14=    *=    /=    %=    +=    -=    <<=    >>=    >>>=    &=    ^=    |=

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值