본문 바로가기
JAVA

JAVA 조건문 - if문, switch문

by 자바비터 2022. 2. 3.

   조건문 - if문

 

JAVA 조건문 - if문

  • if문은 조건식에 따라 다른 실행문을 실행한다

(1) 조건식이 true일 경우 실행문A 실행

(2) 조건식이 false일 경우 실행문B 실행

 

→ 조건식이 true면 if문 안에 있는 명령문을 실행하고, 조건식이 false면 if문 안에 명령문을 실행하지 않고

if문 밖으로 나와 B명령문 실행으로 넘어간다.

 

   

package testt;

public class blogTest {
	public static void main(String[] args) {
	//main메소드 선언

				System.out.println("JAVA 조건식 if문 예제");
				//""안에 문자열 출력하고 한 줄 띔 

				int num;
				num = 10 + 20;
				//int(정수형)타입의 num변수 선언 및 값 대입

				if(num < 10) 
					System.out.println("num이 10보다 작이 않으므로 실행되지 않습니다.");
				/*if문 조건식(num이 10보다 작다)이 성립하면 바로아래 출력 명령문 실행 
				false면 명령문을 실행하지 않고 다음 문단으로 넘어감
				num<10 조건식이 성립하지 않으므로 출력 명령문이 실행되지 않음.*/
				
				num = 0; //num에 0 대입
				
				if(num < 10)
					System.out.println("num이 10보다 작으므로 실행됩니다.");
				//num에 0 대입으로 num이 10보다 작기 때문에 명령문 실행
	}
}

  

예제 결과 화면

   

조건문 - if else 문 (학점 계산하기)

 

  • if-else문으로 조건식을 여러개 나열할 수 있다.

 

package testt;

import java.util.Scanner;

public class blogTest {
	public static void main(String[] args) {
		char grade;
		Scanner scanner = new Scanner(System.in);
		//Scanner 클래스 변수 생성 및 초기화. 입력값을 받을 수 있음
		System.out.print("점수를 입력하세요 (0~100) : ");
		int score = scanner.nextInt();
		//scanner 변수로 입력받은 정수를 score변수에 대입

		if(score >= 90) //score가 90이상이면 grade 변수에 'A' 대입
			grade = 'A';
		else if(score >= 80) //위 실행문이 참이 아니면 실행. score가 80이상이면 grade 변수에 'B' 대입
			grade = 'B';
		else if(score >= 70) //위 실행문이 참이 아니면 실행. score가 70이상이면 grade 변수에 'C' 대입
			grade = 'C';
		else if(score >= 60) //위 실행문이 참이 아니면 실행. score가 60이상이면 grade 변수에 'D' 대입
			grade = 'D';
		else //위 실행문이 참이 아니면 실행. grade 변수에 'F' 대입
			grade = 'F';

		System.out.println("학점은" + grade + "입니다.");
		scanner.close(); //스캐너 사용 후 닫아주기
	}
}

 

예제 결과 화면

  

조건문 - switch문 (학점 계산하기)

  • switch문은 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.
  • switch() 괄호안에 변수 값과 동일한 값을 갖는 case로 가서 실행문이 실행되며, 동일한 값을 갖는 case가 없다면 default로 가서 실행문을 종료되고, default는 생략 가능하다.
  • 또한, case마다 꼭 break;를 붙여야하는데 그 이유는 다음 case를 실행하지 않고 switch문을 빠져나가기 위함이다. (break가 없다면 다음 case가 연달아 실행되기 때문에 주의할 것)

   

package testt;

import java.util.Scanner;

public class blogTest {
	public static void main(String[] args) {
		char grade;
		Scanner scanner = new Scanner(System.in); //Scanner 클래스 변수 생성 및 초기화. 입력값을 받을 수 있음
		System.out.print("점수를 입력하세요 (0~100) : ");
		int score = scanner.nextInt(); //scanner 변수로 입력받은 정수를 score변수에 대입
		score = score / 10; //score변수 값에 10으로 나눈 값 저장
		switch(score) { //조건식에 사용 되는 변수 score
		case 10 : //score = 10이면 'A’출력
			grade = 'A';
			break;  //이 case 조건이 맞으면 출력하고 break로 switch문을 빠져나와야 다른 케이스가 진행되지 않음
		case 9 : //score = 9이면 'A’출력 (점수가 90점대일 경우)
			grade = 'A';
			break;
		case 8 : //score = 8이면 'B’출력 (점수가 80점대일 경우)
			grade = 'B';
			break;
		case 7 : //score = 7이면 'C’출력 (점수가 70점대일 경우)
			grade = 'C';
			break;
		case 6 : //score = 6이면 'D’출력 (점수가 60점대일 경우)
			grade = 'D';
			break; 
		default : //case 모두 아니면 'F’출력 (그 이하일 경우)
			grade = 'F';
			break;
		}
		System.out.println("학점은 " + grade + "입니다.");
		scanner.close(); //스캐너 사용 후 닫아주기
	}
}

  

예제 결과화면

 

 

댓글