제어문의 종류에는 조건문, 반복문, 탈출문이 있는데
오늘은 그 중에서도 조건문 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구문이 확인이 된다면,
해당하는 조건 아래의 위치한 조건들은 수행하지 않고, 값을 나타내기 때문입니다.
'수업 복습하기 > 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 |