文章

运算符_条件判断_类型转换

运算符/条件判断/类型转换

运算符_条件判断_类型转换

运算符/条件判断/类型转换

运算符

  • 算数运算符:+(加) -(减) *(乘) /(除) ~/(取整) %(取余)
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 else switch 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()
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 进行授权