2025년 6월 08일 (토)
7:13:45 AM
NEFFEX Chasing - NEFFEX
00:00
00:00
Buffering ...

최근 글 👑

20240726_TIL_캠프 2주차 5일_조건문과 반복문

2024. 7. 26. 15:06ㆍ내배캠_Java 6기/Java 문법 종합반


조건문 

✅ 자바에서 특정 조건에 따라 다른 연산을 수행하고 싶을 때 사용한다

 

 

if 문 

 

특정 조건에 따라 다른 연산을 수행할 때 사용하고 if ( 조건 )  소괄호 안의 조건이 참(true) 이면 연산을 수행

 

// 조건문
boolean flag = true;

if (flag) {
    System.out.println("flag 값은 true 입니다."); // flag 값은 true 입니다. 출력
}

 

 

if ~ else  문 

 

if ( 조건 )  소괄호 안의 조건이 거짓(false) 이면 else 안의 연산을 수행 

 

// 조건문 with else
flag = false;

if (flag) {
    System.out.println("flag 값은 true 입니다."); // 미출력
} else {
    System.out.println("flag 값은 false 입니다."); // flag 값은 false 입니다. 출력
}

 

 

if ~ else if ~ else 문

 

if ( 조건 )  소괄호 안의 조건이 거짓(false) 이면 else if 의 조건을 수행하고 else if의 조건이 거짓이면 else 연산을 수행

 

// 조건문 with else if
int number = 2;

if (number == 1) {
    System.out.println("number 값은 1 입니다."); // 미출력
} else if (number == 2) {
    System.out.println("number 값은 2 입니다."); // number 값은 2 입니다. 출력
} else {
    System.out.println("number 값은 모르는 값입니다."); // 미출력
}

 

 

중첩 if 문 

 

// 중첩 조건문
flag = true;
number = 2;

if (flag) {
    if (number == 1) {
        System.out.println("flag 값은 true, number 값은 1 입니다."); // 미출력
    } else if (number == 2) {
        System.out.println("flag 값은 true, number 값은 2 입니다."); // flag 값은 true, number 값은 2 입니다. 출력
    }
} else {
    if (number == 1) {
        System.out.println("flag 값은 false, number 값은 1 입니다."); // 미출력
    } else if (number == 2) {
        System.out.println("flag 값은 false, number 값은 2 입니다."); // 미출력
    }
}

 

 

switch 문 

 

✅ switch 문은 case와 함께 사용하며 if문보다 가독성이 좋다

➡️ 모든 조건을 한 줄로 나열하면서 수행하는 역할이 한 눈에 보인다

 

✅ case 조건을 만족하면 case 뒤에 있는 연산 수행한다. case 조건은 여러 개를 설정할 수 있고

각 case 연산문 마지막에는 break; 를 꼭 넣어준다.

 

break : 해당 case 문의 연산이 끝났다는 것을 알려줘서 switch 문을 종료한다. 

 

⁉️ break 문을 case 문 연산에 안 넣어주면 어떻게 될까? 

➡️ case 연산문이 안 끝났기 때문에 switch 문 블럭이 끝날 때까지 계속 연산 수행

 

default : switch 문 제일 마지막 default : { 연산 } 을 명시해 조건이 모두 만족하지 않을 때를 수행한다.

 

👇 swich 문 코드  

package week02_Condition;

public class SwitchTest {
    public static void main(String[] args) {
        // switch 조건문
        int week = 7; // 7번째 case문 실행 -> Sunday
        String weekString = "";

        switch (week) {
            case 1:
                weekString = "Monday";
                break;
            case 2:
                weekString = "Tuesday";
                break;
            case 3:
                weekString = "Wednesday";
                break;
            case 4:
                weekString = "Thursday";
                break;
            case 5:
                weekString = "Friday";
                break;
            case 6:
                weekString = "Saturday";
                break;
            case 7:
                weekString = "Sunday";
                break;
            default:
                weekString = "모르겠다 ";
        }

        System.out.println(weekString);
    }
}

 

 

if 문과 switch 문의 차이

 

1.  복합 조건 

 ✓ if 문은 복합 조건을 지원해서 조건 괄호 안에 여러 조건을 지정해 조건문을 수행

 ✓ switch 문은 피연산자 한 개에 대한 조건만 지원

 

2. 코드 중복

✓ if 문은 상대적으로 코드 중복이 많지만 switch 문은 적다.

 

 

if 문으로 가위바위보 만들기 

rpsTest.java
0.00MB

 

 

반복문

✅ 자바에서 특정 조건에 따라 동일한 연산을 반복해서 수행하고 싶을 때 사용한다.

 

 

for 문

 

특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용하는 문맥이다.

반복할 때 마다 값을 증가시키려면 증가연산을 조건을 만족할 때 회차마다 연산을 수행하고 조건이 만족하지 않으면 종료한다. 

 

 

for 문 구성 

for (초기값, 조건문, 증가연산) { 반복할 연산 }

for(int i=0; i < 4; i++) { // 변수 i 값은 0 ~ 3 까지 반복
    System.out.println(i + "번째 출력"); // i 변수와 문자열 합치기
}

 

 

향상된 for 문 

 

옵션. 보틍은 일반 for문을 사용하는데 나중에 공부하는 배열 [ ] 의 모든 요소를 순회하기 좋다. 

 

기존 : for문 안에 3개의 조건, (초기값, 조건문, 증가연산)

향상된 for문 : 2개로 줄여줌

// 향상된 for 문

int[] numbers = {3,6,9,12,15};
for(int number: numbers) {
System.out.print(number + " ");
}

// 출력

3 6 9 12 15

 

 

while 문

 

for 문과 동일하게 특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용하는 문맥. 

다만, 초기값 없이 조건문만 명시하여 반복한다.

 

// while 문

int number = 0;
while(number < 3) {
		number++;
    System.out.println(number + "출력"); 
}

// 출력
1출력
2출력
3출력

 

☝️

위처럼 while 문으로 사용하면 조건문을 만족해야지만 연산이 반복 수행

한번 반복할 때마다 조건문을 체크해서 조건문이 불만족(false) 이면 반복을 중단

 

 

do - while 문 

 

do { (연산) } while(조건문) 형태로도 사용

 

// do-while 문

int number = 4;
do {
    System.out.println(number + "출력"); 
} while(number < 3); // 연산을 한번 수행 후 조건문 체크

// 출력
4출력

 

☝️

위처럼 do-while 문으로 사용하면 최초 1회 연산 수행 후 조건문을 체크하여 더 반복할지 결정

반복하게 된다면 이후에는 한번 반복할 때마다 조건문을 체크해서 조건문이 불만족(false) 이면 반복을 중단

 

 

break / continue

 

break : 반복문, switch 조건문 호출 시 중단

continue : for, while 에서 해당 순서를 패스하고 싶을 때

 

for (int i = 0; i < 10; i++) {
      System.out.println("i: " + i);
      if (i == 2) {
	    break; // i 가 2일때 가장 바깥 반복문이 종료됩니다.
}
for (int j = 0; j < 10; j++) {
	System.out.println("j: " + j);
	if (j == 2) {
	break; // j 가 2일때 가장 안쪽 반복문이 종료됩니다.
}

// 출력
i: 0 // 바깥 반복문 부터 수행 시작
j: 0 // 안쪽 반복문 1회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 break;
i: 1 // 바깥 반복문은 아직 break; 호출이 안됬으므로 다음 반복수행
j: 0 // 안쪽 반복문 2회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 두번째 break;
i: 2 // i 가 2일때 바깥 반복문도 break; 호출되어 종료

 

 

⭐ 느낀점과 다음 할 일 

자바의 핵심 문법인 조건문, 반복문을 배웠기 때문에 앞으로도 많이 사용하고 복습해야 한다.

배열과 다차원 배열을 배우면 자바의 핵심인 자료 구조에 대해 한 발짝을 내딛을 수 있다

 

 

 

 

 

 

 

728x90