본문 바로가기
Spring-Java/Java

Day02_String, switch-case, for

by 현대타운301 2023. 8. 16.

2023.08.14 (Day02)

 

Day02 세 줄 요약

- 문자열(String)의 일치/불일치 비교를 위해 equals()/!equals() 사용

- switch 문은 key값과 value값의 type이 서로 일치해야 함

- for문을 활용하면 여러 번의 반복작업을 효율적으로 수행가능


String

 

equals(일치/불일치 비교)

문자열(String)의 일치/불일치 비교를 위해 'equals()' 또는 '!equals()' 사용

값이 서로 같음을 의미하는 '==' 와, 서로 다름을 의미하는(혹은 논리연산자 NOT) '!=' 와 같은 기능

'(문자열변수).equals(비교문자열)' 와 같이 사용

          - if(loginId.equals(id) && loginPw.equals(pw)) {          // loginId와 id가 서로 같은지 비교,

          - 함수내용...                                                                // loginPw와 pw가 서로 같은지 비교

          - }

 


switch - case

 

switch(key) - case(value)

if문과 비슷한 기능 수행

key값과 value값의 type을 일치시켜 줘야 함

 

1) key type = int의 경우

          - int a = sc.nextInt();
          - switch(a) {          // 괄호 안에 'a'가 key 값
          - case 1:          // case 옆의 '1'이 value 값

          - 함수내용...    // a = 1의 경우, case 1 실행
          -           break;            
          - case 2:          // a = 2의 경우, case 2 실행
          -           break;

 

2) key type = String의 경우

          - String a = sc.next();          // Scanner class에서 문자열은 next()로 받음
          - switch(a) {          
          - case "1":          

          - 함수내용...      // a = "1"의 경우, case 1 실행
          -           break;            
          - case "2":         // a = "2"의 경우, case 2 실행
          -           break;

 


 

for

 

for(변수선언; 변수조건; 변수증감식)

반복을 수행하는 문법

          - for(int i = 1; 1<=10; i++) {          // 아래 함수내용을 10번 반복하겠다는 의미

          - 함수내용...

          - }

 

break /  continue

for문 안에 if문으로 break or continue 조건 구현

반복문 실행 중에,

          - break를 만나면 해당 반목문 exit

          - continue를 만나면 그 아래 내용 실행하지 않고 for문으로 올라감

 


예제

 

source code

package day02;

import java.util.Scanner;

public class Example_2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// String 로그인 예제
		System.out.println("==========로그인==========");
		String loginId = "test";
		String loginPw = "1234";
		
		Scanner sc = new Scanner(System.in);
		System.out.print("아이디를 입력하세요 >> ");
		String id = sc.next();
		System.out.print("비밀번호를 입력하세요 >> ");
		String pw = sc.next();
		
		if(loginId.equals(id) && loginPw.equals(pw)) {
			System.out.println("로그인 성공");
		}else if(loginId.equals(id) && !loginPw.equals(pw)) {
			System.out.println("로그인실패");
			System.out.println("비밀번호가 다릅니다");
		}else if(!loginId.equals(id) || !loginPw.equals(pw)) {
			System.out.println("로그인실패");
		}
		
		
		// switch-case를 활용한 해당 월 출력
		System.out.println();
		System.out.println("==========month==========");
		System.out.print("1~12 중 하나의 숫자를 입력하세요 >> ");
		int a = sc.nextInt();
		System.out.println("입력하신 숫자는 "+a+"입니다");
		switch(a) {
		case 1:
			System.out.println(a+"월은 영어로 January");
			break;
		case 2:
			System.out.println(a+"월은 영어로 February");
			break;
		case 3:
			System.out.println(a+"월은 영어로 March");
			break;
		case 4:
			System.out.println(a+"월은 영어로 April");
			break;
		case 5:
			System.out.println(a+"월은 영어로 May");
			break;
		case 6:
			System.out.println(a+"월은 영어로 June");
			break;
		case 7:
			System.out.println(a+"월은 영어로 July");
			break;
		case 8:
			System.out.println(a+"월은 영어로 August");
			break;
		case 9:
			System.out.println(a+"월은 영어로 September");
			break;
		case 10:
			System.out.println(a+"월은 영어로 October");
			break;
		case 11:
			System.out.println(a+"월은 영어로 November");
			break;
		case 12:
			System.out.println(a+"월은 영어로 December");
			break;
		}
		
		// for문 예제1 구구단_세로
		System.out.println();
		System.out.println("==========구구단(col)==========");
		
		for(int i = 2; i <= 9; i++) {
			System.out.println(i+"단");
			for(int j = 1; j<=9; j++) {
				System.out.println(i+" * "+j+" = "+(i*j));
			}System.out.println();
		}
		
		// for문 예제2 구구단_가로
		System.out.println();
		System.out.println("==========구구단(row)==========");
		
		for(int j = 0; j <= 9; j++) {
			for(int i = 2; i <= 9; i++) {
				if(j == 0) {
					System.out.print(i+"단\t\t");
				}else {
					System.out.print(i+" * "+j+" = "+(j*i)+"\t");
				}
			}System.out.println();
		}
		
		// continue를 활용한 '5단'없는 구구단
		System.out.println();
		System.out.println("==========구구단(without5th)==========");
		
		for(int j = 0; j <= 9; j++) {
			for(int i = 2; i <= 9; i++) {
				if(j == 0) {
					if(i == 5) {
						continue;
					}else {
						System.out.print(i+"단\t\t");
					}
				}else {
					if(i == 5) {
						continue;
					}else {
						System.out.print(i+" * "+j+" = "+(j*i)+"\t");
					}
				}
			}System.out.println();
		}
		sc.close();
	}

}

 

실행결과

==========로그인==========
아이디를 입력하세요 >> test
비밀번호를 입력하세요 >> 12345
로그인실패
비밀번호가 다릅니다

==========month==========
1~12 중 하나의 숫자를 입력하세요 >> 10
입력하신 숫자는 10입니다
10월은 영어로 October

==========구구단(col)==========
2단
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

3단
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27

4단
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36

5단
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45

6단
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54

7단
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63

8단
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72

9단
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

 

 

 

 

 

 

'Spring-Java > Java' 카테고리의 다른 글

Day06_배열예제2  (0) 2023.08.21
Day05_배열예제  (2) 2023.08.20
Day04_while(boolean), 배열(Array)  (0) 2023.08.17
Day03_package, printf, while  (0) 2023.08.17
Day01_이클립스, 아마존코레토, 변수(Variable)  (0) 2023.08.13