【Aモデル録 フェーズ1 C#基礎】
否定(NOT)とは、「true / false を、ひっくり返す演算子」です。
👉 true を false に
👉 false を true に
結果を反転させるスイッチだと思ってください。
!
読み方は:
「〜ではない」
「否定」
「!」は、対象となる判断文の直前に、スペースなしで、書かなければなりません。
他の演算子とは、書く場所とスペースの使い方が違います。
ここまでの役割分担:
比較演算子
👉 判定を作る(true / false)
論理演算子(&& / ||)
👉 判定を組み立てる
否定(!)
👉 判定結果を反転する
bool isOpen = true;
!isOpen
これは:
「開いている ではない!」 = 「開いていない」
結果は:
isOpen が true
!isOpen は false
👉 中身を逆にしただけ
bool isRainy = true;
if (!isRainy) // ←使ってるのはここ。
{
Console.WriteLine("傘はいらない");
}
else
{
Console.WriteLine("傘が必要");
}
読み方:
「もし、雨ではない なら、傘はいらない」
雨が降ってる、ではない!
「でなければ、傘が必要」
雨が降ってる
ポイントはこれ:
!isRainyisRainy(雨が降っている)を否定する!否定したい時の 「!」 を意識することが大事。
int age = 15;
if (!(age >= 18))
{
Console.WriteLine("未成年です");
}
中身を分解すると:
age >= 18 → false = 「18以上ではない」と判断
!(false) → true = 「18以上ではない判断したもの」を反転 = 「じゃあ、18以下だ」
👉 条件を丸ごと反転している
(age >= 18)
ここは、「!」の処理との優先順位分けのために「()」で囲ってあります。
先に()内の判断をさせる必要があるからです。
これは、算数と同じ。
Aモデル的に言うと:
比較演算子:表の条件
&& / ||:条件の組み立て
!:条件の裏返し
人間の思考そのままです。
「できる」
→「でき ない」「空いてる」
→「空いて ない」
if (!age >= 18) // ← これはダメ
理由:
! は true / false にしか使えない
age は 数字
正しくは:
if (!(age >= 18))
👉 否定したい条件だけを ( ) でくくる
「今日は休日」
→ NOT →「今日は休日じゃない!」
この段階では:
使いこなせなくていい
自分で組めなくていい
今はただ、
「条件は、ひっくり返せる」
「!(NOT)がある」
これを 知る ことが大事です。