03.Dart运算符 条件表达式 Dart类型转换
# Dart 运算符:
# 1. 算术运算符
# 1.1 算术运算符
+ - * / ~/ (取整) %(取余)
1
void main(){
int a=13;
int b=5;
print(a+b); //加
print(a-b); //减
print(a*b); //乘
print(a/b); //除
print(a%b); //其余
print(a~/b); //取整
var c=a*b;
print('--------');
print(c);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 1.2 关系运算符
== != > < >= <=
1
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); //判断是否小于等于
if(a>b){
print('a大于b');
}else{
print('a小于b');
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 1.3 逻辑运算符
! && ||
1
void main(){
/* ! 取反 */
// bool flag=false;
// print(!flag); //取反
/* &&并且:全部为true的话值为true 否则值为false */
// bool a=true;
// bool b=true;
// print(a && b);
/* ||或者:全为false的话值为false 否则值为true */
// bool a=false;
// bool b=false;
// print(a || b);
//如果一个人的年龄是20 并且 sex是女的话我们打印这个人
// int age=20;
// String sex="女";
// if(age==20 && sex=="女"){
// print("$age --- $sex");
// }else{
// print("不打印");
// }
//如果一个人的年龄是20 或者 sex是女的话我们打印这个人
int age=23;
String sex="女";
if(age==20 || sex=="女"){
print("$age --- $sex");
}else{
print("不打印");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 1.4 赋值运算符
- 基础赋值运算符
= ??=
1
// 1、基础赋值运算符 = ??=
// int a=10;
// int b=3;
// print(a);
// int c=a+b; //从右向左
// b??=23; 表示如果b为空的话把 23赋值给b
// int b=6;
// b??=23;
// print(b);
// int b;
// b??=23;
// print(b);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- 复合赋值运算符
+= -= *= /= %= ~/=
1
//2、 复合赋值运算符 += -= *= /= %= ~/=
// var a=12;
// a=a+10;
// print(a);
// var a=13;
// a+=10; //表示a=a+10
// print(a);
var a=4;
a*=3; //a=a*3;
print(a);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1.5 条件表达式
- if else switch case
//1、if else switch case
// bool flag=true;
// if(flag){
// print('true');
// }else{
// print('false');
// }
//判断一个人的成绩 如果大于60 显示及格 如果大于 70显示良好 如果大于90显示优秀
// var score=41;
// if(score>90){
// print('优秀');
// }else if(score>70){
// print('良好');
// }else if(score>=60){
// print('及格');
// }else{
// print('不及格');
// }
// var sex="女";
// switch(sex){
// case "男":
// print('性别是男');
// break;
// case "女":
// print('性别是女');
// print('性别是女');
// break;
// default:
// print('传入参数错误');
// break;
// }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
- 三目运算符
//2、三目运算符
// var falg=true;
// var c;
// if(falg){
// c='我是true';
// }else{
// c="我是false";
// }
// print(c);
bool flag=false;
String c=flag?'我是true':'我是false';
print(c);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- ??运算符:
//3 ??运算符
// var a;
// var b= a ?? 10;
// print(b); 10
var a=22;
var b= a ?? 10;
print(b);
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 2. 类型转换
# 2.1 Number 与 String 类型之间的转换
//1、Number与String类型之间的转换
// Number类型转换成String类型 toString()
// String类型转成Number类型 int.parse()
// String str='123';
// var myNum=int.parse(str);
// print(myNum is int);
// String str='123.1';
// var myNum=double.parse(str);
// print(myNum is double);
// String price='12';
// var myNum=double.parse(price);
// print(myNum);
// print(myNum is double);
//报错
// String price='';
// var myNum=double.parse(price);
// print(myNum);
// print(myNum is double);
// try ... catch
// String price='';
// try{
// var myNum=double.parse(price);
// print(myNum);
// }catch(err){
// print(0);
// }
// var myNum=12;
// var str=myNum.toString();
// print(str is String);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 2.2 其他类型转换成 Booleans 类型
// 2、其他类型转换成Booleans类型
// isEmpty:判断字符串是否为空
// var str='';
// if(str.isEmpty){
// print('str空');
// }else{
// print('str不为空');
// }
// var myNum=123;
// if(myNum==0){
// print('0');
// }else{
// print('非0');
// }
// var myNum;
// if(myNum==0){
// print('0');
// }else{
// print('非0');
// }
// var myNum;
// if(myNum==null){
// print('空');
// }else{
// print('非空');
// }
var myNum=0/0;
// print(myNum);
if(myNum.isNaN){
print('NaN');
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
编辑 (opens new window)
上次更新: 2024/05/08, 17:54:31