Javaの論理演算子(&&, ||, !)の使い方を学ぼう
新人
「Javaで複数の条件を組み合わせたいときは、どうすればいいんですか?」
先輩
「そんなときは『論理演算子』を使えばいいよ。条件をつなげたり反転させたりできる便利な記号なんだ。」
新人
「えっ、記号でそんなことができるんですか?」
先輩
「うん。今回はその『論理演算子』の使い方をわかりやすく解説していこう!」
1. 論理演算子とは?
Javaの論理演算子(ろんりえんざんし)とは、true(真)やfalse(偽)といった真偽値(しんぎち)を使って、「複数の条件をつなげる」「条件を反転させる」などの操作を行う記号です。
論理演算子は、主に条件分岐などで使われ、if文などの判断材料として大きな役割を果たします。
たとえば「ユーザーがログインしていて、かつ管理者である」といったような、複数の条件を同時にチェックしたい場面でとても役立ちます。
2. Javaで使える論理演算子の種類と意味
Javaには、次の3つの基本的な論理演算子があります。それぞれの意味と使い方を見ていきましょう。
&&(アンド)「両方の条件がtrueならtrue」になります。どちらかがfalseならfalseになります。
||(オア)「どちらか1つでもtrueならtrue」になります。両方がfalseのときだけfalseになります。
!(ノット)「trueをfalseに、falseをtrueに」反転させます。
3. 各論理演算子の使い方と例
では、実際のJavaコードで論理演算子を使ってみましょう。
public class LogicalOperatorsExample {
public static void main(String[] args) {
boolean isMember = true;
boolean hasCoupon = false;
// &&(アンド)の例
System.out.println("会員かつクーポンあり: " + (isMember && hasCoupon));
// ||(オア)の例
System.out.println("会員またはクーポンあり: " + (isMember || hasCoupon));
// !(ノット)の例
System.out.println("クーポンがない: " + (!hasCoupon));
}
}
このコードを実行すると、次のような結果が表示されます。
会員かつクーポンあり: false
会員またはクーポンあり: true
クーポンがない: true
&&は両方がtrueでないとfalseになり、||はどちらかがtrueならtrueになります。!は値を反転させるので、falseがtrueに変わります。
4. 複数条件の組み合わせに論理演算子を使う例
Javaの論理演算子は、単独の条件だけでなく、複数の条件を組み合わせて使うことができます。たとえば「商品の価格が1000円以上、かつ在庫が10個以上ある場合に販売を許可する」といった複雑な条件も、論理演算子を使えば1行で表現できます。
以下は、&&や||を使った複数条件の組み合わせの例です。
public class LogicCheck {
public static void main(String[] args) {
int price = 1200;
int stock = 5;
boolean isSellable = (price >= 1000) && (stock >= 10);
System.out.println("販売可能か: " + isSellable);
boolean hasDiscount = (price > 1000) || (stock > 20);
System.out.println("割引対象か: " + hasDiscount);
}
}
このように、条件式を()で囲みながら&&や||を挟んで記述することで、複数の条件を組み合わせてチェックできます。
5. よくある注意点
論理演算子を使うときに初心者がつまずきやすいポイントがいくつかあります。特に以下の点に注意しましょう。
trueは「条件に当てはまる」、falseは「当てはまらない」という意味です。たとえば「年齢が18歳以上」をage >= 18と書くと、その条件が当てはまるときはtrueが返されます。
複数の条件を組み合わせるときは、式全体を()で囲むようにすると読みやすく、バグも起きにくくなります。
!は値を反転するため、「!trueはfalse」、「!falseはtrue」になります。複雑な条件で!を使う場合は、反転する対象に()をつけるとわかりやすくなります。
boolean isLoggedIn = false;
// !の使い方(ログインしていない場合)
if (!isLoggedIn) {
System.out.println("ログインしてください。");
}
!は小さな記号ですが、意味が大きく変わるので注意が必要です。
6. 論理演算子を使いこなすための練習方法
論理演算子は、条件式が増えるほど混乱しやすくなるため、まずは「1つずつの条件がtrueかfalseかを確認する練習」から始めるのがおすすめです。
以下のように、小さなプログラムで結果をひとつずつ確かめていくことで、自然と論理演算子の使い方に慣れていきます。
public class LogicPractice {
public static void main(String[] args) {
int score = 85;
boolean isHighScore = score >= 80;
boolean isPerfect = score == 100;
System.out.println("高得点か: " + isHighScore);
System.out.println("満点か: " + isPerfect);
// 両方の条件を組み合わせてみよう
boolean isExcellent = isHighScore && isPerfect;
System.out.println("優秀な成績か: " + isExcellent);
}
}
このように、trueかfalseの結果を画面に出力して確認しながら、条件の組み合わせに慣れていくと、複雑な条件でも迷わず書けるようになります。
また、System.out.println()で結果を表示することで、何が起きているかをすぐに目で確認できるため、初心者にとってとても効果的な学習方法です。
条件が複雑になる前に、まずは基本の形でしっかり論理演算子の働きを身につけていきましょう。