zoukankan      html  css  js  c++  java
  • 运算符

    算数运算符

    1、算数运算符的种类: + - * / %

    2、+运算符的两个作用:加法运算符和连接符(让任何的数据都可以与字符串进行拼接)

      连接符注意点:任何类型的数据与字符串使用连接符连接,那么结果都是字符串类型的数据。

    3、/的结果的类型与大数据类型一致。

    4、%的结果符号,取决于被除数的符号。

    自增自减运算符

    1、种类:++(自增)和 --(自减)。

    2、形式:++或者--在前:先自增后使用。

         ++或者--在后:先使用后自增。

    3、后自增在jvm的运行原理:因为后自增要使用 到没有+1之前 的值,那么jvm会先声明一个变量用于保存没有+1之前的值。

    如:int j = 1;
        j = j--;

    最后j的值位1。计算过程如下:

              int temp = j;

              j = j+1;

              j = temp;

    赋值运算符

    1、种类:=   +=   -=   /=   %=

    2、赋值运算符会进行自动类型转换,如:

       byte b1 = 1;
        byte b2 = 2;
        //b2 = (byte)(b1 + b2); 如果不进行类型转换在编译时回报类型不兼容的错误;因为byte short char 在进行运算的时候会自动转化为int类型。

       b2 +=b1;//此处在编译的时候不会报类型不兼容的错误。

     注意:b2+=b1 在编译的时候,java编译器会进行强制类型转换,不需要我们手动转换了。

    比较运算符

    1、比较运算符: 比较运算符的结果都是返回一个布尔值的。

    2、种类: ==   !=   >   <   >=   <=

    3、注意点:

      (1)==用于比较两个基本数据类型数据的时候,比较的是两个变量所存储的值是否一致。

      (2)==用于比较两个引用类型变量的数据时候,比较的是两个 引用类型变量所记录的内存地址是否一致。

       (3)两个不同的数据类型可以进行比较,但是必须兼容。

    逻辑运算符

    1、逻辑运算符 :逻辑运算符的作用是用于连接布尔表达式的。

    2、种类:

       1、& (与,并且) 规律: 只有左右变量同时 为true,那么结果才是true,否则就为false。

      2、|  (或,或者) 只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false.

      3、^  (异或) 规律: 只要两边的布尔表达式 结果不一致,那么结果就为true,如果左右两边 的布尔表达式一致,那么就为false.

      4、! (非) 规律:真假颠倒。

      5、&& (短路与/双与)。

      6、|| (短路或/双或)。

    3、短路与和单与符号的相同与不同点:

      相同点: 短路与和单与运算 的结果是一样的。

       不同点: 使用短路与的时候,如果左边的布尔表达式为false,则不会在运算右边的布尔表达式,从而提高了效率。使用单与的时候,即使发现左边的布尔表达式为false,还是  会运算右边的布尔表达式的。

     位运算符

    1、位运算符常用来对二进制数据进行运算。

    2、种类:&(与) |(或) ^(异或) ~(取反) <<(左移) >>(右移) >>>(无符号左移) 。

    3、如果操作数A连续异或同一个操作数两次,那么结果还是操作数A,常用来加密使用。

      位运算常见面试题:1、交换两个变量的值,不准出现第三方变量。

       int a = 3;
        int b = 5;
        a = a^b;
        b = a^b;
        a = a^b;

       位运算常见面试题:2、取出一个二进制数据的指定位数。要求读取该二进制数据的低4位。

       0000000-00000000-00010100-01001101
      &   00000000-00000000-00000000-00001111
      ------------------------------------------
         0000000-00000000-00000000-00001101

    4、左移规律:(二进制位数向左移动,右面补0)一个操作数进行左移运算的时候,结果就是等于操作数乘以2的n次方,n就是左移的位数.)

    5、右移规律:(整数右移,左面补0;负数右移,左面补1)一个操作数在做右移运算的时候,实际上就是等于该操作数除以2的n次方,n就是右移的位数。

    6、无符号右移与右移的区别:进行右移运算的时候,如果操作数是一个正数,那么左边的空缺位使用0补,如果操作数是一个负数,那么左边的空缺位使用1补。而使用无符号右移的时候,不管是正数还是负数都统一使用0补。

      笔试题目:使用最高的效率算出2乘以8的结果。--->  2<<3

    三目运算符

    1、格式:  布尔表达式?值1:值2

    2、三元运算符要注意的细节:使用三元运算符的时候,一定要使用该表达式返回的结果,或者是定义一个变量接收该表达式返回的结果。否则会报编译错误。

    运算符的结合性和优先级

     

  • 相关阅读:
    ASP.NET在禁用视图状态的情况下仍然使用ViewState对象【转】
    Atcoder Regular Contest 061 D Card Game for Three(组合数学)
    Solution 「CERC 2016」「洛谷 P3684」机棚障碍
    Solution 「CF 599E」Sandy and Nuts
    Solution 「洛谷 P6021」洪水
    Solution 「ARC 058C」「AT 1975」Iroha and Haiku
    Solution 「POI 2011」「洛谷 P3527」METMeteors
    Solution 「CF 1023F」Mobile Phone Network
    Solution 「SP 6779」GSS7
    Solution 「LOCAL」大括号树
  • 原文地址:https://www.cnblogs.com/nicker/p/5709316.html
Copyright © 2011-2022 走看看