操作符

作者: WhiteSpace123 | 来源:发表于2017-10-23 23:37 被阅读0次

优先级:

能用括号包住就用括号包住,代码应该以易理解的方向编写

赋值操作符:

=

算术操作符:

+ - * / %
+= /= -= *= %=等同于

a = a+b;
a = a/b;
a = a-b;
a = a*b;
a = a%b;

JAVA+号没有重载

7 % 2==1;  //true
(2\*3)+1==7;  //true

一元操作符:

- + 等同于-1 +1

自动递增/递减操作符:

++ --

关系运算符:

> < >= <= == != 返回值为boolean类型的值
对象使用关系操作符比较的是对象的地址值,Object类的equals方法默认比较地址值

逻辑操作符:

&& || !

短路:

当逻辑操作符的||的前一方为true则||后的一方不运算,当&&的前一方为false则&&后的一方不运算

(3>1)||(1>2)    //(1>2)不运算
(1>3)&&(1>2)    //(1>2)不运

使用直接常量的时候,应该给予类型:
byte b = 1B;
long l = 1L;
float f = 1.0F;
double d = 1.0D;
int x = 0X2f; //16进制表示法
尽量使用大写字母防止混淆

指数计数法:

e代表10的次方

double d = 1e-34;    //代表10的-34次方

移位操作符:

将数值变为2进制位数,左边为高位,右边为低位
<<:去高补低,将35转换为2进制,去3个高位补3个低位0
long l = 35 << 3; //35乘上2的3次
>>:去低补高,将35转换为2进制,去3个低位补3个高位0
long l = 35 >> 3; //35除以2的3次
>>>:去低补高,将35转换为2进制,第一个高位补1,其他2个高位补0,去3个低位(有正负符号)
long l = 35 >>> 3; //8

按位操作符:& | ~ ^

int x = 2 & 1; //0,将值转换为二进制数位与位进行比较,&为*,|为+,2&1就是2进制(10)*(01)

三元运算符:

(布尔表达式)?值1:值2;

基本数据类型转换:

扩展转换:小转大
窄化转换:大转小(可能丢失精度)
截尾:浮点类型转换时,会截去小数点部分
自动类型提升:小类型和大类型运算时结果会提升至大类型,+=等操作符会根据类型自动转换

= == !=能操作对象,+ +=能操作字符串,其他的只能操作基本数据类型

相关文章

  • Rxjava2-二、操作符

    Rxjava记录总结操作符:创建操作符、转换操作符、合并操作符、过滤操作符、其他操作符、条件操作符. 创建操作符 ...

  • Kotlin 笔记(二)集合和函数操作符

    总数操作符 过滤操作符 映射操作符 元素操作符 生产操作符 顺序操作符

  • 走进RxJava源码(三) -- 创建型操作符

    创建型操作符 create操作符 just操作符 fromArray操作符 empty操作符 range 操作符

  • RxJava2操作符

    操作符分类 操作符分类有十三种: 变换操作符 过滤操作符列表 组合操作符 错误处理操作符 辅助操作符 条件操作符 ...

  • js运算符与表达式

    操作符 一元操作符:++,-- 算术操作符:+,-,*,/,% 关系操作符:>,<,>=,<= 相等操作符:==,...

  • 操作符和表达式

    操作符 一元操作符(++,--) 算术操作符(+,-,*,/,%) 关系操作符(>,<,>=,<=,) 相等操作符...

  • Rxjava讲解(2)

    上面文章讲过创建操作符, 转换操作符,过滤操作符, 这篇文字介绍组合操作符,条件操作符,功能操作符。 组合操作符 ...

  • JavaScript高程读书笔记(2)

    五、操作符 算数操作符、位操作符、关系操作符、 相等操作符 一元操作符++和--:注意a+++,- 位操作符按位非...

  • rxjava2 学习笔记

    特点 链式调用 线程切换 操作符 创建操作符 转换操作符 过滤操作符 组合操作符 错误处理操作符 辅助性操作符 条...

  • Combine - Operator(操作符)(二)

    线程 操作符|编码 操作符 |合并 操作符|错误处理 操作符|处理多个订阅者 操作符 线程 操作符 receive...

网友评论

      本文标题:操作符

      本文链接:https://www.haomeiwen.com/subject/dfbzuxtx.html