条件演算子
CoddyのDartジャーニー「基礎」セクションの一部 — レッスン 30/94。
条件演算子 (?:) は、if-else 文を 1 行で簡潔に記述するための方法を提供します:
condition ? expressionIfTrue : expressionIfFalse例:
void main() {
int age = 20;
String status = age >= 18 ? 'Adult' : 'Minor';
print(status);
}出力: Adult
それは異なるデータ型で動作し、簡単な条件付き割り当てに最適です。
チャレンジ
簡単条件演算子 (?:) を使用して、ゲームでプレイヤーがレベルアップに十分なポイントを持っているかどうかを判定するプログラムを作成してください:
- 整数変数
playerScoreを 750 の値で宣言してください - 整数変数
levelUpThresholdを 500 の値で宣言してください - 条件演算子を使用して、以下のいずれかの文字列メッセージを作成してください:
- プレイヤーのスコアがしきい値以上であれば "Level up!"
- プレイヤーのスコアがしきい値未満であれば "Keep trying!"
- このメッセージを
messageという名前の文字列変数に格納してください - プレイヤーのスコアを
Player score: 750の形式で出力してください - メッセージを出力してください
- プレイヤーのスコアを 450 に更新してください
- 新しいスコアに基づいてメッセージを更新するために、条件演算子を再度使用してください
- 更新されたプレイヤーのスコアを
Player score: 450の形式で出力してください - 更新されたメッセージを出力してください
出力は期待される形式と完全に一致する必要があります。
チートシート
条件演算子 (?:) は、if-else 文を1行で簡潔に記述する方法を提供します:
condition ? expressionIfTrue : expressionIfFalse例:
int age = 20;
String status = age >= 18 ? 'Adult' : 'Minor';それは異なるデータ型で動作し、単純な条件付き代入に理想的です。
自分で試してみよう
void main() {
// ここで変数を宣言してください
int playerScore = _;
int levelUpThreshold = _;
// 条件演算子を使用して最初のメッセージを作成します
String message = playerScore >= levelUpThreshold ? _ : _;
// プレイヤーのスコアとメッセージを印刷します
print("Player score: $playerScore");
print(message);
// プレイヤーのスコアを更新します
playerScore = _;
// 条件演算子を使用してメッセージを更新します
message = playerScore >= levelUpThreshold ? _ : _;
// 更新されたプレイヤーのスコアとメッセージを印刷します
print("Player score: $playerScore");
print(message);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。