비교 연산자에서 비교 연산의 결과로 참(true)이나 거짓(false)을 얻을 수 있다고 배웠다. 불린은 조건문에서 핵심적인 역할을 담당하는데 이 불린 값을 기준으로 실행 흐름을 제어하기 때문이다.
조건문
조건문이란 주어진 조건에 따라서 애플리케이션을 다르게 동작하도록 하는 것으로 프로그래밍의 핵심 중의 하나라고 할 수 있다.
조건문의 문법
프로그래밍에서 문(文, Statements)은 문법적인 완결성을 가진 하나의 완제품이라고 할 수 있다. if문, for문, while문등이 여기에 해당한다. 절(節마디절, clause)은 문(statements)를 구성하고 있는 부품이라고 할 수 있다.
if(조건) {~} else if(조건) {~} else {~}
조건문은 if로 시작한다. 아래 그림을 보자. if 뒤의 괄호를 if절이라고 부르고, 중괄호가 감싸고 있는 구간을 then 절이라고 부르겠다. 조건문에서는 if 절의 값이 true일 때 then 절이 실행된다. if 절이 false이면 then 절은 실행되지 않는다.
아래는 로그인 시 ID와 패스워드를 체크하여 적절한 로직을 수행하게 분기하는 예제이다.
String id = args[
0
];
String password = args[
1
];
if
(id.equals(
"egoing"
)) {
if
(password.equals(
"111111"
)) {
System.out.println(
"correct password!"
);
}
else
{
System.out.println(
"wrong password~~~~~~"
);
}
}
else
{
System.out.println(
"wrong id~~~~~~~"
);
}
switch 문 : switch(이것이) case 이것이면 : ~ break; default:
조건문의 대표적인 문법은 if문이다. 사용빈도는 적지만 조건이 많다면 switch문이 로직을
보다 명료하게 보여줄 수 있다. 가장 마지막은 default로 끝난다. 즉 주어진 케이스가 없는
경우 default 문이 실행된다는 것을 알 수 있다.
switch 문을 사용할 때 한가지 주의 할 것은 switch의 조건으로는 아래와 같은 몇가지 제한된
데이터 타입 만을 사용할 수 있다.
byte, short, char, int, enum, String, Character, Byte, Short, Integer
int a = Integer.parseInt(args[0]);
System.out.println("a = " + a);
switch(a){
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
case 3:
System.out.println("three");
break;
default:
System.out.println("default");
break;
}
switch문은 동일하게 동작하는 if 문으로 바꿀 수 있다. 위의 코드를 if 문으로 바꿔보자!