11Dart:运算符

操作符

一元后置操作符:expr++    expr--    ()    []    .    ?.

一元前置操作符:-expr    !expr    ~expr    ++expr    --expr

乘除运算:*    /    %    ~/

加减运算:+    -

移位运算:<<    >>

按位与:&

按位异或:^

按位或:|

关系和类型测试:>=    >    <=    <    as    is    is!

相等:==    !=

逻辑与:&&

逻辑或:||

是否为:null??

天健判断(三元运算):expr1 ? expr2 : expr3

级联:..

赋值:=    *=    /=    ~/=    %=    +=    -=    <<=    >>=    &=    ^=

当您使用操作符时,您将创建表达式,如:a+b,a-b,a*b ,a/b,c  ?a:b,a is A 

上面的操作符依次排列下来 每一个运算符的优先级都高于排在自己后边的运算符。例如乘除运算中运算符%的优先级高于(并在之前执行)相等判断运算符==,相等(==)判断运算符的优先级又高于逻辑与运算符&&,遵循左到右规则

算术运算符:+加法,-减法,-expr一元减号,也称为否定(与表达式的符号相反),*乘法,/除法,~/取模运算,%取余运算;Dart还支持前缀和后缀递增和递减运算符。

++varvar = var + 1 (表达式的值是 var + 1)

var++var = var + 1 (表达式的值是 var)

--varvar = var – 1 (表达式的值是 var – 1)

var--var = var – 1 (表达式的值是 var)

相等和关系运算符:==相等,!=不等,>大于,<小于,>=大于等于,<=小于等于,要测试两个对象x和y是否代表相同的东西,请使用==操作符,(在需要知道两个对象是否完全相同的情况下,可以使用identical()函数)。

类型测试操作符:as, is, and is!操作符可以方便地在运行时检查类型。as形态转换,is如果对象具有指定的类型,则为True,is!如果对象具有指定的类型,则为False


赋值操作符:可以使用=操作符来赋值。若要仅仅为非空的变量赋值请使用??=操作符。如a??=b;仅仅在a为空的情况下a被赋值b否则a的值不变;


复合赋值操作符:=,-=,/=,%=,>>=,^=,+=,*=,/=,<<=,&=,|=,如a += b,a = a + b

逻辑运算符:可以使用逻辑运算符组合布尔表达式或取反布尔表达式,!expr对!后的表达式结果取反(如果表达式结果为false则表达式前加!使其变为true,反之亦然),||逻辑或,&&逻辑与(且)

位和移位运算:&按位与,|按位或,^按位异或,~expr按位取反,<<左移,>>右移


条件表达式:Dart有两个运算符,可以让你精确地计算那些可能需要if-else语句的表达式:condition ? expr1 : expr2如果条件为真,则计算expr1(并返回其值);否则,计算并返回expr2的值。expr1 ?? expr2如果expr1是非空的,则返回其值;否则,计算并返回expr2的值。当您需要基于布尔表达式的结果选择赋值,请考虑使用 ?: 。如果布尔表达式只想判断值是否为null,请考虑使用 ?? 。

级联表示法 (..):允许您在同一个对象上创建一个操作序列。除了函数调用之外,您还可以访问同一对象上的字段。这通常可以省去创建临时变量的步骤,能使你更为流畅的写代码。注意:严格地说,级联的“..”表示法不是运算符。这只是Dart语法的一部分。

其他运算符:()功能函数表示一个函数调用,[]访问列表引用列表中指定索引处的值,.访问成员表示表达式的属性; ?.根据条件访问成员和(.)相似,但是左边的操作数可以为空;例如: a?.name 从a的表达式中选择name属性,如果a为空则返回null

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容