미새문지

JAVA.Day06 swhich문 + for문 본문

언어 학습/자바 연습

JAVA.Day06 swhich문 + for문

문미새 2022. 4. 27. 15:32
728x90

공부한지 벌써 3주차가 됍니다. 이번 6일차에는 남은 제어문인 swich문과 반복문 for문에 대해 공부했는데,

생각보다 많이 헷갈려서 복습을 더 해야할 것 같습니다...

 

< switch문 >

 

switch문if문과 같이 조건문중에 하나로 변수가 어떤값을 갖느냐에 따라 실행문이 선택됩니다.

 

 

switch문의 기본문

switch(표현식) {
	case 1:
    	표현식1	//값1일때 실행되는 영역
        break;
    case 2:
    	표현식2	//값2일때 실행되는 영역
        break;
    default:
    	//위에 있는 값들이 모두 아닐때 실행되는 영역;
}

switch문은 결과값이 나온 수에 맞는 case식이 출력되기 때문에 수치 작성을 잘 해야합니다.

 

 

switch문 예시)

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        
        System.out.println("점수 입력 >> ");
		int score = sc.nextInt();
		
		switch(score/10) {
		case 10:
		case 9:
			System.out.println("A");
			break;
		case 8:
			System.out.println("B");
			break;
		case 7:
			System.out.println("C");
			break;
		default:
			System.out.println("F");
		}

각 case마다 값이 써있습니다. 스코어점수를 정수로 변수값을 지정해주고 switch문에 써있는 조건으로 값이 출력되면 

그 값에 해당하는 case문으로 들어가 표현식이 출력되는 구조입니다.

 

 

결과)

점수 입력 >> 
88
B

/* 88점으로 입력하면 switch(88 / 10) 나머지는 출력이 되지 않기 때문에 값이 8이 나옵니다.

그럼 case 8에 있는 출력문을 실행하게 되어 "B" 가 실행됩니다. */

 

---------------------------------------------------------------------------------------------------------------------------------

 

다음은 반복문 입니다.

반복문for문, while문, do~while문이 있는데 오늘은 for문까지만 다루겠습니다.

 

반복문은 특정 코드가 반복될 때 사용하며, 출력문을 닫아놓지 않는다면 무한히 출력이 가능합니다.

 

 

< for문 >

 

 

for문은 반복할 조건식을 정해 조건이 거짓이 될때까지 반복하는 반복문입니다.

 

 

for문 기본문

for(초기식; 조건식; 증감식) {
	반복할 코드;
  	}

 

- 초기식과 조건식 뒤엔 (;)세미콜론을 붙이며 증감식 뒤엔 붙이지 않아야합니다.

- for문은 처음에 초기식을 실행하고 다음으로 조건식을 판단하여 참이면 for문 안쪽의 문장을 실행합니다.

- for문 중괄호가 닫히면 증감식을 실행하고 다시 처음으로 와서 조건식이 참인지 확인합니다.

- 조건식이 더이상 참이 아니고 거짓이라면 for문으로 들어가지않고 반복종료해 for문 다음문장을 실행합니다.

 

 

for문 예시)

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        
        for(int i = 1; i<=10; i++) {
        	System.out.print(i + " ");
            }
     }
}

 

 

결과)

1 2 3 4 5 6 7 8 9 10

/* i = 1로 시작하여 1<=10은 참이기 때문에 출력문을 실행하여 1이 출력됩니다.

후에 증감식으로 1을 더하고 i = 2에서 조건식을 시작

i가 10일 때까지는 계속 조건식이 실행되고, i가 11부턴 조건식이 거짓이 되기 때문에 for문을 종료합니다. */

 

--------------------------------------------------------------------------------------------------------------------------------

 

 

복합대입 연산자


num += 값 --> num = num + 값
num -= 값 --> num = num - 값
num *= 값 --> num = num * 값
num /= 값 --> num = num / 값
num %= 값 --> num = num % 값

 

예시)
int num = 5;
num += 10; //num = num + 10;



증감연산자


후위형
num++  -->  num += 1  -->  num = num + 1
num--  -->  num -= 1  -->  num = num - 1
전위형
++num
--num

 

그리고 마지막으로 반복문에서 사용하는 특별한 문법이 있는데

 

 

break;

 - 반복문 안에서 사용되면, 자신을 감싸는 가장 가까운 반복문을 즉시 종료(탈출)합니다.

 

 

예시)

switch(a) {
		case 5:
			System.out.println("5입니다");
			break;
		case 100:
			System.out.println("100입니다");
			break;
		case 10:
			System.out.println("10입니다");
			break;
		default:
			System.out.println("그 외");

여기서 break문을 빼버리면 현재 선택된 case문에서 다음 case문까지 전부 출력이 되기 때문에 break문으로 해당 출력문만 출력되게 해야합니다.

 

 

continue;

 - 반복문 안에서 사용되며, 자신을 감싸는 가장 가까운 반복의 즉시 다음반복을 실행합니다

 - break문이랑 비슷하지만 조건문만 실행하지 않고 반복문을 이어서 실행합니다.

 

 

예시)

for i in range(100):
    if i % 2 == 0:  
        continue     
    print(i)

여기서 if문으로 2로 나눴을 때 나머지가 0이면 짝수이고, 아래코드를 실행하지 않고 다시 조건문으로 넘어가기 때문에 짝수는 출력되지 않고 홀수만 출력이 가능합니다.

 

6일차는 switch문과 for문에 대해 공부해봤는데, 조건문이 여러 개가 나오기 시작하니까 난이도가 확 올라갔네요

예습보다는 무조건 복습입니다. 복습이 답입니다

728x90

'언어 학습 > 자바 연습' 카테고리의 다른 글

JAVA.Day07 반복문  (1) 2022.04.29
JAVA.Day05 선택제어문  (1) 2022.04.24
JAVA. Day04 연산자  (1) 2022.04.22
JAVA. Day03 변수의 선언  (1) 2022.04.20
JAVA. Day02 변수  (1) 2022.04.16