运算符_条件判断_类型转换
运算符/条件判断/类型转换
运算符_条件判断_类型转换
运算符/条件判断/类型转换
运算符
- 算数运算符:+(加) -(减) *(乘) /(除) ~/(取整) %(取余)
1
2
3
4
5
6
7
8
int a = 13;
int b = 5;
print(a + b); // 18
print(a - b); // 8
print(a * b); // 65
print(a / b); // 2.6
print(a % b); // 3
print(a ~/ b); // 2
- 关系运算符:== != > < >= <=
1
2
3
4
5
6
7
8
int a = 5;
int b = 3;
print(a == b); // false
print(a != b); // true
print(a > b); // true
print(a < b); // false
print(a >= b); // true
print(a <= b); // false
逻辑运算符:! &&
1
2
3
4
5
6
7
bool flag = false;
print(!flag); // true
bool a = false;
bool b = true;
print(a && b); // false
print(a || b); // true
- 赋值运算符:
- 基础赋值运算符:= ??=
1
2
3
4
5
6
7
8
9
10
11
int a = 10;
int b = 3;
int c = a + b; // 13
int d = 6;
d ??= 23; // 表示如果d为空的话把23赋值给d
print(d); // 6
int e;
e ??= 23; // 表示如果e为空的话把23赋值给e
print(e); // 23
1
- 复合赋值运算符:+= -= *= /= %= ~/=
1
2
3
4
5
6
7
8
9
int a = 12;
a += 10;
print(a); // 22
a -= 2;
print(a); // 20
a *= 3;
print(a); // 60
1
- 自增、自减:++ --
在赋值元算中:++/– 写在前面 先运算再赋值;写在后面 先赋值再运算。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var a = 60;
// 自增、自减
a++; // 等于 a = a + 1;
print(a); // 61
a--; // 等于 a = a - 1;
print(a); // 60
var b = a++;
print(a); // 61
print(b); // 60
var c = --a;
print(a); // 60
print(c); // 60
条件表达式
if elseswitch case
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
bool flag = true;
if (flag) {
print('真'); // 真
} else {
print('假');
}
var sex = '男';
switch(score) {
case '男':
print('性别是男'); // 性别是男
break;
case '女':
print('性别是女');
break;
default:
print('参数异常');
break;
}
- 三目运算符
1
2
3
bool flag = false;
String str = flag ? '张三' : '李四';
print(str); // 李四
- ??运算符
1
2
3
4
5
6
7
var a;
var b = a ?? 10;
print(b); // 10
var c = 22;
var d = c ?? 10;
print(d); // 22
类型转换
- Number与String类型之间的转换
- Number类型转换为String类型 -
toString()
- Number类型转换为String类型 -
1
2
3
String num = 123;
var str = num.toString();
print(str is String); // true
1
- String类型转换成Number类型 - `int.parse()` `double.parse()`
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
String str1 = '123';
var num = int.parse(str1);
print(num is int); // true
String str2 = '123.45';
var num1 = double.parse(str1);
print(num1, num1 is int); // 123 true
var num2 = double.parse(str2);
print(num2, num2 is double); // 123.45 true
// 报错 - 为空的时候转换
String price = '';
var Price = double.parse(price);
// 通过try catch 处理异常
try{
var num = double.parse(price);
print(num);
} catch(err) {
print(0);
}
- 其它类型转换成Boolean类型
**isEmpty**: 判断字符串是否为空
1
2
3
4
5
6
var str = '';
if (str.isEmpty) {
print('str为空'); // str为空
} else {
print('str不为空');
}
isNaN:判断是否是 NaN
本文由作者按照 CC BY 4.0 进行授权