基本运算符
double a = 2.3;double b = 2;print(a + b); // 4.3print(a - b); // 0.2999999999999998print(2 - 1); // 1print(a - 1.0); // 1.2999999999999998print(a * b); // 4.6print(a / b); // 1.15print(a % b); // 求余 0.2999999999999998print(a ~/ b); // 取整 1print(a == b); // 相等 falseprint(a != b); // trueprint(a >= b); // trueprint(a <= b); // falseprint(a > b); // trueprint(a < b); // false
条件表达式
int num = 2;if(num > 2) {print('num > 2');}else if(num <=2) {print('num <=2');}switch(num) {case 1 : print('num == 1'); break;case 2 : print('num == 2'); break;case 3 : print('num == 3'); break;default: print('no');}
三目运算符 和 ?? 运算符
?? 运算符可以赋值默认值,类似 js 的 a || 1 表达式
int num = 1;print('num is ${num == 1 ? '一' : num == 2 ? '二' : 'ohter'}');// ?? 运算符int num1;int num2 = 123;num1 = num1 ?? 1;print(num1);num1 = num2 ?? 1;print(num1);
基本类型转换
String str1= 'name';String str2 = '123';int num1 = 1;double num2 = 2.2;int res1 = int.parse(str1); // errint res2 = int.parse(str2); // int 123double res3 = double.parse(str2); // double 123.0double res4 = int.parse(num1); // errprint(num2.toString()); // '2.2'if(str1.isEmpty) {print('str1 is not empty');}num2 = num2 / 0;if(num2.isNaN) {print('num2 is Nan');}
for 循环遍历
break 和 continue
int num1 = 0;for(int i=1; i<=100; i++) {num1 += i;}print('num1 = ${num1}'); // 5050
List l1 = ['a', 'b', 'c', 'd'];for(int i=0; i<l1.length; i++) {print('now is ${i} -- ${l1[i]}');}
int num1 = 10;while(num1 >= 1) {print(num1);num1 -=1 ;} // 10 9 8 7 6 5 4 3 2 1 0
do{print(num1);num1 -=1;} while( num1 >=1 ); // 10 9 8 7 6 5 4 3 2 1
