java运算符小结

发布时间 2023-10-07 20:44:03作者: 醉不在意

一、算术运算符

               1. + :加法运算符/字符串连接符

               2.  - :减法运算符

               3.  * :乘法运算符

               4. / :除法运算符

               5. % :取余/取模运算符

     注 :1、java中两个整数相除,结果只保留整数部分,丢弃小数部分;

            若想保留小数部分:(1)使用强制转换,将其中一个操作数转换为double类型  

                                             (2)让其中一个操作数乘以 1.0 (推荐使用)

             2、0不能作为除数

             3.只要+两边有一个操作数是字符串类型,则该+代表字符串连接符,否则代表加法算术运算符

     例 : 将3666秒钟(整数)转换为时分秒 : 转换为时:3666/3600 = 1hour

                                                                                             3666%3600/60 = 1min(minute)

                                                                                             3666%60 = 6sec(second)

二、关系(比较)运算符

               1. >  : 表示是否大于运算符                   2. >= : 表示是否大于等于运算符

               3. <  :  表示是否小于运算符                4. <=  : 表示是否小于等于运算符

               5. ==  :表示是否等于运算符                6. !=  : 表示是否不等于运算符

        注 :以关系运算符作为最终运算的表达式结果一定是boolean类型(结果只有true/false)

三、自增减运算符

               1. ++ : 表示自增运算符,用于使当前变量自身的数值加1

               2. -- : 表示自减运算符,用于是当前变量自身的数值减1

        注 :1、 自增运算符只能用于变量,不能用于常数   

                2、int ia = 10;(声明一个变量ia并初始化)                                

                     ia++ / ++ia; (表示给ia的数值加1,并覆盖原来的数值)   

                     其中ia++这个整体叫做表达式,ia叫做变量(操作数), 两者表示不同的含义,因此所占的内存空间也不同

                     前++与后++的区别 : 后++是指先把ia的值作为ia++整个表达式的结果,然后再给ia变量自身的值加1;

                                                         前++是指先给ia变量自身的数值加1,然后再把变量的数值作为++ia整个表达式的结果

四、逻辑运算符

                作用:主要用于连接多个关系运算符作为最终的表达式,用于实现多条件的连接

                1、&&:表示逻辑与运算符,相当于“并且”,同真为真,一假为假   

                2、||:表示逻辑或运算符,相当于“或者”,一真为真,同假为假

                3、!:表示逻辑非运算符,相当于“取反”,真为假,假为真

         注:逻辑运算符的短路特性:对于&&运算符来说,若第一个表达式为假则为假,此时跳过第二个表达式

                                                        对于||运算符来说,若第一个表达式为真,此时跳过第二个表达式

五、条件(三目)运算符

               1、语法格式:条件表达式?表达式1:表达式2

               2、判断条件表达式是否成立,若成立,则执行表达式1,否则执行表达式2

               (适用于两个数找最大值)例:int max = (ia > ib)?ia:ib

六、赋值运算符

               1、=:表示赋值运算符,用于将等号右边的数据赋值给等号左边的变量,并覆盖变量原来的数值

               2、复合赋值运算符:+=、-=、*=、/=......

               3、赋值表达式本身也有值,其本身之值即为所赋之值     例:ia = 5;整体叫做赋值表达式,值为5

       注:例:byte b1 = 10;b1 += 2;等价与 b1 = (byte)(b1 + 2);

                     若编译器默认的整数类型为int,那么上述表达式仍然成立,但是 b1 = b1 + 2;/b1 = b1 + (byte)2;都会报错!!!

七、移位运算符

               1、<<:左移运算符,用于将数据的二进制位向左移动,右边使用0补充

               2、>>:右移运算符,用于将数据的二进制位向右移动,左边使用符号位(非负数为0,负数为1)补充

               3、>>>:逻辑又移运算符,用于将数据的二进制位向右移动,左边使用0补充(不考虑符号)

      注 : 左移一位相当于当前整数的数值*2,左移两位相当于当前整数的数值*4……以此类推

               右移一位相当于当前整数的数值/2,右移两位想当与当前整数的数值/4……以此类推

               逻辑右移,对于非负数来说,逻辑右移和右移的效果一致

八、位运算符(可以把1当做真,0当作假)

              1、&:按位与运算符,按照二进制位进行与运算,同1为1,一0为0

              2、|:按位或运算符,按照二进制位进行或运算,一1为1,同0为0

              3、~:按位取反运算符,按照二进制位进行取反,1为0,0为1

              4、^:按位异或运算符,按照二进制为进行异或运算,同为0,不同为1

九、运算符的优先级:()的优先级极高,=的优先级极低,如果无法确认优先级,则使用()来确保即可。

         

从上往下优先级一次降低!!!

 十、总结

      1.算术运算符 :+ - * / %

      2.字符串连接符 :+

      3.关系运算符 :> >= < <= == !=

      4.自增减运算符:++  --

      5.逻辑运算符 :&&  ||  !

      6.条件(三目)运算符 :条件表达式?表达式1:表达式2

      7.赋值运算符 :=  +=  -=  *=  等等

      8.移位运算符 :<<  >>  >>>

      9.位运算符 :&  |  ^  ~

      10.运算符优先级:三句话!