mizzsugar’s blog

Pythonで学んだことや読書録を書きます。

【Java入門・Python入門】if文とswitch文

If文は条件が決まっている時、条件が範囲指定の時に利用します。

例えば、 18歳未満なら運転できず、18歳以上なら運転できるという条件のもと、 誰が運転できて誰が運転できないかの文章を表示するクラスは以下のようになります。

Java】 Personクラス

public class Person {

    private int age = 0;
    private String name = "";

    public Person(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public void judge() {
        if (this.age < 18) {
            System.out.println(this.name + "は、運転できません。");
        } else {
            System.out.println(this.name + "は、運転できます。");
        }
    }

}

Mainクラス

public class Main {

    public static void main(String[] args) {
        Person ayumi = new Person(17, "Ayumi");
        Person bob = new Person(19, "Bob");

        ayumi.judge();
        bob.judge();
    }

}

Python】 Personクラス

class Person:
    def __init__(self, age, name):
        self.age = age
        self.name = name

    def judge(self):
        if age < 18:
            print(self.name + "は、運転できません。")
        else:
            print(self.name + "は、運転できます。")


ayumi = Person(17, "Ayumi")
bob = Person(19, "Bob")

ayumi.judge()
bob.judge()

Switch文は1つの変数の値に対して条件分岐を行います。

例えばサイコロ占いで 1が出たら大吉 2が出たら中吉 3が出たら吉 4が出たら小吉 それ以外が出たら凶 というクラスを作成します。

Java】Fortuneクラス

public class Fortune {

    public static void main(String[] args) {
        int random = (int) (Math.random() * 6 + 1);
        switch (random) {
        case 1:
            System.out.println("大吉");
            break;
        case 2:
            System.out.println("中吉");
            break;
        case 3:
            System.out.println("吉");
            break;
        case 4:
            System.out.println("末吉");
            break;
        case 5:
            System.out.println("凶");
            break;
        case 6:
            System.out.println("大凶");
            break;
     default:
            break;
        }
    }
}

Pythonには、Switch文はありません。 ここでは代わりに、if文を使ってSwitch文のようなことをします。

Python】Fortuneクラス

class Fortune:
    def dice(n):
            if n  == 1:
            return "大吉"
            elif n == 2:
            return "中吉"
            elif n == 3:
            return "吉"
            elif n == 4:
            return "小吉"
            else:
            return "凶"


for n in range(5):
    print(dice(random.choice([1, 2, 3, 4, 5, 6])))