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 |