[Java] 제어문1 - 조건문
조건문이란 주어진 조건에 따라 프로그램의 진행방향이 분기될 수 있도록 해주는 문법이다.
조건문의 종류로는 if문 else문 else if문 switch문 등으로 나눌 수 있다.
if문
if(조건식) {
자바코드;
}
if뒤의 따라오는 소괄호 ( ) 안에 조건식이 들어가며 조건식의 결과가 트루인 경우 중괄호 { } 안에 자바 코드가 실행된다.
조건에 맞지 않다면 다음 코드로 넘어가게 된다.
if(true) {
System.out.println("true");
}
int num1 = 10;
int num2 = 20;
if(num1 >= num2) { //조건식의 결과가 거짓이기 때문에 안에 코드가 실행되지 않는다.
System.out.println("num1이 num2보다 크거나 같습니다.");
}
if(num1 == 10) {
if(num2 == 20) {
System.out.println("num1은 10이고 num2는 20입니다.");
}
}
if문을 중첩으로 사용할 수도 있다. 밖에 있는 if문의 조건식이 true이고 안에있는 if문의 조건식도 true라면 코드가 실행된다.
else문
else문은 if문의 뒤에 따라 붙어 if문의 조건식이 false일 경우 실행되는 코드이다.
int num1 = 10;
int num2 = 20;
if(num1 >= num2) { //조건식의 결과가 거짓이기 때문에 안에 코드가 실행되지 않는다.
System.out.println("num1은 num2보다 크거나 같습니다.");
} else {
System.out.println("num1은 num2보다 크거나 같지 않습니다.");
}
위 코드를 보면 if문의 조건식이 false이기 때문에 else 문 안에 코드가 실행되게 된다.
else if문
else if문은 여러 개의 조건식 중 하나를 선택할 때 사용할 수 있는 다중 조건문이다.
if 문 뒤에 붙으며 if문의 조건식이 false 라면 else if문의 조건식을 검사하고 결과가 true라면 else if문 안에 코드를 실행한다.
Scanner sc = new Scanner(System.in);
int score = 0;
System.out.print("당신의 점수는 ? : ");
score = sc.nextInt();
if(score >= 90) {
System.out.println("당신의 점수는 90점 이상입니다.");
} else if(score >= 80) {
System.out.println("당신의 점수는 80점 이상입니다.");
} else if(score >= 70) {
System.out.println("당신의 점수는 70점 이상입니다.");
} else if(score >= 60) {
System.out.println("당신의 점수는 60점 이상입니다.");
} else {
System.out.println("더 분발하세요.");
}
위의 코드는 점수를 입력하고 점수의 맞는 else if문을 찾아 그 안에 코드를 실행시키는 예이다.
if문이나 else if문안에서 조건을 찾지 못하면 else 문에 코드를 실행시키고 밖으로 빠져나가게 된다.
switch문
else if문과 비슷하게 여러 개의 조건식 중 해당하는 조건식의 코드가 실행되는 다중 조건문이다.
Scanner sc = new Scanner(System.in);
String season = "";
System.out.print("당신이 좋아하는 계절은? : ");
season = sc.nextLine();
switch (season) {
case "봄": System.out.println("봄을 좋아하시네요!");
break;
case "여름": System.out.println("여름을 좋아하시네요!");
break;
case "가을": System.out.println("가을을 좋아하시네요!");
break;
case "겨울": System.out.println("겨울을 좋아하시네요!");
break;
default : System.out.println("좋아하는 계절이 없으시군요 ㅜㅜ");
}
위 코드를 보면 좋아하는 계절을 입력받아 각 각 case의 조건에 맞는 코드가 실행된다.
만약 봄을 입력했다면 case "봄" 의 System.out.println문이 실행된다.
만약 조건의 맞는 case가 없다면 default 문을 실행하고 switch문 밖으로 나가게 되며, case가 맞는다며 case문 안에 코드를 실행시키고 break;를 만나면 switch문 밖으로 빠져나가게 된다.
"본 포스팅은 필자가 공부한 것을 정리해 놓은 것으로 오류가 존재할 수 있습니다."