基本运算符

  1. double a = 2.3;
  2. double b = 2;
  3. print(a + b); // 4.3
  4. print(a - b); // 0.2999999999999998
  5. print(2 - 1); // 1
  6. print(a - 1.0); // 1.2999999999999998
  7. print(a * b); // 4.6
  8. print(a / b); // 1.15
  9. print(a % b); // 求余 0.2999999999999998
  10. print(a ~/ b); // 取整 1
  11. print(a == b); // 相等 false
  12. print(a != b); // true
  13. print(a >= b); // true
  14. print(a <= b); // false
  15. print(a > b); // true
  16. print(a < b); // false

条件表达式

  1. int num = 2;
  2. if(num > 2) {
  3. print('num > 2');
  4. }else if(num <=2) {
  5. print('num <=2');
  6. }
  7. switch(num) {
  8. case 1 : print('num == 1'); break;
  9. case 2 : print('num == 2'); break;
  10. case 3 : print('num == 3'); break;
  11. default: print('no');
  12. }

三目运算符 和 ?? 运算符

?? 运算符可以赋值默认值,类似 js 的 a || 1 表达式

  1. int num = 1;
  2. print('num is ${num == 1 ? '' : num == 2 ? '' : 'ohter'}');
  3. // ?? 运算符
  4. int num1;
  5. int num2 = 123;
  6. num1 = num1 ?? 1;
  7. print(num1);
  8. num1 = num2 ?? 1;
  9. print(num1);

基本类型转换

  1. String str1= 'name';
  2. String str2 = '123';
  3. int num1 = 1;
  4. double num2 = 2.2;
  5. int res1 = int.parse(str1); // err
  6. int res2 = int.parse(str2); // int 123
  7. double res3 = double.parse(str2); // double 123.0
  8. double res4 = int.parse(num1); // err
  9. print(num2.toString()); // '2.2'
  10. if(str1.isEmpty) {
  11. print('str1 is not empty');
  12. }
  13. num2 = num2 / 0;
  14. if(num2.isNaN) {
  15. print('num2 is Nan');
  16. }

for 循环遍历

break 和 continue

  1. int num1 = 0;
  2. for(int i=1; i<=100; i++) {
  3. num1 += i;
  4. }
  5. print('num1 = ${num1}'); // 5050
  1. List l1 = ['a', 'b', 'c', 'd'];
  2. for(int i=0; i<l1.length; i++) {
  3. print('now is ${i} -- ${l1[i]}');
  4. }
  1. int num1 = 10;
  2. while(num1 >= 1) {
  3. print(num1);
  4. num1 -=1 ;
  5. } // 10 9 8 7 6 5 4 3 2 1 0
  1. do{
  2. print(num1);
  3. num1 -=1;
  4. } while( num1 >=1 ); // 10 9 8 7 6 5 4 3 2 1