(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
if문은 어떤 조건의 참, 거짓 여부를 판단하여 실행을 제어하는 구조이다. 참은 true, 거짓은 false로 표현한다.
■ if
- 조건식이 참인 경우에만 중괄호 내용을 실행 (내용이 한 줄인 경우에는 중괄호를 빼고 사용하기도 한다.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("정수 입력 : ");
int num = keyboard.nextInt();
if(num > 0) {
System.out.println(num + "은 자연수");
}
System.out.println("프로그램 종료");
}
}
|
cs |
Line 8 : 정수를 입력받아 변수 num에 저장
Line 10 : num의 값이 0보다 큰 경우, Line 11 실행 후 Line 14로 이동
■ if-else
- 조건식이 참인 경우 if의 중괄호 내용을 실행하고, 거짓인 경우 else의 중괄호 내용을 실행
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("정수 입력 : ");
int num = keyboard.nextInt();
if(num > 0) {
System.out.println(num + "은 자연수");
} else {
System.out.println(num + "은 자연수가 아님");
}
System.out.println("프로그램 종료");
}
}
|
cs |
Line 8 : 정수를 입력받아 변수 num에 저장
Line 10 : num의 값이 0보다 큰 경우, Line 11 실행 후 Line 15로 이동
Line 12 : num의 값이 0보다 크지 않은 경우, Line 13 실행 후 Line 15로 이동
■ if-else if-else
- if의 조건식이 참인 경우 if의 중괄호 안의 내용을 실행하고, if의 조건식이 거짓이고 else if의 조건식이 참인 경우 else if의 중괄호 내용을 실행. 그 외에는 else의 중괄호 내용을 실행
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("정수 입력 : ");
int num = keyboard.nextInt();
if(num > 0) {
System.out.println("양의 정수");
} else if(num == 0) {
System.out.println("0");
}else {
System.out.println("음의 정수");
}
System.out.println("프로그램 종료");
}
}
|
cs |
Line 8 : 정수를 입력받아 변수 num에 저장
Line 10 : num의 값이 0보다 큰 경우, Line 11 실행 후 Line 18로 이동
Line 12 : num의 값이 0인 경우, Line 13 실행 후 Line 18로 이동
Line 14 : num의 값이 0보다 작은 경우, Line 15 실행 후 Line 18로 이동
※ "if-if-if" vs "if-else if-else"
- 아래의 [코드 1]처럼 if문 3개를 사용하는 경우, 첫 번째 if문을 만족하더라도 아래의 if문을 계속해서 비교한다. 하지만, [코드 2]처럼 if-else if-else문을 사용하는 경우 하나의 조건문을 만족하면 다음의 조건문을 비교하지 않고 건너뛰기 때문에, 속도면에서 조금 더 유리하다.
[코드 1]
1
2
3
4
5
6
7
8
9
|
if(num > 0) {
System.out.println("양의 정수");
}
if(num == 0) {
System.out.println("0");
}
if(num < 0) {
System.out.println("음의 정수");
}
|
cs |
[코드 2]
1
2
3
4
5
6
7
|
if(num > 0) {
System.out.println("양의 정수");
} else if(num == 0) {
System.out.println("0");
}else {
System.out.println("음의 정수");
}
|
cs |
'Java' 카테고리의 다른 글
자바(Java) while문 (0) | 2020.06.26 |
---|---|
자바(Java) switch-case문 (0) | 2020.06.25 |
자바(Java) 연산자 우선순위 (0) | 2020.06.24 |
자바(Java) 비트 연산자 (0) | 2020.06.24 |
자바(Java) 연산자(Operator) (0) | 2020.06.23 |