Java中的运算符

Java中的运算符,第1张

Java中的运算

按功能划分主要运算符如下:

算术运算符+ , - , * , / , ++ , -- , %关系运算符< , <= , > , >= , == , != 布尔运算符&& , || , & , | , !位运算符

& , | , ~ , ^ , >> , >>> , <<

&         按位与(真真为真,真假为假)

|          按位或 (假假为假,其余为真)

^         按位异(相同为假,不同为真)

~         按位非(真则假,假则真)

>>       右移

>>>     右移,左边空出的为以0填充

<<       左移

赋值类运算符= , += , -= , *= , /= , %=字符串连接运算符+条件运算符?:其他运算符instanceof,new

1、算数运算符

     + , - , * , / , % ,++ , -- 

     *   ++,-- 运算符

         -   可以出现在变量前和变量后,无论出现在前还是后,只要运算符结束,该变量中的值一定会自加1或自减1。

         -   ++ , -- 出现在变量后,先做赋值运算,再对变量中保存的值进行自加1或自减1。

             ++ , -- 出现在变量前,先对变量中保存的值进行自加1或自减1,再做赋值运算。

2、关系运算符

      < , <= , > , >= , == , != 

      *   = 是赋值运算符, == 是关系运算符,关系运算符的结果一定是布尔类型:true/false。

      *   关系运算符的运算原理:

         int a = 10;

         int b = 10;

         a > b  比较的时候,比较的是a中保存的10这个值和b中保存的10这个值的大小比较。

3、逻辑运算符

      &  逻辑与, |  逻辑或, !, ^ , &&  短路与, ||  短路或

      *   逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型。

      *    短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象。

           短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象。

      -   逻辑与:

int x = 10;
int y = 8;
System.out.println( x < y & ++x < y);
System.out.println(x);

         输出结果为   false        

                               11

       -   短路与:

int x = 10;
int y = 8;
System.out.println( x < y && ++x < y);
System.out.println(x);

          输出结果为  false

                               10

           x < y 结果是false,整个表达式结果已经确定是false,所有后面的表达式没有再执行,这种现象被称为短路现象,短路与才会有短路现象。

        -   什么情况下会发生短路或,短路与?

            第一个表达式执行结果是true,会发生短路或。

            第一个表达式执行结果是false,会发生短路与。

4、赋值类运算符

      基本的赋值运算符      =

      扩展的赋值运算符     += -= *= /= %=

    *   赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量。

    *   注意以下代码:

           byte i = 10;

           i += 5;   等同于    i = (byte) (i+5);

       结论:扩展类的赋值运算符不改变运算结果类型。假设最初这个变量的类型是byte类型,无论怎么进行追加或追减,最终该变量的数据类型还是byte类型。

5、字符串连接运算符

           +

      *   当“+”运算符两边的数据都是数字的话,一定是进行加法运算。

          当“+”运算符两边的数据只要有一个数据是字符串,一定会进行字符串连接运算,并且连接运算之后的结果还是一个字符串类型。

         简单来说:数字 + 数字 ——> 数字            (求和)

                          数字 + “字符串” ——> “字符串” (字符串连接)

       *   在一个表达式当作可以出现多个“+”,在没有添加小括号的情况下,遵循自左向右的顺序依次运算。

6、三元运算符/三目运算符/条件运算符

       *   语法规则:

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

       *   三元运算符的执行原理:

             当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。

             当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5636729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存