カテゴリ: Rust 更新日: 2026/03/26

Rustのbool型と論理演算を完全解説!条件分岐と一緒に基礎から理解しよう

Rustのbool型と論理演算の使い方を条件分岐とあわせて理解する
Rustのbool型と論理演算の使い方を条件分岐とあわせて理解する

先生と生徒の会話形式で理解しよう

生徒

「Rustのbool型って、他の言語と何が違うんですか?trueとfalseを使うだけですよね?」

先生

「Rustのbool型はシンプルですが、条件分岐論理演算と組み合わせることで、安全で読みやすいプログラムが書けるようになります。基本がとても大切です。」

生徒

「if文の条件に書くのがbool型なんですよね?」

先生

「その通りです。Rustでは条件式は必ずbool型になります。曖昧な書き方ができない分、バグを防ぎやすいのが特徴です。順番に見ていきましょう。」

1. Rustのbool型とは何か

1. Rustのbool型とは何か
1. Rustのbool型とは何か

Rustのbool型は、真か偽かという二つの状態だけを表すデータ型です。値はtrueまたはfalseのどちらかになります。Rustは静的型付け言語のため、bool型として宣言された変数には、必ず真偽値だけが入ります。この制約によって、条件分岐の判定が明確になり、意図しない動作を防ぎやすくなります。

初心者の方は、bool型は「判断の結果を入れる箱」と考えると理解しやすいでしょう。条件が成立しているか、していないか、その結果を安全に扱うための型がbool型です。

2. bool型の基本的な宣言と使い方

2. bool型の基本的な宣言と使い方
2. bool型の基本的な宣言と使い方

Rustでは変数をletで宣言し、bool型の値を代入します。型注釈を書かなくても、代入される値から自動的にbool型だと推論されます。この型推論もRustの特徴です。


fn main() {
    let is_rust_fun = true;
    let is_difficult = false;

    println!("{}", is_rust_fun);
    println!("{}", is_difficult);
}

このように、bool型は特別な書き方を必要とせず、直感的に使えます。プログラムの状態を表すフラグとして使われることが多く、「ログインしているか」「処理が完了したか」といった判定に向いています。

3. 条件分岐とbool型の関係

3. 条件分岐とbool型の関係
3. 条件分岐とbool型の関係

Rustのif文では、条件式に必ずbool型が必要です。他の言語のように数値をそのまま条件として使うことはできません。このルールにより、条件の意味が明確になり、読み手にも優しいコードになります。


fn main() {
    let age = 20;
    let is_adult = age >= 18;

    if is_adult {
        println!("成人です");
    } else {
        println!("未成年です");
    }
}

比較演算の結果はbool型になります。その結果を変数に入れ、条件分岐で使うことで、処理の意図がはっきりします。初心者の方は、条件を直接if文に書くよりも、一度bool型の変数に代入する書き方を意識すると理解が深まります。

4. 論理演算子の基本

4. 論理演算子の基本
4. 論理演算子の基本

Rustには三つの代表的な論理演算子があります。論理積、論理和、否定です。これらは複数のbool型の値を組み合わせて、新しい判定を作るために使います。

論理演算を使うことで、「かつ」「または」「ではない」といった条件を正確に表現できます。条件分岐が複雑になり始めたときに、論理演算子の理解が重要になります。

5. 論理積と論理和を使った条件分岐

5. 論理積と論理和を使った条件分岐
5. 論理積と論理和を使った条件分岐

論理積は、すべての条件が真のときに真になります。論理和は、どれか一つでも真であれば真になります。これらを使うことで、複数条件を組み合わせた分岐が可能になります。


fn main() {
    let has_ticket = true;
    let has_id = true;

    if has_ticket && has_id {
        println!("入場できます");
    } else {
        println!("入場できません");
    }
}

この例では、チケットと身分証の両方を持っている場合のみ入場できる、という現実的な条件を表しています。bool型と論理演算を使うことで、現実のルールをそのままコードに落とし込めます。

6. 否定演算子による判定の反転

6. 否定演算子による判定の反転
6. 否定演算子による判定の反転

否定演算子は、bool型の値を反転させます。真は偽に、偽は真になります。条件分岐では、「そうでない場合」を簡潔に表現できるため、非常によく使われます。


fn main() {
    let is_logged_in = false;

    if !is_logged_in {
        println!("ログインしてください");
    }
}

否定を使うことで、条件を読みやすく保つことができます。無理に複雑な条件を書かず、bool型の意味が自然に伝わる名前を付けることが重要です。

7. bool型と関数の戻り値

7. bool型と関数の戻り値
7. bool型と関数の戻り値

Rustでは関数の戻り値としてbool型を使うこともよくあります。判定処理を関数として切り出すことで、コード全体の見通しが良くなります。条件分岐と組み合わせることで、再利用しやすい構造になります。


fn is_even(number: i32) -> bool {
    number % 2 == 0
}

fn main() {
    let value = 4;

    if is_even(value) {
        println!("偶数です");
    } else {
        println!("奇数です");
    }
}

このように、bool型は条件分岐の中心となる存在です。Rustの基本構文を理解するうえで、bool型と論理演算の考え方は避けて通れません。

カテゴリの一覧へ
新着記事
New1
C++
C++の値渡し(pass by value)とは?仕組みと使い方を初心者向けに徹底解説
New2
C++
C++とポインタ・参照の重要性をやさしく解説!初心者でも理解できる仕組みと使い方
New3
C++
GCCでC++開発を始める方法!初心者向け完全ガイド
New4
Rust
Rustの式(Expression)と文(Statement)の違いを徹底解説!初心者が迷うセミコロンの秘密
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.2
Java&Spring記事人気No2
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
No.3
Java&Spring記事人気No3
C言語
LinuxでC言語開発環境を構築する方法【GCCとMakefileの基本】
No.4
Java&Spring記事人気No4
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.5
Java&Spring記事人気No5
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.6
Java&Spring記事人気No6
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.7
Java&Spring記事人気No7
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.8
Java&Spring記事人気No8
C++
CMakeの役割と導入方法をやさしく解説!C++開発環境構築ガイド