變數與常量:
變數:
使用var宣告變數,可以賦予不同資料型別的值,
未初始化時默認值是null
使用final宣告的變數只能被賦值一次
void main(){ var a; print(a); a = 10; print(a); a = 'Hello World'; print(a); var b = 20; print(b);
final c = 20 ;
//c = 1;
const d = 50;
//d = 1;
}
控制臺列印結果:

null10Hello World20View Code
常量:
使用const宣告常量,使用const宣告的必須是編譯期的常量,
注意const和final的區別,
資料型別:
內置型別:

數值型num:整型int,浮點型double

void main(){ num a = 10; a = 12.5; int b = 20; //b = 20.1; double c = 30.5; //c = 40; print(c);}View Code
數值型別常見操作:+,-,*,/,~/(取整),%(取余),
數值型別常見屬性:isNaN,isEven,isOdd等,
數值型別常見方法:abs(),round(),floor(),ceil(),toInt(),toDouble()
字串:
使用單引號或者雙引號創建字串,使用三引號或者雙引號創建多行字串,使用r創建原始raw字串
字串運算:+,*,==,[]
插值運算式:${expression}
字串常見屬性:length,isEmpty,isNotEmpty
字串常見方法:


void main() { String str1 = 'Hello'; str1 = '''Hello Dart'''; print(str1); String str4 = 'This is My favorite language'; print(str4+'New'); print(str4*4); print(str4[5]); int a = 1; int b = 3; print('a*b = ${a*b}');}View Code
布爾型:
串列List(陣列):
創建List :var list = [1,2,3];
創建不可變的List: var list = const [1,2,3];
構造創建List: var list = new List();
串列常見操作:

Map:(鍵值對)
Map常用操作方法

dynamic:動態型別(泛型)可以賦予不同型別的值
運算子:
算術運算子:


void main(){ int a = 10; int b = 2; print(a + b); print(a - b); print(a * b); print(a / b); print(a ~/ b); print(a % b); print(++a);//先加加在列印 print(a++);//先列印再加加 print(a);}View Code
列印結果:

128205.050111112View Code
關系運算子:


void main (){ int a = 5; int b = 3; print(a == b); print(a > b); print(a < b); print(a != b); print(a >= b); print(a <= b); String strA = '123'; String strB = '321'; print(strA == strB);}View Code
列印結果:

falsetruefalsetruetruefalsefalseView Code
邏輯運算子:

賦值運算子:

復合運算,先用左邊變數和右邊做運算再把值賦給左邊變數
void main(){ int a = 10; int b = 5; b ??= a; print(b); a += b; print(a);}
列印結果:
515
條件運算式:

void main(){ int gender = 0; String str = gender ==0 ? 'Male' : 'Female'; print(str); String a = 'Php' ; String b = 'Dart'; String c = a ?? b; print(c);}
列印結果:
MalePhp控制陳述句:
if陳述句:

void main(){ int score = 100; if(score >= 90){ if(score == 100){ print('完美'); } else{ print('優秀'); } } else if(score > 60 && score < 90){ print('良好'); } else if (score == 60){ print('及格'); } else { print('不及格'); }}
for陳述句:

void main(){ var list = [1,2,3,4,5]; for(var i = 0;i < list.length;i++){ print(list[i]); } print('---------------'); for(var item in list){ print(item); }}
列印結果:
12345---------------12345
while陳述句:

void main(){ int count = 0; while(count < 5){ print(count); count++; } print('-----$count------'); do{ print(count); count--; }while(count>0 && count<5);}
列印結果:
01234-----5------54321
continue和break:

void main(){ var list = [1,2,3]; for (var item in list){ if(item == 2){ //break; continue; } print(item); } print('--------------'); var list2 = [4,5,6]; for(var item1 in list){ for(var item2 in list2){ if(item2 == 5){ //continue; break; } print(item2); } }}
列印結果:
13--------------444
switch..case:

void main(){ String language = 'php'; switch(language){ case 'Dart': print('Dart is My fav'); break; case 'php': print('php is My fav'); break; case 'java': print('java is My fav'); break; default: print('None'); } print('-------------'); switch(language){ D: case 'Dart': print('Dart is My fav'); break; case 'php': print('php is My fav'); continue D; //break; case 'java': print('java is My fav'); break; default: print('None'); }}
列印結果:
php is My fav-------------php is My favDart is My fav
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/1875.html
標籤:Dart
上一篇:C++分治策略實作二分搜索
下一篇:Dart面向物件編程(二)

