#04. JAVA_제어문 (if문)
제어문이란 프로그램의 흐름을 제어하는 문장이라는 뜻으로 분기문, 반복문으로 나뉜다. 분기문의 종류로는 if문, switch문이 있고, 반복문의 종류로는 for문, while문 등 여러 가지가 있다.
그 중 오늘 다룰 것은 if문이다.
if문 : 하나의 조건식을 통해서 조건식이 참이면 주어진 명령을 수행하는 제어문이다. if문의 사용법은 다음과 같다.
if(조건식){
조건식이 참일 때 실행되는 영역
}
//메인함수 안에
int n = 7;
String str = ""; //String은 여러 글자(문자열)을 저장할 수 있는 자료형이다.
if( n == 10 ){ //참 또는 거짓 중 하나의 값을 갖는 조건식
str = "n은 10";
}
if( n != 10 ){
str = "n은 10이 아님";
}
System.out.println(str);
하지만 위의 코드는 비효율적인 부분이 있다. 첫 번째 if문의 조건식에서 n이 10인지 아닌지 판별하는 과정을 거친다. 하지만 그 뒤에 나오는 if문의 조건식에서도 n이 10인지 아닌지 판별한다면 효율적이지 못하다고 할 수 있다. 이를 개선하기 위해서 if-else를 같이 사용하는 경우가 많다.
if-else는 하나의 조건을 정의하고 그 조건이 참일 때와 거짓을 때를 모두 판단할 수 있는 제어문이다. 사용법은 다음과 같다.
if(조건식){
조건식이 참일 때 실행되는 영역
}
else{
조건식이 거짓일 때 실행되는 영역
}
else를 사용해 위의 코드를 조금 고치면 더 효율적으로 프로그래밍할 수 있다.
//메인함수 안에
int n = 7;
String str = ""; //String은 여러 글자(문자열)을 저장할 수 있는 자료형이다.
if( n == 10 ){ //if문의 조건이 참일 경우, 명령을 실행한 후 else영역은 실행하지 않고 빠져나감
str = "n은 10";
}
else{
str = "n은 10이 아님";
}
System.out.println(str);
하지만 조금 더 복잡한 문제를 해결하기 위해서는 if와 else 말고도 더 알아야 할 게 있다. 바로 else if이다. else if를 통해 여러 개의 조건식을 비교할 수 있다. 사용법은 다음과 같다.
if(조건식1){
조건식1이 참일 때 실행되는 영역
}else if(조건식2){
조건식2가 참일 때 실행되는 영역
}else{
위의 모든 조건식이 거짓일 때 실행되는 영역
}
성적에 따라 90점 이상이면 A, 80점 이상, 90점 미만이면 B, 70점 이상, 80점 미만이면 C, 그 이하면 F를 출력하도록 코딩해보자.
int num = 65;
String str = "";
if( num >= 90 ) {
str = "A";
}else if( num >= 80 ) {
str = "B";
}else if( num >= 70 ) {
str = "C";
}else {
str = "F";
}
System.out.println(str);