Logical Operators Part 4
CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 26/73。
ド・モルガンの法則は、NOTを含む式を簡略化するのに役立つ規則です。論理式を扱う際、それらを簡略化したり並べ替えたりする必要があることがあります。
and で結ばれた2つの条件の前に not がある場合、それを2つの別々の部分に分割することができます。and は or になり、各部分にそれぞれの not が付きます:
!(A && B) は (!A) || (!B) と同じです。
例えば:
// 数値が(1から10の間)ではないかどうかを確認しましょう
int number = 15;
// これら2つの式は等価です:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);
System.out.println(result1); // true
System.out.println(result2); // trueその逆もまた正しいです:!(A || B) は (!A) && (!B) と同じです
例えば:
// ある人が(学生でもなく、雇用もされていない)かどうかを確認する
boolean isStudent = false;
boolean isEmployed = false;
// これら2つの式は等価です:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);
System.out.println(result1); // true
System.out.println(result2); // trueチャレンジ
初心者ペットショップが、顧客にペットを販売できるかどうかを判断するシステムを作成するのを手伝っています。
次の変数を初期化してください:
- 値
trueを持つhasLicense - 値
falseを持つhasSpace - 値
trueを持つhasExperience
次の論理式を記述して、以下を判定してください:
canSellRegularPet: 顧客はライセンスまたは経験のいずれかが必要で、かつスペースが必要ですcanSellExoticPet: 顧客はライセンスと経験の両方が必要で、かつスペースが必要ですcannotSellAnyPet: 顧客はライセンスも経験もなく、またはスペースがありませんresult:canSellRegularPetまたはcanSellExoticPetまたはcannotSellAnyPet
ヒント: 変数がたまたま保持している値ではなく、要件が記述している条件を記述してください。"Must have space" → hasSpace、"has NO space" → !hasSpace。! は、"has NO license" → !hasLicense のように、要件が変数名の状態と逆である場合にのみ使用してください。
自分で試してみよう
public class Main {
public static void main(String[] args) {
// 変数を初期化する
// 条件を計算する
boolean canSellRegularPet =
boolean canSellExoticPet =
boolean cannotSellAnyPet =
boolean result =
// 以下の行を削除しないでください
System.out.println("Can sell regular pet: " + canSellRegularPet);
System.out.println("Can sell exotic pet: " + canSellExoticPet);
System.out.println("Cannot sell any pet: " + cannotSellAnyPet);
System.out.println("Result: " + result);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else