黑马程序员__操作符

来源:互联网 发布:linux高精度sleep方法 编辑:程序博客网 时间:2024/06/05 17:11

            ------- android培训java培训、期待与您交流! ----------

  

   任何一门编程语言,在对数据进行处理时,都离不开操作符的应用。本篇博文将带领大家

对java语言的相关操作符进行统一且全面的认识与掌握。

   一般来讲,按照操作符所要操作的操作的对象的个数来分,可分为一元操作符,二元操作符,

以及三元操作符。

 1.常见的一元操作符有以下几种:

          -         取反操作符    ag: -x         ! 

         ~         逐位取反        ag:~x  

        ++        自增               ag:++x

         --         自减               ag:--x

1.1一元操作符中常见的应注意的问题:

   ++与--既可以作为前置运算符,也可以作为后置运算符。并且前置和后置应该注意区分,

例如以下表达式:

int x=1,i=2,b=4;x=i++;//运算完之后x的值为2,i的值为3x=--b;//运算完之后x的值为3,b的值为3
<span style="font-size:18px;">当++与--前置时,先自增或自减,再参与运算,后者则相反。</span>
<span style="font-size:18px;"></span> 


 

2.常见的二元操作符有以下几种:

        %           取模运算       ag:a%b           <      小于            ag:3<4

        +            加法运算       ag:a+b            >      大于            ag:4>3

        /             除法运算       ag:a/b            <=    小于等于      ag:3<=4

        &           与运算           ag:a&b           >=    大于等于     ag:4>=3  

        |             或运算          ag:a|b             ==    等于             ag:3==3            

        ^            异或运算       ag:a^b            !=     不等于          ag:3!=4

       >>>        逻辑右移       ag:a>>>b        &&    短路与         ag:a&&b

        >>         算术右移       ag:a>>b           ||      短路或          ag:a||b   

        <<         左移              ag:a<<b           !          非              ag: !a

2.1二元运算符中常见的应注意的问题:

(1)对于操作符'/'来说,当操作元都为整数时,运算结果为商的整数部分。

int a=15/4;//结果为3int b=-12/7;//结果为-1
 

(2)对于取模操作符'%'来说,当操作元都为整数时,运算结果为整数除法运算的余数部分。

int a=12%5;//运算结果为2int b=-12%5//运算结果为-2


(3)“==”和“!=”的操作元可以是基本类型也可以是引用类型。

(4)短路操作符与非短路操作符的区别在于:对于短路操作符,如果能根据操作符左边的布尔

表达式就能推算出整个表达式的值,那么将不会执行右边的表达式。而非短路则永远都会执行完。

(5)对于操作符’+‘作为字符串连接操作符,如果操作元中有一个为string类型,那么另外一个可

以是任意类型,不过这个操作元将转换为字符串类型。如果是引用类型,将调用该对象的tostring

方法。

 

3.java中有一个比较特许的三元操作符”?:“。它的格式为:

   布尔表达式  ? 表达式1:表达式2.

运算的过程是,布尔表达式为真,则执行表达式1,否则执行表达式2.

例如以下代码

int a=1,b=2;int c=a<b?a++:b++;//c为真,所以a++将被执行


4.比较''=="操作符与对象的equals操作符

   操作符"=="通常用于比较两个操作元是否相等,这两个比较的操作元除了可以是基本

操作符之外,还可以是引用类型,当”==“操作符两边都是引用类型时,只有这两个引用

同时引用同一个对象,比较的结果才为真。例如以下代码:

Integer a=new Integer(1);Integer b=new Integer(1);Integer c=b;boolean x=a==b;//x为false;a,b指向不同对象x=c==b//x为true//c,b指向同一对象


在java的object类当中定义了一个用于比较的方法,equals方法,通常用于两个对象之间做

比较,由于java中所有的类都继承了object,所以也相应继承了equals方法,此方法的定义

以及比较规则如下:

      public  boolean equals(object obj)

当参数obj引用的对象与当前对象为同一个时,返回true,否则返回false。

 

 

0 0