자바 - 조건문과 반복문1 (if문)

suhyeon chae·2022년 1월 5일
0

본 내용은 자바의 정석 기초편을 기반으로 작성함

또한 자바 스터디활동으로 자바의 정석 기초편 정리


if문

  • 제어문 : 프로그램의 흐름을 바꾸는 역할을 하는 문장

    • 조건문과 반복문이 있음
    • 조건문 : 조건에 따라 다른 문장이 수행되도록 함
    • 반복문 : 특정 문장들을 반복해서 수행

  • 조건식괄호{}로 이루어져 있음

  • 조건식이 참(true)이면 괄호 { }안의 문장들을 수행함

  • 조건식의 결과는 반드시 true 또는 false여야함

if (조건식) {
    //조건식이 참이면 수행될 문장들을 적음
}
class EX {
    public static void main(String args[]) {
        int score = 83;
        
        if (score > 70) {
            System.out.println("합격입니다.");
        }
    }
}

// 합격입니다.
  • { }다음에 ; 붙이지 않음 (if문 끝에 ; 안붙임)
  • 블럭안에 문장이 한문장이라면 { }생략 가능

if - else문

if (조건식) {
    //조건식이 참이면 수행될 문장들을 적음
} else {
    // 조건식이 거짓일 때 수행될 문장들을 적음
}
import java.util.Scanner;

class EX {
    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이 아닙니다.");
        }
     } // main 끝
  }
  
  // 숫자를 입력하세요 : 5
//입력하신 숫자는 0이 아닙니다.

if - else if문

if (조건식1) {
    //조건식1이 참이면 수행될 문장들을 적음
} else if (조건식2) {
    //조건식2의 연산결과가 참이면 수행될 문장들을 적음
} else if (조건식3) {
    //조건식3의 연산결과가 참이면 수행될 문장들을 적음
} else {
    // else블럭은 생략 가능하며, 위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적음
}

중첩 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 EX {
    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);
     } 
  }

점수를 입력하세요 : 87
당신의 점수는 87입니다.
당신의 학점은 B0입니다.
    
점수를 입력하세요 : 98
당신의 점수는 98입니다.
당신의 학점은 A+입니다.    
profile
예비 클라우드 & 백엔드 개발자 !

0개의 댓글