• 3、运算符、表达式


    1、%求余数

    3%2=1  4%2=0  4.0%2=0.0  1%2=1  -1%2=-1  1%-2=1  -1%-2=-1   17.1%4=1.1

    分子小于分母,数值为分子,符号按分子走。

    1%0->by zero   1.0%0=NAN not a number

    2、a=2;b=++a;   那么a=3;b=3;

       a=2;b=a++;   那么a=2;   b=3;

      int a=2;

      int b=a+3*a++;  计算机从左往右看,第一个a就是2

      则a=3,b=8 

    3、比较运算符

      ==相等,要求两边都是基本数据类型

      ===全等,两边类型数字都等才返回true  比较的是栈中的东西,想比较堆中的,用equals

    4、位运算符

      正数二进制变负数二进制=正数的首位0变成1,其他为是0变成1,1变成0,再在末尾加1,注意进位

      负数二进制变正数二进制= 正数的首位1变成0,末尾减1,其他0变1,1变0

     

    a、 ~取反  01001111    ——>10110000         ~0b0011——>-4  因为还得考虑第一位是符号位

            ~0b0000--0011  得 先取反11 111100,可以看出是负数,先把符号定下来,然后数字部分用上面的法则11111100减1,变成11111011,然后再01互换,得00000100,数字部分为4,加上前面的负号为-,所以为-4。(方法:可以让正数先变负,再减1,就可以了)

    b、&按位与  2&3=2

    c、^按位异或  2^3=1(同1,0为0)

    d、|按位或  2|3=3(同0为0)  

    5、移位运算符

      >>右移:把第一个操作数的二进制码右移指定个位数   64>>2=16  31>>2=7  (正数可以相当于除法)

          -2>>2 0000 0010---1111 1101---1111 1110>>2=1111 1111(负数1补位)---1111 1110---0000 0001,结果为1

      >>左移:同上,全部0补位(乘法)

      >>>无符号右移:他把第一个操作数的二进制码右移指定位数后,左边空出来的位总是以0补充。

    6、逻辑运算符

      &和&&的区别:前者是与,后者为短路与

      |和||同理

    7、赋值运算符

      short sum=100;

      sum+=100;//不检查类型匹配,正确,性能高不安全

      sum=sum+100;//检查类型匹配,错误,性能低安全

    8、局部变量特点是:在使用前必须初始化!!!!

    9、三目运算符   

      必须赋值给一个变量!

      100>90?"真":"假";  错了

      必须string a=100>90?"真":"假";

  • 相关阅读:
    easyui的datagrid右侧没有边框线
    移除input在type="number"时的上下箭头
    端口被占用的解决办法
    给DOM操作生成的元素添加事件
    前端工具——Gulp篇
    python类型学习
    python对象学习
    Python之系统交互(subprocess)
    如何准确高效的获取数据库新插入数据的主键id
    接口和抽象类有什么区别
  • 原文地址:https://www.cnblogs.com/television/p/8361827.html
Copyright © 2020-2023  润新知