230718 TIL Chapter 5. 제어문 중 조건문 ( switch ) , 반복문 ( for )

최규연·2023년 7월 18일
0

TIL

목록 보기
5/57

오늘의 시작은 조건문에서 switch를 나갔다.

switch문

switch는 if와 마찬가지로 조건문의 한가지로 조건식 하나로 많은 경우의 수를 처리할 때 사용하고 이때 조건식의 결과는 정수 또는 문자, 문자열이며 조건식의 결과 값이 일치하는 case문으로 이동한다.
dafault문은 일치하는 case문이 없을 때 수행한다(= else)

switch문 작성법

switch() { 
case 결과값1 : 수행코드1; break;
case 결과값2 : 수행코드2; break;
case 결과값3 : 수행코드3; break;
...
default : case를 모두 만족하지 않을 경우 수행하는 코드;
}

break; 가 없을시 결과 값에 도달해도 코드를 빠져나오지 못하고 계속 진행되기 때문에 case문에는 필수적이다. (default에는 있어도 없어도 상관없다고 한다.)

switch문 활용

같은 결과 값이 나오는 경우 case문을 묶어서 쓰는 법이 있다.

System.out.print("달(월) 입력 : ");
int month = sc.nextInt();
		
String result; // 결과 저장 변수 선언
		
switch(month) {
case 3 : case 4 : case 5 : result = "봄"; break;
case 6 : case 7 : case 8 : result = "여름"; break;
case 9 : case 10 : case 11 : result = "가을"; break;
case 12 : case 1 : case 2 : result = "겨울"; break;
default : result = "잘못 입력"; 

위처럼 봄이라는 계절엔 3,4,5월달이 묶여 있으므로 case문으로 묶어서 사용하면 편하고 해당하는 case문이 없는경우 위에서부터 계속 진행하다가 default를 만나 "잘못 입력"이라는 결과값이 나오게 되는것이다.


반복문

프로그램 실행에서 흐름을 바꾸는 역할을 하는 제어문 중 하나이고 특정 문장들을 반복해서 실행하도록 한다!!!

for문

for문은 반복문 중 하나로 끝이 정해져 있는 반복문이다.
(횟수가 지정되어 있는 반복문!)

for문 작성법

for문의 작성법은 if문과 비슷한데

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

for문 ()안에 있는 친구들 역할

  • 초기식 : for문을 제어하는 용도의 변수 선언

  • 조건식 : for문의 반복 여부를 지정하는 식, 보통 초기식에 사용된 변수를 이용하여 조건식을 작성

  • 증감식 : 초기식에 사용된 변수를 for문이 끝날 때 마다 증가, 감소 시켜 조건식의 결과를 변하게 하는 식

// for문 기초 사용법 1
// 1~10까지 출력하기
// 1부터 10까지 1씩 증가하며 출력
		
// * 반복문은 조건식이 true 일 때만 반복함.
		
for(int i = 1; i <= 10; i++) {
//    초기식 ; 조건식 ; 증감식
			
// 반복 수행 할 코드
System.out.println(i);
}

또한 for문과 if문을 결합해서 사용도 가능하다.

public void ex() {
		
// 1부터 20까지 1씩 증가하면서 출력
// 단, 5의 배수 () 를 붙여서 출력
// ex) 1 2 3 4 (5) 6 7 8 9 (10)... (20)
		
for(int i = 1; i <= 20; i++ ) {
			
	if(i % 5 == 0) {
		System.out.print("(" + i + ") ");
	} else {
		System.out.print(i + " ");
	}
			
  }
		
}

for문도 중첩 if문처럼 중첩 반복문으로 사용 가능하고 반복문에는 while문, do~whlie문 두가지가 더 남아있는데 이 친구들도 배우는대로 TIL로 작성해서 기록으로 남겨놓겠다!

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

뛰어난 글이네요, 감사합니다.

답글 달기