본문 바로가기

수업 복습하기/Java

Day 03 - 조건문 If

728x90
728x90

제어문의 종류에는 조건문, 반복문, 탈출문이 있는데

오늘은 그 중에서도 조건문 If를 배우겠습니다 (다음시간에는 switch 합니다~)

 

기본적으로 if는 보통 아래의 구조와 같이 엑셀에서 많이 사용하죠!

if(조건문, 조건문이 참일 때 실행, 조건문이 거짓일 때 실행)

자바 내에서도 사용하는 구조는 같습니다! 대신 그 구조가 {}중괄호로 묶여있다는 차이점만 있을 뿐~

 

예시로 확인해보도록 하겠습니다.

public class IfEx01 {
public static void main(String[] args) {
	//0~100까지 랜덤정수
	int point = (int)(Math.random()*101);
	System.out.println("점수 : "+ point);
	if(point >= 60) { 
		System.out.println("60점 이상입니다");
		System.out.println("합격!");
	}else {
		System.out.println("60점 미만입니다");
		System.out.println("불합격!");
	}
}	
}

저번 수업 복습하자면 랜덤 수에 왜 101을 곱하느냐!

0 < 랜덤한 수 < 1이기 때문에, *100을 정수형으로나타내면 0~99까지만 나올 수 있기 때문~

 

= 양자택일 구문

위에서 if와 else만 쓰였는데 이는 양자택일 구문이라고 합니다.

조건이 참일 때는 if문 블록안의 실행문 실행

조건이 거짓이면 else문 블록안의 실행문 실행.

또한, 조건이 거짓 일 때 실행하고 싶은 바가 없을 때는 if구문만 단독으로도 사용이 가능합니다.

 

여기서 더 나아가서 다중택일 구문도 확인해봅시다.

import java.util.Scanner;
public class IfEx02 {
public static void main(String[] args) {
	
	Scanner scan = new Scanner(System.in);
	
	System.out.print("점수>");
	int point = scan.nextInt();
	
	//점수를 구간에 따라서 학점 나누기. (조건세우는거 주의하기)
	if(point>=90) {
		if(point>=95) {
			System.out.println("A+학점");
		} else { //90d이상<=x <95
			System.out.println("A학점");
		}//<-if닫는 중괄호
	} else if(point>=80 ){
		System.out.println("B학점");
	} else if (point>=70) {
		System.out.println("C학점");
	} else if (point>=60) { 
		System.out.println("D학점");
	} else {
		System.out.println("F학점");
	}
}
}

= 다중택일 구문

* if ~ else if ~ else 3가지가 쓰이는 구문입니다

- 조건이 여러가지일 때 사용하는 구문입니다

if ( 조건문1 ) {
    조건문1이 참일 경우 수행
	}        
else if ( 조건문2 ) {
    조건문2가 참일 경우 수행
	}
else {
    조건문 1과 조건문2가 전부(and) 거짓일 경우 수행
	}

- else if는 무한정으로 대입 가능합니다.

- if ~ else if 구문은 위에서부터 차례대로 조건을 검색하면서 내려오므로 조건식 설정에 주의 필요~

- 차례가 중요한 이유는, 위에서 순서대로 조건문에 조건에 해당하는지 확인하는 과정 내에서, 조건이 맞는 if혹은 else if구문이 확인이 된다면, 

  해당하는 조건 아래의 위치한 조건들은 수행하지 않고, 값을 나타내기 때문입니다.

 

728x90

'수업 복습하기 > Java' 카테고리의 다른 글

Day 04 - 반복문 While  (0) 2021.08.18
Day 04 - 조건문 Switch  (0) 2021.08.18
Day 03 - 스캐너(Scanner)란?  (0) 2021.08.18
Day 03 - 배열 (Array)  (0) 2021.08.18
Day 02 - 2항연산자와 3항 연산자  (0) 2021.08.17