Dart笔记(13):操作符

 

操作符表

描述操作符
后缀操作expr++   expr--   ()   [] .   ?.
前缀操作-expr !expr ~expr ++expr --expr
乘除*  /  %  ~/
加减+ -
位移<< >>
按位与&
按位异或^
按位或\
类型操作>= > <= < as is is!
相等== !=
逻辑与&&
逻辑或\\
是否为空??
三目运算expr1 ? expr2 : expr3
级联..
赋值= *= /= ~/= %= += -= <<= >>= &= ^= \= ??=

优先级顺序 上面左边 优先级高于 右边下面

?.

判断对象是否为空,为空则输出null,不会报空指针

String s;
print(s.length);  //报错
print(s?.length); //null

~/

先执行除法,然后取整

print(1 / 2);  // 0.5
print(1 ~/ 2); // 0

as  is  is! 

as 类型转换

is 类型判断

is!与is相反

??

判断对象是否为null,是null就赋值后面参数

bool b;
b = b ?? false;
b ??= false;//与上面相同意思

算术操作符

操作符解释
+加号
减号
-expr负号
*乘号
/除号
~/除号,但是返回值为整数
%取模

 

相等相关的操作符 

操作符解释
==相等
!=不等
>大于
<小于
>=大于等于
<=小于等于

 

类型判定操作符

操作符解释
as类型转换
is如果对象是指定的类型返回 True
is!如果对象是指定的类型返回 False

条件表达式

操作符解释
condition ? expr1 : expr2如果 condition 是 true,执行 expr1 (并返回执行的结果); 否则执行 expr2 并返回其结果。
expr1 ?? expr2如果 expr1 是 non-null,返回其值; 否则执行 expr2 并返回其结果。

 

位和移位操作符

操作符解释
&逻辑与
 逻辑或
^逻辑异或
~expr取反
<<左移
>>右移

 
级联操作符

操作符解释
..可以在同一个对象上 连续调用多个函数以及访问成员变量。
StringBuffer sb = new StringBuffer();
sb
..write('hello')
..write('world')
..write('\n')
..writeln('haha');

其他操作符

操作符解释
()使用方法 代表调用一个方法
[]访问 List 访问 list 中特定位置的元素
.访问 Member 访问元素,例如 foo.bar 代表访问 foo 的 bar 成员
?.条件成员访问 和 . 类似,但是左边的操作对象不能为 null,例如 foo?.bar 如果 foo 为 null 则返回 null,否则返回 bar 成员
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值