본문 바로가기

프로그래밍/Java

Java_조건문과 반복문(1)

① if문

: 만일(if) 조건식이 참(true)이면 괄호{ } 안의 문장들이 수행되고, 

조건식의 결과가 false이면 괄호 { } 안의 문장들을 수행되지 않는다.

class Ex4_1{
	public static void main(String args[]){
    	int score=80;
        
        if(score>60){
        	System.out.println("합격입니다.");
           }
      }
}
결과
합격입니다.

 

② if-else문

: 조건식이 참(true)이면 if문의 괄호 { } 안의 문장들이 수행되고,

조건식이 거짓(false)이면 else문의 괄호 { } 안의 문장들이 수행된다.

import java.util.Scanner;

class Ex4_3{
	public static void main(String[] args){
    	System.out.print("숫자를 하나 입력하세요.>")
        Scanner scanner=new Scanner(System.in);
        int input=scanner.nextInt();
        
        if(input==0){
        	System.out.println("입력하신 숫자는 0입니다.");
        } else {
        	System.out.println("입력하신 숫자는 0이 아닙니다.");
        }
    }
}
결과 
숫자를 하나 입력하세요.> 5
입력하신 숫자는 0이 아닙니다.	

숫자를 하나 입력하세요.> 0
입력하신 숫자는 0입니다.

 

③ if-else if문

: 한 문장에 여러 개의 조건식을 써야할 때 'if-else if'문을 사용한다.

import java.util.Scanner;

class Ex4_4{
	public static void main(String[] args){
    	int score=0;		//점수를 저장하기 위한 변수
        char grade=' ';		//학점을 저장하기 위한 변수. 공백으로 초기화한다.
        
        System.out.print("점수를 입력하세요.>")
        Scanner scanner=new Scanner(System.in);
        scroe=scanner.nextInt();
        
        if(score>=90) {
        	grade='A';
        } else if(score>=80) {
        	grade='B';
        } else if(score>=70) {
        	grade='C';
        } else {
        	grade='D';
        }
        System.out.println("당신의 학점은"+grade+"입니다.");
    }
}
결과
점수를 입력하세요.> 80
당신의 학점은 B입니다.

④ 중첩 if문

: if문의 블럭 내에 또 다른 if문을 포함시키는 것을 중첩 if문이라 한다.

if (조건식1) {
	//조건식1의 연산결과가 true일 때 수행될 문장들을 적는다.
    if (조건식2) {
    	//조건식1과 조건식2가 모두 true일 때 수행
    } else {
    	//조건식1이 true이고, 조건식2가 false일 때 수행
    }
} else {
	//조건식1이 false일 때 수행
}
import java.util.Scanner;

class Ex4_5{
	public static void main(String[] args) {
    	int score=0;
        char grade=' ', opt='0';
        
        System.out.print("점수를 입력해주세요.>");
        
        Scanner scanner=new Scanner(System.in);
        score=scanner.nextInt();
        
        System.out.printf("당신의 점수는 %d입니다.%n", score);
        
        if(score>=90) {
        	grade='A';
            if(score>=98) {
            opt='+';
          } else if(score<94) {
          opt='-';
          }
          } else if(score>=80) {
            grade='B';
            if(score>=88) {
            opt='+';
          } else if(score<84) {
          	opt='-';
          }
          } else {
        	grade='C';
        }
        System.out.printf("당신의 학점은 %c%c입니다.%n", grade, opt);
    }
}
결과
점수를 입력해주세요.>83
당신의 점수는 83입니다.
당신의 학점은 B-입니다.

⑤ switch문

: 처리할 경우의 수가 많은 경우 switch문을 사용한다.

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

-swtich문의 제약 조건

 switch문의 조건식 결과는 정수 또는 문자열이어야 한다.

 case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 한다.

 

import java.util.Scanner;

class Ex4_6{
	public static void main(String[] args){
    	System.out.print("현재 월을 입력하세요.>");
        
        Scanner scanner=new Scanner(System.in);
        int month=scanner.nextInt();
        
        switch(month){
        	case3;
            case4:
            case5:
            	System.out.println("현재의 계절은 봄입니다.");
                break;
            case6: case 7: case 8: 
            	System.out.println("현재의 계절은 여름입니다.");
                break;
            case 9: case10: case 11: 
            	System.out.println("현재의 계절은 가을입니다.");
                break;
            default:		//case 12: case 1: case 2:
            	System.out.println("현재의 계절은 겨울입니다.");
            }
      }
}
결과
현재 월을 입력하세요.>3
현재의 계절은 봄입니다.

- case 문은 한 줄에 하나씩 쓰던, 한 줄에 붙여서 쓰던 상관없다.

- 조건식을 계산하고 결과와 일치하는 case문으로 이동한 다음,

break문이나 switch문의 끝을 만나면 switch문의 전체를 빠져나간다.

 

 

'프로그래밍 > Java' 카테고리의 다른 글

Java_배열(1)  (2) 2022.10.05
Java_조건문과 반복문(2)  (0) 2022.09.29
Java_연산자(2)  (0) 2022.09.14
Java_연산자(1)  (0) 2022.09.08
Java_변수  (0) 2022.09.01