# Table of Contents

# Java 제어문

Java의 제어문에 대해 알아보자.

# 조건문

# if else

if else구문은 다음과 같이 사용할 수 있다.

boolean isMarried = true;

if (isMarried) {
    System.out.println("He is married.");
} else {
    System.out.println("He is not married.");
}

# switch

switch구문은 열거형(enum)과 함께 유용하게 사용할 수 있다.

enum Direction {
    EAST, WEST, SOUTH, NORTH
}
Direction direction = Direction.EAST;

switch (direction) {
    case EAST: {
        System.out.println("Go to east.");
        break;
    }
    case WEST: {
        System.out.println("Go to west.");
        break;
    }
    case NORTH: {
        System.out.println("Go to north.");
        break;
    }
    case SOUTH: {
        System.out.println("Go to south.");
        break;
    }
}

# instanceOf

instanceOf는 인스턴스가 특정 클래스의 타입인지 확인할 때 사용한다.

Person person = new Person("Paul");

if (person instanceof Person) {
    System.out.println("person is instance of Person.");
} else {
    System.out.println("person is not instance of Person.");
}

# 반복문

# for

for구문은 다음과 같이 사용할 수 있다.

for (int idx=0; idx<10; idx++) {
    System.out.println(idx);
}

다음과 같이 이중 for문도 가능하다.

String[] arr = {"one", "two", "three", "four", "five"};

for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr.length; j++) {
        System.out.println("i=" + i + ", j=" + j);
    }
    System.out.println(" ");
}
i=0, j=0
i=0, j=1
i=0, j=2
i=0, j=3
i=0, j=4
 
i=1, j=0
i=1, j=1
i=1, j=2
i=1, j=3
i=1, j=4
 
i=2, j=0
i=2, j=1
i=2, j=2
i=2, j=3
i=2, j=4
 
i=3, j=0
i=3, j=1
i=3, j=2
i=3, j=3
i=3, j=4
 
i=4, j=0
i=4, j=1
i=4, j=2
i=4, j=3
i=4, j=4
String[] arr = {"one", "two", "three", "four", "five"};

for (int i = 0; i < arr.length; i++) {
    for (int j = i; j < arr.length; j++) {
        System.out.println("i=" + i + ", j=" + j);
    }
    System.out.println(" ");
}
i=0, j=0
i=0, j=1
i=0, j=2
i=0, j=3
i=0, j=4
 
i=1, j=1
i=1, j=2
i=1, j=3
i=1, j=4
 
i=2, j=2
i=2, j=3
i=2, j=4
 
i=3, j=3
i=3, j=4
 
i=4, j=4
String[] arr = {"one", "two", "three", "four", "five"};

for (int i = 0; i < arr.length; i++) {
    for (int j = i+1; j < arr.length; j++) {
        System.out.println("i=" + i + ", j=" + j);
    }
    System.out.println(" ");
}
i=0, j=1
i=0, j=2
i=0, j=3
i=0, j=4
 
i=1, j=2
i=1, j=3
i=1, j=4
 
i=2, j=3
i=2, j=4
 
i=3, j=4

for구문은 :과 함께 사용할 수도 있다.

Person[] people = {
    new Person("Son", "Korea"),
    new Person("Kane", "England"),
    new Person("Messi", "Argentina")
};

for (Person person: people) {
    person.printName();
}
Son
Kane
Messi

# while

while구문은 조건이 만족할 때 까지 블럭({ .. })을 반복 수행한다.

int idx = 0;
while (idx < 10) {
    System.out.println(idx);
    idx ++;
}