基本运算符
double a = 2.3;
double b = 2;
print(a + b); // 4.3
print(a - b); // 0.2999999999999998
print(2 - 1); // 1
print(a - 1.0); // 1.2999999999999998
print(a * b); // 4.6
print(a / b); // 1.15
print(a % b); // 求余 0.2999999999999998
print(a ~/ b); // 取整 1
print(a == b); // 相等 false
print(a != b); // true
print(a >= b); // true
print(a <= b); // false
print(a > b); // true
print(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); // err
int res2 = int.parse(str2); // int 123
double res3 = double.parse(str2); // double 123.0
double res4 = int.parse(num1); // err
print(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