본문 바로가기

BackEnd/Java

[java] 조건문(if, switch문)

728x90
반응형
1. if문

 

if(조건식) {
	// 실행부
}
// 조건식 : 식의 결과가 참 또는 거짓으로 구분될 수 있는 문장
// 실행부 : 조건식의 결과가 참이면 실행합니다.

 

 

2. if-esle문

 

if(조건식) {
	// 실행부1
} else {
	// 실행부2
}
// 조건식  : 식의 결과가 참 또는 거짓으로 구분될 수 있는 문장
// 실행부1 : 조건식의 결과가 참이면 실행합니다.
// 실행부2 : 조건식의 결과가 거짓이면 실행합니다.

 

 

3. if-else if문

 

if(조건1) {
	// 실행부1
} else if(조건2) {
    // 실행부2
} else if(조건3) {
    // 실행부3
} else {
	// 실행부4
}
// 조건1을 만족하면 실행부1을 실행합니다.
// 조건1을 만족하지 않고 조건2를 만족하면 실행부2를 실행합니다.
// 조건1, 2를 만족하지 않고 조건3을 만족하면 실행부3을 실행합니다.
// 조건1, 2, 3을 모두 만족하지 않으면 실행부4를 실행합니다.
package java1207;
import java.util.Scanner;

public class if_else {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner scan = new Scanner(System.in);
				
//		int age = scan.nextInt();
		
		int age;
		String tmp = scan.nextLine();
		age = Integer.parseInt(tmp);
        	// 변수를 숫자형으로 입력 받아도 문자형으로 잘못 인식해서
        	// 오류가 뜰 수 있으므로 위와 같은 코드를 사용합니다.
		
		if(age > 19) {
			System.out.println("성인입니다.");
			System.out.println("성인요금이 적용됩니다.");
		}
		
		else if(age > 13) {
			System.out.println("청소년입니다.");
			System.out.println("청소년 요금이 적용됩니다."); 
		}
		
		else if(age > 8) {
			System.out.println("어린이입니다.");
			System.out.println("어린이 요금이 적용됩니다.");
		}
		
		else {
			System.out.println("유아입니다.");
			System.out.println("유아요금이 적용됩니다.");
		}
		
		System.out.println("결제를 진행해 주세요.");
		
	}
}
19
청소년입니다.
청소년 요금이 적용됩니다.
결제를 진행해 주세요.

 

변수를 입력하면 값에 따라 원하는 출력 값이 나타납니다.

 

 

4. 중첩 if문

 

if(조건1) {
	// 실행부1
    if(조건2){
    	//실행부2
    }
} else {
	// 실행부3
}
// 조건1을 만족하면 실행부1을 실행합니다.
// 조건1을 만족하고 조건2를 만족하면 실행부1을 실행한 후 실행부2를 실행합니다.
// 조건1을 만족하지 않으면 실행부3을 실행합니다.
package java1207;
import java.util.Scanner;

public class if_if1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner scan = new Scanner(System.in);
						
		int testScore;
		String tmp1 = scan.nextLine();
		testScore = Integer.parseInt(tmp1);
		
		int interviewScore;
		String tmp2 = scan.nextLine();
		interviewScore = Integer.parseInt(tmp2);
		
		if(testScore >= 80) {
			System.out.println("면접 대상입니다.");
			if(interviewScore >= 60) {
				System.out.println("합격입니다.");
			} else {
				System.out.println("면접에서 탈락입니다.");
			}
		} else {
			System.out.println("불합격입니다.");
		}
	}
}

 

 

5. switch문

 

switch(조건식) {
	case 값1:
    	//조건식의 결과와 값1이 같은 경우 실행
		break;
	case 값2:
    	//조건식의 결과와 값2가 같은 경우 실행
		break;
    default:
    	//조건식의 결과와 일치하는 값이 없을 때 실행
}

 

조건식의 결과는 정수 또는 문자열이며, case문의 값과 비교해 알맞은 case를 찾아 실행합니다.

break문을 따로 작성하지 않으면 case1, case2, default 값이 모두 출력이 되는 오류가 발생합니다.

 

package java1208;
import java.util.Scanner;

public class switch1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner scan = new Scanner(System.in);
		
		int book = scan.nextInt();
		
		System.out.println("읽은 책 수는 : " + book + "권");

		book = book / 10;
		
		switch(book) {
		case 0:
			System.out.println("조금 더 노력하세요!");
			break;
		case 1:
			System.out.println("책 읽는 것을 즐기는 분이시네요!");
			break;
		case 2:
			System.out.println("책을 사랑하는 분이시네요!");
			break;
		default:
			System.out.println("당신은 다독왕입니다!!");
			break;
		}
	}
}
package java1208;
import java.util.Scanner;

public class switch2 {

	public static void main(String[] args) {
		// YES/yes/NO/no
		
		Scanner scan = new Scanner(System.in);
		
		System.out.println("YES/yes 또는 NO/no를 입력하세요 : ");
		String yn = scan.nextLine();
		
				
		switch(yn) {
		case "YES":
		case "yes":
			System.out.println("YES를 선택하셨습니다!");
			break;
			
		case "NO":
		case "no":
			System.out.println("NO를 선택하셨습니다!");
			break;
			
		default:
			System.out.println("입력이 잘못 되었습니다.");
			break;
		}
	}
}

 

 

조건문은  조건을 지정하여 원하는 출력 값을 얻을 수 있기때문에 가장 많이 사용되며 알아두면 아주 유용한 구문입니다.

 

오늘도 화이팅!!

 

 

728x90
반응형

'BackEnd > Java' 카테고리의 다른 글

[java] 2022.12.09 연습 문제 풀이  (1) 2022.12.13
[java] 다차원 배열  (1) 2022.12.13
[java] 배열(array)  (0) 2022.12.12
[java] 2022.12.08 추가 연습 문제 풀이  (0) 2022.12.12
[java] 2022.12.08 연습 문제 풀이  (2) 2022.12.12