Java私塾跟我学系列――JAVA篇 第二章 基础语法

 

六、运算符                                                  

Java运算符很多,下面按优先顺序列出了各种运算符(“L to R”表示左到右结合,“R to L”表示右到左结合) 

分隔符

.  []  ()  ;   ,

右结合

++  --  -  !

左结合

*  /  %

左结合

+  -

左结合

<<   >>  >>>

左结合

<   >   <=   >=   instanceof(Java特有)

左结合

==    !=

左结合

&

左结合

^

左结合

|

左结合

&&

左结合

||

右结合

?:

右结合

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

注意:运算符的结合性决定了同优先级运算符的求值顺序 

1.算术运算                                                                            

算术运算是指:+、-、*/  等基本运算

 

需要注意的是:

%是求mod运算。(求余数或称求模运算)

整数的除法要小心:

5/2 = 2     //java的整数除法结果为整数,不是 2.5。其它语言可能不同

 

2.比较运算                                                                            

比较运算是指:><>=<===!= 等类似运算

 

需要注意的是:

字符可以比较大小;(用它们的ascii码,化为整数)

小心浮点数的相等或不等比较运算,最好避免;

instanceof也是一个比较运算用来判断一个对象是否属于某个类;(以后介绍)

==运算中,对于基本类型是比较的内容,而对于引用类型,比较的是地址(小心)

 

3.逻辑运算                                                                          

       运算符&& (定义为“与”)||(定义为“或”)执行布尔逻辑表达式。请看下面的例子:

MyDate d = null;

if ((d != null) && (d.day() > 31)) 

// 利用d执行些什么

形成if ()语句自变量的布尔表达式是合法且安全的。这是因为当第一个子表达式是假时,第二个子表达式被跳过,而且当第一个子表达式是假时,整个表达式将总是假,所以不必考虑第二个子表达式的值。类似的,如果使用||运算符,而且第一个表达式返回真, 则第二个表达式不必求值,因为整个表达式已经被认为是真。

4++---运算                                                                            

    ++运算相当于:运算的变量加1,如:x++ 等同于  x=x+1;

    --运算恰好相反,相当于运算的变量减1

注意x++   ++x 并不是一回事情。x++是先使用,然后再加;++x是先加然后再使用。

5=赋值运算                                                                            

    x=5相当于把5这个值赋给变量x

6.位运算                                                                            

    位逻辑运算符(Bitwise Logical Operations)。

&(与),|(或),~(取反),^(异或);  

位运算符示例: 

特别说明:

运算还可以用于逻辑运算,但它们是非短路运算符(即两边的表达式一定会计算的),而 &&  ||是短路的逻辑运算符(即如果由左边的表达式结果能够得知最终的结果,则不再对右边的表达式进行运算)。示例如下:

int i=6, j=8, k=10, m=7;

if(!(i>j & m>k++))

  k++;

k的结果为12,而如果将&改为&&,则k的结果为11

 

 Java私塾跟我学系列——JAVA  网址:http://www.javass.cn  电话:010-68434236

 

你可能感兴趣的:(java,职场,语法,休闲)