Menu
Coddy logo textTech

条件演算子

CoddyのDartジャーニー「基礎」セクションの一部。レッスン 30/94。

条件演算子?:)を使用すると、if-else 文を 1 行で簡潔に記述できます。

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;

  // 条件演算子を使って最初のメッセージを作成してください
  // 2つの空のテキストをタスクで求められているメッセージに置き換えてください
  String message = playerScore >= levelUpThreshold ? "" : "";

  // プレイヤースコアとメッセージを出力してください
  print("Player score: $playerScore");
  print(message);

  // プレイヤースコアを更新してください
  // ゼロをタスクで求められている更新後のスコアに置き換えてください
  playerScore = 0;

  // 条件演算子を使ってメッセージを更新してください
  message = playerScore >= levelUpThreshold ? "" : "";

  // 更新されたプレイヤースコアとメッセージを出力してください
  print("Player score: $playerScore");
  print(message);
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Dartオンラインコンパイラ