Menu
CoddyTech

条件运算符

本课属于 Coddy Dart 学习旅程的“基础知识”单元。第 30 课,共 94 课。

条件运算符(?:)提供了一种简洁的方式,可以在一行中编写 if-else 语句:

condition ? expressionIfTrue : expressionIfFalse

示例:

void main() {
  int age = 20;
  String status = age >= 18 ? 'Adult' : 'Minor';
  
  print(status);
}

输出:Adult

它适用于不同的数据类型,非常适合简单的条件赋值。

challenge icon

挑战

简单

创建一个程序,使用条件运算符(?:)判断玩家在游戏中是否有足够的分数来升级:

  1. 声明一个值为 750 的整数变量 playerScore
  2. 声明一个值为 500 的整数变量 levelUpThreshold
  3. 使用条件运算符创建一条字符串消息,内容为以下二者之一:
    • 如果玩家的分数大于或等于阈值,则为"Level up!"
    • 如果玩家的分数小于阈值,则为"Keep trying!"
  4. 将这条消息存储在名为 message 的字符串变量中
  5. 按照以下格式输出玩家的分数:Player score: 750
  6. 输出这条消息
  7. 将玩家的分数更新为 450
  8. 再次使用条件运算符,根据新的分数更新这条消息
  9. 按照以下格式输出更新后的玩家分数:Player score: 450
  10. 输出更新后的消息

你的输出应与预期格式完全一致。

亲手试试

void main() {
  // 在这里声明你的变量
  // 将每个零替换为任务要求的值
  int playerScore = 0;
  int levelUpThreshold = 0;

  // 使用条件运算符生成第一条消息
  // 将两处空文本替换为任务要求的消息
  String message = playerScore >= levelUpThreshold ? "" : "";

  // 输出玩家得分和消息
  print("Player score: $playerScore");
  print(message);

  // 更新玩家得分
  // 将零替换为任务要求的更新后得分
  playerScore = 0;

  // 使用条件运算符更新消息
  message = playerScore >= levelUpThreshold ? "" : "";

  // 输出更新后的玩家得分和消息
  print("Player score: $playerScore");
  print(message);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Dart 在线编译器