Skip to content

控制流

Dart 提供多种控制流语句,帮助开发者处理条件分支、循环结构和异常处理。

条件语句

if-else

if-else 是最常见的条件语句,用于根据条件执行不同代码。

语法:

dart
if (condition) {
  // 当条件为 true 时执行
} else if (anotherCondition) {
  // 当另一个条件为 true 时执行
} else {
  // 当所有条件均为 false 时执行
}

示例:

dart
void main() {
  int score = 85;
  if (score >= 90) {
    print('Grade: A');
  } else if (score >= 75) {
    print('Grade: B');
  } else {
    print('Grade: C');
  }
}

switch-case

switch-case 用于处理多种可能的离散值。每个 case 必须以 breakreturn 结束,避免贯穿(fall-through)。

语法:

dart
switch (variable) {
  case value1:
    // 执行代码
    break;
  case value2:
    // 执行代码
    break;
  default:
    // 默认代码
}

示例:

dart
void main() {
  String grade = 'B';
  switch (grade) {
    case 'A':
      print('Excellent');
      break;
    case 'B':
      print('Good');
      break;
    case 'C':
      print('Average');
      break;
    default:
      print('Invalid grade');
  }
}

循环

for

for 循环用于执行已知次数的迭代。

语法:

dart
for (initialization; condition; increment/decrement) {
  // 循环体
}

示例:

dart
void main() {
  for (int i = 0; i < 5; i++) {
    print('Count: $i');
  }
}

for-in

for-in 用于遍历集合。

示例:

dart
void main() {
  var items = ['apple', 'banana', 'cherry'];
  for (var item in items) {
    print(item);
  }
}

while

while 循环在条件为 true 时反复执行。

语法:

dart
while (condition) {
  // 循环体
}

示例:

dart
void main() {
  int count = 0;
  while (count < 3) {
    print('Count: $count');
    count++;
  }
}

do-while

do-while 至少执行一次循环体,然后检查条件。

语法:

dart
do {
  // 循环体
} while (condition);

示例:

dart
void main() {
  int count = 0;
  do {
    print('Count: $count');
    count++;
  } while (count < 3);
}

异常处理

Dart 使用 try-catch 捕获异常,并使用 throw 抛出异常。

try-catch

try-catch 捕获运行时错误并防止程序崩溃。

语法:

dart
try {
  // 可能引发异常的代码
} catch (e) {
  // 异常处理
}

示例:

dart
void main() {
  try {
    int result = 10 ~/ 0; // 引发异常
    print(result);
  } catch (e) {
    print('Error: $e');
  }
}

throw

throw 用于手动抛出异常。

示例:

dart
void checkAge(int age) {
  if (age < 18) {
    throw Exception('Age must be at least 18.');
  }
}

void main() {
  try {
    checkAge(15);
  } catch (e) {
    print('Caught an exception: $e');
  }
}

finally

finally 无论是否引发异常都会执行,常用于释放资源。

示例:

dart
void main() {
  try {
    int result = 10 ~/ 0;
    print(result);
  } catch (e) {
    print('Error: $e');
  } finally {
    print('Execution finished.');
  }
}
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!