Java 제어문

I C-AN·2021년 7월 14일
0

Java

목록 보기
6/26

조건문과 반복문

조건문 : 조건을 만족할때만 코드를 수행 (0~1번)
반복문 : 조건을 만족하는 동안 코드를 수행 (0~n번)

if문

if (조건식) {
    조건식의 결과가 참일 때 실행하고자 하는 명령문;
} else if (조건식2){
	조건식2의 결과가 거짓일 때 실행하고자 하는 명령문;
} else if (조건식3){
	조건식3의 결과가 거짓일 때 실행하고자 하는 명령문;
} else {
	어느 조건식도 만족하지 않을 때 실행되는 명령문;
}

// 중첩 if문 예제
if (true) {
	System.out.println("Hello");
	if (true) {
		System.out.println("World");
	}
}

조건식이 참일 때 블럭 안의 코드를 수행한다
else는 조건이 거짓일 때 블럭 안의 코드를 수행하며 생략할 수 있다
if문은 중첩이 가능하다
if ~ else / if ~ else if ~ else를 이용하여 중첩되는 조건식을 더 간결하게 쓸 수 있다

switch문

switch (조건 값) {
    case1:
        조건 값이 값1일 때 실행하고자 하는 명령문;
        break; // switch문 탈출
    case2:
        조건 값이 값2일 때 실행하고자 하는 명령문;
        break;
    ...
    default:
        조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;
        break;
}

처리해야 하는 경우의 수가 많을 때 유용한 조건문

switch문의 제약조건

  1. 조건식 결과는 정수 또는 문자열이어야 한다
  2. case문의 값은 정수, 상수(문자 포함), 문자열만 가능하며 중복되지 않아야 한다

for문

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

// 중첩 for문 예제
for (int i = 2; i <= 9; i++) {
	for (int j = 1; j <= 9; j++) {
		System.out.println(i + "*" + j + "=" + (i * j));
	}
	System.out.println(); // 구구단 출력
}

조건을 만족하는 동안 블럭을 반복하며 반복횟수를 알 때 적합한 반복문
for문 또한 중첩으로 사용할 수 있다

while문

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

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

// 예제
do {
    System.out.println("do / while 문이 " + i + "번째 반복 실행중입니다");
    j++; // 이 부분을 삭제하면 무한 루프에 빠지게 됨
} while (j < 1);

조건을 만족하는 동안 블럭을 반복하며 반복횟수를 모를 때 적합한 반복문
블럭 내부에 따로 조건식에 변화를 주는 코드가 없으면 무한루프에 빠지게 된다
조건식의 결과가 어느 순간 거짓을 갖도록 조건식의 결과를 변경하는 명령문을 반드시 포함해야 한다
do while문은 조건식에 상관없이 무조건 한 번은 명령을 실행한다

break, continue

// continue
for (int i = 1; i <= 100; i++) {
    if (i % 5 == 0 || i % 7 == 0) {
        System.out.println(i);
    } else {
        continue;
    }
}

// break
int num = 1, sum = 0;

while (true) { // 무한 루프
    sum += num;
    if (num == 100) {
        break; // 루프 탈출
    }
    num++;
}

System.out.println(sum);

// 이름붙은 반복문 label
allLoop : for (int i = 2; i < 10; i++) {
    for (int j = 2; j < 10; j++) {
        if (i == 5) {
            break allLoop; // 라벨명이 붙은 반복문을 탈출
        }
        System.out.println(i + " * " + j + " = " + (i * j));
    }
}
  1. continue문은 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 한다
  2. break문은 루프 내에서 조건식의 판단 결과와 상관없이 반복문을 완전히 빠져나가고 싶을 때 사용한다
  3. 라벨 : 반복문에 이름을 붙여서 하나 이상의 반복문을 벗어날 수 있다
profile
할 수 있다

0개의 댓글