条件演算子
CoddyのDartジャーニー「基礎」セクションの一部。レッスン 30/94。
条件演算子(?:)を使うと、if-else文を1行で簡潔に書けます。
condition ? expressionIfTrue : expressionIfFalse例:
void main() {
int age = 20;
String status = age >= 18 ? 'Adult' : 'Minor';
print(status);
}出力:Adult
さまざまなデータ型に対応しており、単純な条件付き代入に最適です。
チャレンジ
簡単条件演算子(?:)を使って、ゲームでプレイヤーがレベルアップするのに十分なポイントを持っているかどうかを判定するプログラムを作成しましょう。
- 値が750の整数型変数
playerScoreを宣言します - 値が500の整数型変数
levelUpThresholdを宣言します - 条件演算子を使って、次のいずれかを示す文字列メッセージを作成します。
- プレイヤーのスコアがしきい値以上の場合は「Level up!」
- プレイヤーのスコアがしきい値未満の場合は「Keep trying!」
- このメッセージを
messageという文字列型変数に格納します - 次の形式でプレイヤーのスコアを出力します:
Player score: 750 - メッセージを出力します
- プレイヤーのスコアを450に更新します
- 条件演算子をもう一度使い、新しいスコアに基づいてメッセージを更新します
- 次の形式で更新後のプレイヤーのスコアを出力します:
Player score: 450 - 更新後のメッセージを出力します
出力は期待される形式と完全に一致する必要があります。
自分で試してみよう
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);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Dartオンラインコンパイラ