一、数据类型
- 数值类型
- int:表示整数类型,例如:
int num = 10;
。在 Dart 中,int
类型是有范围限制的,具体取决于平台,但通常在 -2^63 到 2^63 - 1 之间。 - double:表示双精度浮点数类型,如
double pi = 3.14;
。
- int:表示整数类型,例如:
- 字符串类型(String)
- 可以使用单引号或双引号来定义字符串,例如:
String str1 = 'Hello';
或String str2 = "World";
。 - 可以使用字符串插值,将变量或表达式嵌入到字符串中,如:
String name = "Alice"; print('My name is $name.');
。
- 可以使用单引号或双引号来定义字符串,例如:
- 布尔类型(bool)
- 只有
true
和false
两个值,用于表示条件判断的结果,例如:bool isTrue = true;
。
- 只有
- 列表类型(List)
- 类似于数组,可以存储多个相同类型或不同类型的元素。定义方式如下:
List<int> numbers = [1, 2, 3, 4, 5];
(指定元素类型为int
)List<String> names = ['Bob', 'Charlie'];
(指定元素类型为String
)- 也可以使用
var
关键字让 Dart 自动推断类型:var list = [1, 'two', 3.0];
- 类似于数组,可以存储多个相同类型或不同类型的元素。定义方式如下:
- 集合类型(Set)
- 集合中的元素是唯一的,无序的。定义方式:
Set<int> set1 = {1, 2, 3, 4};
Set<String> set2 = {'apple', 'banana', 'apple'}; // 只会保留一个 'apple'
- 集合中的元素是唯一的,无序的。定义方式:
- 映射类型(Map)
- 是键值对的集合,用于存储关联数据。例如:
Map<String, int> ages = {'Alice': 20, 'Bob': 22};
,其中String
是键的类型,int
是值的类型。- 可以通过键来访问对应的值:
print(ages['Alice']);
- 是键值对的集合,用于存储关联数据。例如:
二、条件表达式
- if-else 语句
- 基本语法:
if (condition) { // 当条件为 true 时执行的代码块 } else { // 当条件为 false 时执行的代码块 }
- 例如:
int num = 10; if (num > 5) { print('The number is greater than 5.'); } else { print('The number is less than or equal to 5.'); }
- 基本语法:
- 三目运算符(?:)
- 语法:
condition? expression1 : expression2
- 当
condition
为true
时,返回expression1
的值,否则返回expression2
的值。例如:int num = 7; String result = num % 2 == 0? 'Even' : 'Odd'; print(result); // 输出 'Odd'
- 语法:
三、循环语句
- for 循环
- 基本语法:
for (initialization; condition; increment) { // 循环体 }
- 例如,打印 1 到 5 的数字:
for (int i = 1; i <= 5; i++) { print(i); }
- 基本语法:
- while 循环
- 语法:
while (condition) { // 循环体 }
- 例如,计算 1 到 10 的和:
int sum = 0; int i = 1; while (i <= 10) { sum += i; i++; } print(sum);
- 语法:
- do-while 循环
- 语法:
do { // 循环体 } while (condition);
- 与
while
循环不同的是,do-while
循环至少会执行一次循环体,然后再判断条件。例如:int num = 5; do { print(num); num--; } while (num > 0);
- 语法:
四、条件语句
- if 语句:单独的
if
语句用于在条件为true
时执行特定代码块,如前面if-else
语句中的if
部分示例。 - if-else if-else 语句
- 用于多个条件判断,语法如下:
if (condition1) { // 当 condition1 为 true 时执行的代码块 } else if (condition2) { // 当 condition1 为 false 且 condition2 为 true 时执行的代码块 } else { // 当所有前面条件都为 false 时执行的代码块 }
- 例如:
int score = 75; if (score >= 90) { print('A'); } else if (score >= 80) { print('B'); } else if (score >= 70) { print('C'); } else if (score >= 60) { print('D'); } else { print('F'); }
- 用于多个条件判断,语法如下:
五、循环控制
- break 语句
- 用于立即终止循环。例如,在一个查找特定元素的循环中,找到后就可以使用
break
退出循环:List<int> numbers = [1, 3, 5, 7, 9]; for (int num in numbers) { if (num == 7) { print('Found 7.'); break; } }
- 用于立即终止循环。例如,在一个查找特定元素的循环中,找到后就可以使用
- continue 语句
- 用于跳过当前循环迭代的剩余部分,直接进入下一次迭代。例如,打印 1 到 10 中的奇数:
for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { continue; } print(i); }
- 用于跳过当前循环迭代的剩余部分,直接进入下一次迭代。例如,打印 1 到 10 中的奇数: