条件演算子
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);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。