본문 바로가기
코딩

[JAVA] 조건문

by anica0206 2023. 9. 23.

조건문: if, switch

조건문은 조건식과 문장을 포함하는 {}으로 구선된다.

조건식은 연산결과에 실행할 문장이 달라져서 프로그램의 실행 흐름을 변경할 수 있다.


1. if문

if문은 가장 기본적인 조건문이며, 다음과 같이 조건식과 괄호()로 이루어져 있다.

if(조건식) {
	//조건식이 참(true)일 때 수평될 문장들을 적는다.
}
int age = 22; if(age>20){ System.out.println("IT를 배우시오"); }
  • if ~ else문: if 조건식을 만족하면 if블럭 안을 수행. 그렇지 않으면 else블럭을 수행.
if(조건식) {
	수행문1;
	수행문2;
	...
}else{
	수행문1;
	수행문2;
}

 

2. switch문

switch문은 하나의 조건식으로 많은 경우의 수를 처리할 수 있다. 표현이 간결하므로 알아보기가 쉽다.

switch(조건식){
	
	case 값1:
			문장1;
			문장2;
			...
		break;
	
	case 값2:
			문장1;
			문장2;
			...
		break;

	default: //if문에 else에 해당
	
	break;

}
  • 조건식의 결과는 정수, 문자, 또는 문자열 값이 올 수 있다.
switch(조건식){
	
	case 값1:
	case 값2:
	case 값3:
			문장1;
			문장2;
			...
		break; // break문 생략 가능, break문을 만날 때까지 아래로 내려가면서 구문을 수행한다
	
	case 값2:
			문장1;
			문장2;
			...
		break;

	default: //if문에 else에 해당
	
	break;

}

예제)

  • 문자를 하나 입력 받아 소문자인지/아닌지 판단하는 프로그램
package blog;

import java.util.Scanner;

public class IfElse {

	public static void main(String[] args) {
		/*
		 * 1. console로 문자 입력
		 * 2. 입력 받은 문자를 판단
		 */

		Scanner scanner = new Scanner(System.in);
		System.out.print("문자 하나를 입력 하세요.>");
		
		String input = scanner.nextLine();
		System.out.printf("input = %s%n", input);
		
		char ch = input.charAt(0); //문자열 중에 첫 번째 위치에 char 잘라내기
		System.out.printf("ch=%c%n", ch);
		
		if('a'<=ch && ch<='z') {
			System.out.println("입력한 문자는 영문 소문자 입니다.");
		}else {
			System.out.println("입력한 문자는 영문 소문자가 아닙디다.");
		}
		
		System.out.println("프로그램 종료");
			
	}

}

//문자 하나를 입력 하세요.>a
//input = a
//ch=a
//입력한 문자는 영문 소문자 입니다.
//프로그램 종료
  • 성적을 입력 받아 학점을 출력하는 프로그램
package blog;

import java.util.Scanner;

public class Switch {

	public static void main(String[] args) {
		
		int score = 0; //점수
		char grade = ' ';
		
		
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("점수를 입력 하세요.>");
		score = scanner.nextInt();
		System.out.printf("score=%d\n", score);
		
		System.out.printf("score/10=%d\n", score/10);
		
		switch(score/10) {

		case 10: //의도적으로 break문 생략
		case 9:
			grade='A';
			break;
		case 8:
			grade='B';
			break;
		case 7:
			grade='C';
			break;
		case 6:
			grade='D';
			break;
		default:
			grade='F';
			break;
		}//--switch
		
		System.out.printf("학점: %c%n", grade);

	}//--main

}//--class


//점수를 입력 하세요.>100
//score=100
//score/10=10
//학점: A