JAVA编程思想笔记 第三章 操作符

概念

JAVA操作符

  • +-*/=用法与其他语言类似
  • 优先级
  • 赋值
    • 基本类型:存储实际数值
      a=4;
    • 对象赋值:复制引用
      Tank t1 = new Tank();

算术操作符

  • +-*/% 除法会舍去小数位,不进行四舍五入
  • 随机数
    Random rand = new Random(47);
    int i = rand.nextInt(100);
    int j = rand.nextFloat(100); // nextLong() nextDouble()
    
  • 自增自减
    ++a;a++;a--;--a;
    • 前缀式: 操作符位于变量/表达式前方,先运算再生成值;
    • 后缀式: 操作符位于变量/表达式后方,先生成值再运算;

关系运算符

  • 关系运算符生成一个boolean类型结果 < > = <= >= !=
  • 对于对象的比较使用equals(),通过覆盖equals方法进行比较

逻辑操作符

  • 根据逻辑操作符生成一个布尔值 && || !
  • 不可以将非布尔值在逻辑表达式中使用
  • 短路
    一旦明确无误该表达式的值之后,其余部分将不进行计算
    boolFunc(0) && boolFunc(1) && boolFunc(2)

直接常量

使编译器准确的知道生成什么样的类型.

0x2f    Hexadecimal Lowercase
0x2F    Hexadecimal Uppercase
0177    Octal
0xffff  max char hex value
0x7f    max byte hex value
0x7fff  max short hex value
200L    long suffix
1F      float suffix
1d/1D   double suffix

指数计数法

Java中 1.39e-43f = 1.39 * 10 ^ -43
float expFloat = 1.39e-43f; double expDouble = 47e47d;

按位操作符

||
---|:--😐---😐---:
&|与|||或
~|非|^|异或

移位操作符

  • << 左移位操作符 低位补零
  • >> 右移位操作符 符号为正,高位插入0;符号为负,高位插入1
  • >>> 无符号右移位操作符 高位补零

三元操作符 if-else

boolean-exp ? value0 : value1

类型转换操作符 cast

  • 窄化转换: 可能丢失信息 eg. double ->> int
    int i = (int) 0.213d;
  • 扩展转换: 无需进行显式类型转换
    double i = 10;
  • int不进行四舍五入,直接去掉小数部分,round()方法四舍五入
posted @ 2020-03-14 15:45  希恩布劳戈  阅读(130)  评论(0编辑  收藏  举报