오늘은 드디어❗❗
코딩의 대들보가 되는 기본 문법을 배우게 되었다.
조건문반복문, break문continue문, 그리고 그에 따른 예제 몇 가지를 이번 기회에 살펴보도록 하자! 😁


조건문

조건문이란?

조건문은 조건에 따라 코드의 실행 흐름을 다르게 동작하도록 제어하는 것이다.
로그인 창에 올바른 ID와 P/W를 입력했을 때와 잘못된 ID와 P/W를 입력했을 때를 예시로 들 수 있다. 즉, 입력된 값에 따라 원하는 방향으로 동작하도록 할 수 있다.

조건문은 크게 if문switch문으로 나눌 수 있다.
또, if문은 if문, if-else문, else-if문으로 구분할 수 있다.

if문

if문의 구조는 다음과 같다.

if(조건식) { //조건식이 true일 때 실행, false면 미실행.
실행문;
}

조건식이 true를 가질 때 {}(중괄호)에 쓰인 실행문을 작동시킨다. 반대로 조건식이 false이면 실행문은 작동하지 않고 if문을 빠져나가게 된다.

예제는 다음과 같다.

	int a = 3;
	int b = 5;
		
		if(a<b) { 
			System.out.println("b는 a보다 큽니다");}

b는 a보다 크기 때문에, 실행문이 작동하게 된다.

if-else문

if-else문의 구조는 다음과 같다.

if(조건식) { //조건식이 true일 경우 실행.
실행문;
} else { //조건식이 false일 경우 실행.
실행문;
}

if에 쓰인 조건문이 true일 경우 if절의 실행문을 작동시키고,
false일 경우 else절의 실행문을 작동시킨다.

예제는 다음과 같다.

	int a = 3;
	int b = 5;
		
		if(a>b) { 
			System.out.println("a는 b보다 큽니다");}
            else{
            System.out.println("a는 b보다 작습니다");
            }

a는 b보다 작기 때문에, else절에 있는 실행문(a는 b보다 작습니다.)이 작동하게 된다.

else-if문

else if문을 이용하면 2개 이상의 조건식을 두고 흐름을 제어할 때 더 자유롭고 편리하게 코드를 작성할 수 있다.

else-if문을 활용한 구조는 다음과 같다.

if(조건식1){
실행문; //조건식1이 true일 때 실행.
} else if(조건식2) {
실행문; //조건식1이 false, 조건식2가 true일 때 실행.
} else {
실행문; //조건식이 전부 false일 때 실행.
}

예제는 다음과 같다.

	int a = 10;
    
		if(a>5) {			
			System.out.println("a가 5보다 큽니다");
		}else if(a<0) {
			System.out.println("음수입니다");
		}else {
			System.out.println("a가 5보다 작습니다");
		}

a는 10이므로 if문의 조건식에서 true 값이 나오게 된다.
그러므로 if절에 있는 실행문(a가 5보다 큽니다.)이 작동하게 된다.

if문 예제: 점수에 따라 등급을 매기는 프로그램

//90점 이상이면 A등급
		//80점 이상이면 B등급
		//70점 이상이면 C등급
		//60점 이상이면 D등급
		//그 외에는 재시험 
		
		int score = 89;
		
		if(90<=score) {
			System.out.println("당신은 A등급입니다.");
		}else if(80<=score) {
			System.out.println("당신은 B등급입니다.");
		}else if(70<=score) {
			System.out.println("당신은 C등급입니다.");
		}else if(60<=score) {
			System.out.println("당신은 D등급입니다.");
		}else {
			System.out.println("당신은 재시험 대상입니다.");	
		}
		

위의 식에 따르면 변수 score는 첫번째 else if문의 조건식에서 true값이 나온다. 그러므로 첫번째 else if절의 실행문(당신은 B등급입니다.)이 작동하게 된다.

switch문

if문과 같은 조건문이지만, 조금 더 정형화된 조건 판단문이라고 볼 수 있다.
switch문의 구조는 다음과 같다.

swtich(변수){
case 값1: //변수가 값1일 경우
실행문
break;
case 값2: //변수가 값2일 경우
실행문
break;
default; // 변수가 값1, 값2가 전부 아닐 경우
실행문
break;
}

case: 제어식의 값에 따라 실행할 문장을 결정한다. case절에 있는 수식은 무조건 정수나 상수여야 한다.
break: switch문을 종료한다. 탈출구와 비슷한 용도!
default: else-if문의 else와 똑같은 용도. 어떤 case문과도 일치하지 않을 경우 실행된다.

예제는 다음과 같다.


public static void main(String[] args) {
        int i = 3;

        switch (i) {
        case 1:         // 1 인 경우
            System.out.println("1입니다.");
            break;
        case 2:            // 2 인 경우
            System.out.println("2입니다.");
            break;
        case 3:            // 3 인 경우
            System.out.println("3입니다.");
            break;
        default:        // 모두 해당이 안되는 경우
            System.out.println("해당 값이 없습니다.");
            break;    
        }
    }

위에 선언된 i의 값은 3이기 때문에, case 3에서 실행되어 switch문의 작동이 끝난다.

switch문 예제: 점수에 따라 등급을 매기는 프로그램

위에서 if문으로 만들었던 프로그램을 switch문으로 바꾸면 다음과 같이 작성할 수 있다.



int score = 90;

		//90점 이상이면 A등급
		//80점 이상이면 B등급
		//70점 이상이면 C등급
		//60점 이상이면 D등급
		//그 외에는 재시험 
		
		switch(d) {
		
		case 90:
		System.out.println("당신은 A등급입니다.");
		break;

		case 80:
		System.out.println("당신은 B등급입니다.");
		break;
		
		case 70:
		System.out.println("당신은 C등급입니다.");
		break;
		
		case 60:
		System.out.println("당신은 D등급입니다.");
		break;
		
		default:
		System.out.println("당신은 재시험 대상입니다.");
		
		}

위의 식에 따르면 변수 score는 첫번째 case인 90에 해당하는 값이 나온다. 그러므로 첫번째 case절의 실행문(당신은 A등급입니다.)이 작동하고, break문으로 인해 switch문을 빠져나올 수 있는 것이다.


반복문

반복문이란?

반복문은 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문이다.
프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용되는 제어문 중 하나라고 볼 수 있다.

조건문은 크게 while문do-while문, for문으로 나눌 수 있다.

while문

while 문은 특정 조건을 만족할 때까지 주어진 명령문을 반복 실행한다.
while문의 구조는 다음과 같다.

while(조건식) {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
}

예제는 다음과 같다.

	
    //1부터 10까지의 합을 구하는 반복문.
	
	int i = 1;
	int sum = 0;
		
		while(i <= 10) { 
        	sum += i;
            i++;
            }
			System.out.println(sum);

조건식의 i가 10을 넘어가면, while문을 빠져나와 console에 sum의 값(1부터 10까지의 총합)을 입력하게 된다.

i++가 없다면 반복문은 영원히 반복하게 되니 주의!!

그만 돌고 싶어...

do-while문

while문과 유사하나, 조건을 나중에 검사한다는 차이점이 있다.
do-while문의 구조는 다음과 같다.

do{
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
} while (조건식)

조건식이 뒤로 오며 조건식이 true일 경우 반복, false일 경우 탈출한다. 이때, do-while문은 무조건 {}(중괄호) 안에 있는 문장을 한 번 실행한다.

예제는 다음과 같다.

	//1부터 10까지의 합을 구하는 반복문.
	
	int i = 1;
	int sum = 0;
		
			do { 
        		sum += i;
            	i++;
            } while(i <= 10); 
			System.out.println(sum);

do절에서 i는 1씩 증가하고, while문으로 들어가 조건식(i <= 10)의 결과값을 확인한다. i가 10을 넘어가면 반복문을 빠져나오게 된다.

for문

for문은 반복 횟수가 정해져 있을때 주로 사용한다. 또한 배열을 확인할 때 많이 사용하기도 한다.

for문의 구조는 다음과 같다.

for(초기화식; 조건식; 증감식){
실행문;}

초기화식: 반복의 시작 지점을 지정한다. (예시: int i = 0; 는 i값은 0부터 시작한다는 의미이다.)

조건식: 언제까지 반복하는지 작성하는 것이다. (예시: i < 10; 는 i값이 10이 되었을 때 반복이 끝난다는 의미이다.)

증감식: 얼마만큼 증가하는지 작성하는 것이다. (예시: i++는 조건식이 성립하여 반복이 한 번 끝났을 때, i값을 1만큼 증가시킨다는 의미이다.) 증감식의 끝에는 세미콜론(;)을 붙여주면 안 된다.

예제는 다음과 같다.

	//1부터 100까지의 합을 구하는 반복문.

	int sum = 0;
		
			for(int i = 0; i <= 100; i++){
            sum += i;}
            
			System.out.println("1~100까지의 합은? " + sum);

1에서 100까지의 수가 차례로 sum에 담기게 되며 sum은 1에서 100까지의 합을 출력할 수 있게 된다.

for문 예제: 구구단 만들기

			for(int i = 2; i <=9; i++) {
			for(int j = 1; j <= 9; j++) {
				
			System.out.print(i + " * " + j + " = " + i * j + " "); 
            //ln을 지우면 가로로 일렬로 출력됨
		}
		System.out.println(" "); //공백을 주어 줄 띄어쓰기


break문

break문은 반복문의 반복을 종료한다. (탈출구와 같은 역할!)
주로 if문과 함께 쓰이기도 한다.

예제는 다음과 같다.


//랜덤으로 수를 뽑아 6이 나오면 종료되는 프로그램

while(true) {
	int num = (int)(Math.random()*6) + 1;
    System.out.println(num);
    if(num == 6) {
    	break;
        }
} 	System.out.println("프로그램 종료");

if문의 조건에 따라 숫자가 6이 나온다면, break문을 통해 빠져나가 console에 "프로그램 종료"를 출력하게 된다.

continue문

continue문은 반복문 안의 if문에서 사용된다.
for문에서 continue를 만나게 되면 증감식으로 바로 이동하하고, while문, do-while문은 조건식으로 이동하게 한다.

예제는 다음과 같다.

//1에서 100까지의 수를 출력하되, 76만 빼고 출력하는 프로그램
		for(int i = 1; i <= 100; i++) {
			if(i == 76) {
				continue; //건너뛰기
			} System.out.println(i);
		}

if문의 조건인 76은 continue문에 의해 i값에 포함되지 않는다. console에 출력될 때도 76은 포함되지 않는다.


오늘도 빡정리 했습니다 ^_^ ㅎㅎ
뿌듯한 마음으로 맛점하겠습니다!! 다들 밥은 잘 챙겨드세요!
그럼...

console.log(20000)







profile
N잡러를 꿈꾸는 코딩 학도의 우당탕탕 코딩 입문기🍳

3개의 댓글

comment-user-thumbnail
2022년 11월 3일

와 길다

답글 달기
comment-user-thumbnail
2022년 11월 4일

새로운글안올라오나요?

답글 달기
comment-user-thumbnail
2022년 11월 4일

김치찜마쉿다

답글 달기