【從零開始學 Dart 程式設計】運算符號

【從零開始學 Dart 程式設計】線上教學課程目錄 ,Flutter 先修班, Dart 程式語言基礎入門課程。

指定運算符號

我們第一個要來介紹的等於運算符號「=」,就是最常使用的指定運算符號,即是將右邊的資料,指定存到左邊的箱子裡面去。
運算子描述
=指定值運算
範例:將100指定,存到左邊的 intVal 變數箱子中。
int intVal = 100;

算數運算符號

數學加、減、乘、除數學運算符號和「%」,取餘數的運算符號。
運算子描述
+加法運算 ; 字串則是將兩個字串進行串接
-減法運算
*乘法運算
/除法運算
%取餘數運算
int a = 10;
int b = 2;

print(a+b);
print(a-b);
print(a*b);
print(a/b);  
print(a%b);
執行結果:
12
8
20
5
0
其中字串,若使用加法運算,則是會將兩個字串進行串接。而字串僅能使用加法運算符號,其他數學運符號無法使用。
String a = "Hi!";
String b = "HKT~";
print(a+b);
執行結果:
Hi!HKT~

進階的指定運算符號

了解前面的指定算和數運算符號後,皆著我們來看,進階的指定運算符號,初學者剛看到,可能會有點頭痛,但其實只要了解後,就不難了。
運算子描述
+=a = a + b
-=a = a - b
*=a = a * b
/=a = a / b
%=a = a % b
int a = 10;
int b = 2;

print(a+=b); //a=10+2
print(a-=b); //a=12-2
print(a*=b); //a=10*2
print(a/=b); //a=20/2  
print(a%=b); //a=10/2
執行結果:
12
10
20
10
0

單元運算符號

運算子描述
-負值,正值變負值,負值變正值,因負負得正
++遞增運算,資料值+1,遞增1的數學概念,a=a+1
遞減運算,資料值-1,遞減1的數學概念,a=a-1
int a = 10;

print(a);
print(-a);
print(a++);
print(a--);
執行結果:
10
-10
10
11

遞增/遞減運算符號前綴和後綴差異

其中 「++」和 「-- 」運算符號有前綴和後綴差異,就是符號放在前面或是放在後面,運算結果不一樣,以 ++ 為例:
運算子描述
a++先取出 a 的資料值後,才做 a=a+1 的動作
++a先作 a=a+1 運算的動作,再取出 a
int a = 10;
print(a++);

a = 10;
print(++a);
執行結果:
10
11
同理,-- 範例:
運算子描述
a–先取出 a 的資料值後,才做 a=a-1 的動作
–a先作 a=a-1 運算的動作,再取出 a
int a = 10;
print(a--);

a = 10;
print(--a);
執行結果:
10
9

邏輯運算符號

運算子描述
&&兩個皆為 true,才為 true
||其中一個為 true,即為 true
!布林的反向運算,true 反向變 false,false 反向變 true
執行結果:
bool a = true;
bool b = false;
        
print(a && b);
print(a || b);
print(!a);
print(!b);
執行結果:
false
true
false
true

關係運算符號

運算子描述
==兩值相等,為 true。注意:字串判斷是否相等使用 equal,不要使用,此符號
!=兩值不相等,為 true
>左側值大於右側值,為 true
<左側值小於右側值,為 true
>=左側值大於或等於右側值,為 true
<=左側值小於或等於右側值,為 true
int a = 100;
int b = 66;

print(a == b);
print(a != b);
print(a > b);
print(a < b);
print(a >= b);
print(a <= b);
執行結果:
false
true
true
false
true
false

進階運算符號

?. 條件訪問運算符號

//如果foo為null則返回null,否則返回bar成員
main() {
  var p;
//   print(p.x);//會拋出例外 exception
  print(p?.x);//防止資料null拋出異常例外 exception
}

?? 是否為空,賦值運算

//如果x是null,則賦值給x;
//如果不是null,則x的值保持不變 
x ??= value; 
//範例
main() {
  var a=100;
  var b;
  print(a ??= 77);//輸出結果:100
  print(b ??= 66);//輸出結果:66
}

.. 級聯運算符號

//原本標準寫法
var button = querySelector('#button');
button.text = 'Confirm';
button.classes.add('important');
button.onClick.listen((e) => window.alert('Confirmed!'));

//改成級聯運算寫法
querySelector('#button') // Get an object.
  ..text = 'Confirm'   // Use its members.
  ..classes.add('important')
  ..onClick.listen((e) => window.alert('Confirmed!'));

那這次的課程就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰~

留言

這個網誌中的熱門文章

16天記下7000單字

Costco 好市多 AFTERSHOKZ 骨傳導 藍牙運動耳機 AS650 開箱實測評價與心得

2019 最新入門零基礎【從零開始學 Java 程式設計】線上教學課程目錄 (7/5 更新囉~)