[Java] 조건문과 반복문_1

삶걀·2022년 4월 28일
0

Java

목록 보기
6/15

01~08. if문

제어문: 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장들. 조건에 따라 문장을 건너뛰고, 같은 문장을 반복해서 수행해야할 때 사용한다.

제어문의 종류

  • 조건문: 조건에 따라 다른 문장이 수행된다. (if문 등)
  • 반복문: 특정 문장들을 반복해서 수행한다.

if문은 '조건식'과 '괄호{}'로 이루어져있다.

if (score > 60)//조건식 {
	System.out.println("합격입니다.");
}//괄호

if문에 사용되는 조건식
-비교 연산자
-논리 연산자

조건식 예시)
이상, 이하, 작거나 클때, 3의 배수지만 3의 배수가 아닐때, 대문자일때, 숫자일때, 문자열 내용이 yes일때 등등

*자바에서 조건식의 결과는 반드시 Ttue 또는 False 이어야 한다.

블럭(block): if문에서 괄호{}를 이용해서 여러 문장을 하나의 단위로 묶는것, 끝나는 } 뒤에 ;를 붙이지 않는다.

블럭 내 문장이 하나뿐일때는 생략할 수 있다.

if (score > 60)
	System.out.println("합격입니다.");
if (score > 60) System.out.println("합격입니다.");

이렇게 2가지로 사용 가능하지만, 되도록이면 생략하지 말자. 추후 수정이 필요할때 번거로울 수 있다.

if-else문

조건식의 결과가 거짓일때 else블럭의 문장을 수행한다.

if (조건식) {
	//조건식이 참일때 수행할 문장
} else {
	//조건식이 거짓일때 수행할 문장
}

조건식의 결과에 따라 둘중 한 블럭{}의 내용이 수행되고 전체 if문을 탈출한다.
두 블럭{} 모두 수행되거나, 모두 수행되지 않는 경우는 있을 수 없다.

두 조건식에서 한쪽이 거짓인 상반된 관계에 있는 if문은 if-else문으로 바꿀 수 있다. ->하나의 조건식만 계산하면 되므로 효율적임.

if-esls if문

'if-else if'문: 처리해야 할 경우의 수가 세가지 이상일 때 사용한다. 한 문장에 여러 개의 조건식을 쓸 수 있다.

첫 번째 조건식부터 순서대로 진행되며 결과가 참인 조건식을 만나면 해당 블럭{}을 수행하고 'if-else if'문 전체를 탈출한다.
만약 참인 조건식이 하나도 없으면 마지막else블럭을 수행한다.

else블럭은 생략 가능하다. 이 경우, 'if-else if'문의 어떤 블럭도 수행되지 않을 수 있다.

순서대로 진행되니까 첫번째 if에서 만약에 거짓이다. 그러면 두번째에서 참이면 첫번째가 거짓이니까 두번째 조건식에서 첫번째 조건식의 역을 적지 않아도 된다.

중첩 if문

중첩 if문: if문의 블럭 내에 또 다른 if문을 포함시키는것. 횟수에 제한이 없다. 괄호{} 생략에 주의하자.

예제

import java.util.Scanner;

public class Ex_3_1_1 {
	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);
	}
}

출력 결과
점수를 입력해주세요: 89
당신의 점수는 89입니다.
당신의 학점은 B+ 입니다.

점수를 입력해주세요: 72
당신의 점수는 72입니다.
당신의 학점은 C0 입니다.

점수를 입력해주세요: 93
당신의 점수는 93입니다.
당신의 학점은 A- 입니다.

09~11. witch문

12.임의의 정수 만들기

13~15.for문

16~19. while문

profile
반숙란 좋아하는사람

0개의 댓글