지금까지 코드는 위에서 아래로 순차적으로 진행되었지만 조건에 따라 건너뛰거나 반복해야 할 때가 있다.
이러한 경우 제어문(control statement)를 이용하는데, 제어문에는 조건문과 반복문이 있다.
조건문은 블럭{}으로 구성되며 조건식에 결과에 따라 실행흐름을 변경할 수 있다.
if 조건문의 형식은 다음과 같다.
> if (조건식) { // 블록의 시작
// 조건식이 true일때 실행할 코드
}; // 블록의 끝****
if문에 사용되는 조건식은 일반적으로 비교연산자와 논리연산자로 구성된다.
또, 조건식의 결과는 항상 true 또는 false가 되야하며
true시 블록안에있는 코드가 실행되며 false시 블록안에 코드는 무시된다.
package study;
public class study {
public static void main(String [] args) {
int a = 10;
if(a == 10) { //블록 시작
System.out.println("a 는 10입니다");
} //블록 끝
if(a != 10) {
System.out.println("a 는 10이 아닙니다.");
}
}
}
a 는 10입니다
위 예시의 두 조건문을 보면 첫 번째 조건문에서는 a가 10과 같기 때문에 조건식의 결과는 true이며, 블록안에있는 문장을 출력한다.
하지만 두번째 조건문의 경우 조건식이 false의 결과를 얻어 블록안에 코드가 무시되는걸 알 수있다.
package study;
public class study {
public static void main(String [] args) {
int a = 10;
if(a < 100) {
System.out.println("a는 100보다 작습니다.");
if (a <= 10) {
System.out.println("a는 10보다 작거나 같습니다");
}
}
}
}
a는 100보다 작습니다.
a는 10보다 작거나 같습니다
if문은 if문 블럭 안에 if문을 포함시키는 것이 가능한데 이를 중첩 if문이라고 한다.
위 예시는 첫번째 조건식에 참이 나올경우 두번째 조건식을 수행하는 형태이며, a는 10이기 때문에 첫번째 조건식과 두번째 조건식이 모두 참으로 두 블록안에 코드를 수행하는 것을 알 수 있다.