hyeonga_code
Java_25_제어문_조건문 중첩 if문 본문
- 제어문
- 조건문
- 조건식과 실행될 하나의 문장이나 Scope로 구성되어 있습니다.
- 반복해서 같은 코드를 수행할 경우 사용합니다.
- 조건식과 수행할 Scope, 문장으로 구성되어 있습니다.
- 조건식의 결과는 true/false 여야 합니다.
- boolean 을 조건식에 바로 적용할 수 있습니다.
4) 중첩 if 문
if ( 조건식 1 ){
조건식 1 이 참일 경우 실행될 코드
if ( 조건식 2 ){
조건식 1 이 참이면서 조건식 2 가 참인 경우 실행될 코드
} else {
조건식 1 이 참이면서 조건식 2 가 거짓인 경우 실행될 코드
}
} else {
조건식 1 이 거짓인 경우 실행될 코드
}
- switch - case
switch( 조건식 ){
// 조건식의 계산결과와 일치하는 case 문으로 이동합니다.
// byte, char, short, int, String
case '값 1':
조건식의 결과가 '값 1'일 경우 실행할 코드
break; // switch 문을 종료합니다.
case '값 2':
조건식의 결과가 '값 2'일 경우 실행할 코드
break;
...
default: // 생략이 가능합니다.
조건식의 결과와 일치하는 case 문이 없는 경우 실행할 코드
}
- 비교 조건문으로 많은 데이터를 확인할 경우, 비교해야 하는 조건 식이 많으므로 시간이 더 오래 걸립니다.
- 조건을 확인한 후, 바로 일치하는 조건으로 넘어가기 위함입니다. > 시간을 단축시킬 수 있습니다.
- 조건들 끼리 연결되어 있어 결국 가장 마지막 코드까지 넘어가게 됩니다.
- 조건 코드마다 break 코드를 입력하여 switch 문을 종료하게 작업해야 합니다.
- 조건 이름이 있어야 찾아 갈 수 있으므로, case 는 상수로 설정해야 한다.
- 조건을 확인한 후, 바로 일치하는 조건으로 넘어가기 위해 사용합니다.
- 시간을 단축시킬 수 있습니다.
- 경우의 수가 많은 경우 사용합니다.
- 모든 switch문은 if문으로 변경이 가능합니다.
- 조건식의 계산 결과가 int 범위 이하의 정수만 가능합니다.
- case 문의 '값'
- 변수를 사용할 수 없습니다.
- 리터럴, 상수, 문자로 작성할 수 있습니다.
- 중첩으로도 사용이 가능합니다.
'ControlEx.java'
=====
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package basic;
//모든 클래스는 패키지 안에 생성합니다.
import java.util.*;
public class ControlEx {
// 모든 함수_메소드는 클래스 안에 작성합니다.
public static void main(String[] args) {
// Java의 모든 코드는 함수 안에 작성합니다.
// 전화번호 끝번호 1: SK, 6: KTF, 9: LG
String result; // 출력할 값
Scanner scanner = new Scanner(System.in);
System.out.println("Input phone number : ");
String phone = scanner.nextLine();
char ph = phone.charAt(2);
/*
- 아스키 코드로 숫차 출력하기
- 아스키 코드에서 48을 빼면 원하는 값이 출력됩니다.
int ph2 = (int)phone.charAt(2)-48;
System.out.println(ph - 48);
*/
/*
- Wrapper class로 숫자 출력하기
int num = ph - 48;
num = Character.getNumericValue(ph);
System.out.println(num);
*/
// switch
switch(ph) {
case '1':
result = "SK";
break;
case '6':
result = "KTF";
break;
case '9':
result = "LG";
break;
default:
result = "Error";
}
System.out.println("switch) Phone : " + result);
scanner.close();
/*
Input phone number : 119
switch) Phone : LG
*/
}
}
|
cs |
> Q.두 개의 수와 한 개의 산술 연산자를 입력받아 그 연산자대로 실행 시켜주는 프로그램
'ControlEx2.java'
=====
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
package basic;
//모든 클래스는 패키지 안에 생성합니다.
import java.util.*;
import java.io.*;
public class ControlEx2 {
// 모든 함수_메소드는 클래스 안에 작성합니다.
public static void main(String[] args) {
// Java의 모든 코드는 함수 안에 작성합니다.
Scanner in = new Scanner(System.in);
System.out.println("Input number 1: ");
int num1 = in.nextInt();
System.out.println("Input numver 2: ");
int num2 = in.nextInt();
System.out.println("Input operator : ");
char op = (char)System.in.read();
/* string으로 입력 받아 비교할 방법이 없음
=====
import java.util.*;
public class Ex_0312 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Input operator : ");
String op = in.netx();
if (op == '+') {
System.out.println("+++");
}
else {
System.out.println("Worng!");
}
}
}
>> + 입력 시, 'Wrong!' 출력됨
*/
if (op == '+') {
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
}
else if (op == '-') {
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
}
else if (op == '*') {
System.out.printf("%d %c %d = %d \n", num1, op, num2, num1 * num2);
}
else if (op == '/') {
System.out.printf("%d %c %d = %d \n", num1, op, num2, num1 / num2);
}
else if (op == '%') {
System.out.printf("%d %c %d = %d \n", num1, op, num2, num1 % num2);
}
else {
System.out.println("Worng!");
}
}
}
|
cs |
>> switch 문으로 작성하기
'ControlEx2.java'
=====
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package basic;
//모든 클래스는 패키지 안에 생성합니다.
import java.util.*;
import java.io.*;
public class ControlEx2 {
// 모든 함수_메소드는 클래스 안에 작성합니다.
public static void main(String[] args) {
// Java의 모든 코드는 함수 안에 작성합니다.
Scanner in = new Scanner(System.in);
System.out.println("Input number 1: ");
int num1 = in.nextInt();
System.out.println("Input numver 2: ");
int num2 = in.nextInt();
System.out.println("Input operator : ");
char op = (char)System.in.read();
switch (op) {
case '+':
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
break;
case '-':
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
break;
case '*':
System.out.printf("%d %c %d = %d \n", num1, op, num2, num1 * num2);
break;
case '/':
System.out.printf("%d %c %d = %d \n", num1, op, num2, num1 / num2);
break;
case '%':
System.out.printf("%d %c %d = %d \n", num1, op, num2, num1 % num2);
break;
default:
// 위에 존재하는 case 중 일치하는 값이 없을 경우
System.out.println("Worng!");
}
}
}
|
cs |
- 번호로 switch문 작성하기
'ControlEx2.java'
=====
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package basic;
//모든 클래스는 패키지 안에 생성합니다.
import java.util.*;
import java.io.*;
public class ControlEx2 {
// 모든 함수_메소드는 클래스 안에 작성합니다.
public static void main(String[] args) {
// Java의 모든 코드는 함수 안에 작성합니다.
Scanner in = new Scanner(System.in);
System.out.println("1.fries 2.sandwitch 3.rice \n Choose : ");
int select = in.nextInt();
switch (select) {
case 1:
System.out.println("Choose fries");
break;
case 2:
System.out.println("Choose sandwitch");
break;
case 3:
System.out.println("Choose rice");
break;
default:
System.out.println("Choose again");
}
}
}
|
cs |
- String 값 입력 받아 적용하기
'ControlEx2.java'
=====
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package basic;
//모든 클래스는 패키지 안에 생성합니다.
import java.util.*;
import java.io.*;
public class ControlEx2 {
// 모든 함수_메소드는 클래스 안에 작성합니다.
public static void main(String[] args) {
// Java의 모든 코드는 함수 안에 작성합니다.
Scanner in = new Scanner(System.in);
System.out.println("Input Food: ");
String name = in.next();
switch (name) {
case "fries":
System.out.println("Choose fries");
break;
case "sandwitch":
System.out.println("Choose sandwitch");
break;
case "rice":
System.out.println("Choose rice");
break;
default:
System.out.println("Choose again");
}
}
}
|
cs |
'Java' 카테고리의 다른 글
Java_26_반복문_while/for 비교, break, continue, for, 단일 for문 (0) | 2023.09.22 |
---|---|
Java_25_제어문_조건문 IF 실습 (0) | 2023.09.21 |
Java_25_제어문_조건문 if, if-else, if-else if-else (0) | 2023.09.21 |
Java_24_여러 줄 입력 BufferedReader, InputStreamReader (0) | 2023.09.20 |
Java_23_단 자리, 한 자리 입력 System.in.read() (0) | 2023.09.20 |