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

    运算符的结合性和优先级

     

  • 相关阅读:
    restframework 使用OrderingFilter实现排序
    restframework 使用django_filters 实现过滤
    Serializer 嵌套使用
    docker 运行scrpyd
    flutter-lol云顶之弈助手app
    微信小程序上传多张图片,后端只保存了最后一张的Bug
    ettercap局域网arp欺骗,轻松窃密
    GoLang邮件发送Demo(继上篇msmtp)
    Mac下命令行发邮件【搭配php(shell_exec...)等脚本语言,轻松发邮件,告别各种依赖库】
    我的第一个RN应用(漂亮的首页和笑话列表)
  • 原文地址:https://www.cnblogs.com/nicker/p/5709316.html
Copyright © 2011-2022 走看看