조건문 & 반복문

HWKoo·2023년 9월 22일

학습할 것

조건문
반복문


조건문

  • 자바에서 사용할 수 있는 조건문은 if 구문과 switch 구문이 있다.
  • 프로그램의 흐름을 제어하기 위해 사용
  • 흐름을 제어하는 조건식과 그 조건마다 실행하는 실행 구문으로 나뉨

if 문

  • 주어진 조건이 참(true)인 경우에 코드 블록을 실행
if(조건) {
    // 조건이 참일 때 실행할 코드
}

/* 실행할 코드가 한줄일 때 중괄호 생략가능 */
if(조건) 
	// 조건이 참일 때 실행할 코드 
int number = 10;

if(number > 5) {
    System.out.println("숫자는 5보다 큽니다.");
}

if-else 문

  • 주어진 조건이 참(true)인 경우와 거짓(false)인 경우에 각각 다른 코드 블록을 실행
if(조건) {
    // 조건이 참일 때 실행할 코드
} else {
    // 조건이 거짓일 때 실행할 코드
}
int number = 3;

if(number > 5) {
    System.out.println("숫자는 5보다 큽니다.");
} else {
    System.out.println("숫자는 5보다 작거나 같습니다.");
}

👉 if-else 문을 삼항 연산자로 변환

/* if-else 문으로 구성되어 있고, 그 구문의 조건식과 실행 구문이 비교적 간단한 형태일 때 변환 */

System.out.println((number > 5) ? "숫자는 5보다 큽니다." : "숫자는 5보다 작거나 같습니다.");

if-else if-else 문

  • 여러 조건을 순차적으로 검사하고, 첫 번째로 참인 조건에 해당하는 코드 블록을 실행
if(조건1) {
    // 조건1이 참일 때 실행할 코드
} else if(조건2) {
    // 조건2가 참일 때 실행할 코드
} else {
    // 모든 조건이 거짓일 때 실행할 코드
}
int number = 5;

if(number > 10) {
    System.out.println("숫자는 10보다 큽니다.");
} else if(number > 5) {
    System.out.println("숫자는 5보다 큽니다.");
} else {
    System.out.println("숫자는 5보다 작거나 같습니다.");
}

switch 문

  • 주어진 표현식의 값에 따라 다른 case 블록을 실행
  • 각 case는 특정 값 또는 표현식과 일치하면 해당 블록이 실행
switch(표현식) {
    case1:
        // 값1과 일치하는 경우 실행할 코드
        break;
    case2:
        // 값2와 일치하는 경우 실행할 코드
        break;
    // ...
    default:
        // 모든 case와 일치하지 않는 경우 실행할 코드
}
int number = 5;

switch(number) {
  case 1:
    System.out.println("1입니다.");
    break;
  case 2:
    System.out.println("2입니다.");
    break;
  default:
    System.out.println("1 또는 2가 아닙니다.");
    break;
}

👉 개선된 switch 문

자바 12에서는 switch 표현식이 도입되었고, 자바 13에서는 이러한 switch 표현식을
개선하고 확장하는 기능이 추가됨

이전 작성 글 참고 : https://velog.io/@carpe07/연산자#switch-연산자


반복문

  • 루프(loop)문이라고 부르기도 하며 주로 반복된 작업을 처리하는데 사용
  • 반복할 조건을 설정할 수 있는 부분과 반복할 실행 구문으로 구성

for 문

  • 반복적인 작업을 수행할 때 사용되는 제어문
  • 초기화, 조건 검사, 반복 후 작업 순서를 갖는 구조
  • 특정 조건이 충족되는 동안 코드 블록을 반복적으로 실행
for(초기화식; 조건식; 증감식) {
    // 반복해서 실행할 코드
}
  • 초기화식 : 반복문 진입 시 한 번만 실행되며, 반복 변수의 초기값을 설정
  • 조건식 : 각 반복마다 검사되며, 조건이 참(True)인 동안 계속 반복
  • 증감식 : 각 반복의 끝에서 실행되며, 반복 변수를 증가 또는 감소시킴
/* 1부터 10까지 출력 */
for(int i = 1; i <= 10; i++) {
    System.out.println(i);
}

/* 배열의 모든 요소 출력 */
int[] numbers = {1, 2, 3, 4, 5};
for(int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}

for-each 문

  • 배열과 컬렉션과 같은 반복 가능한 객체를 간편하게 순회(iterate)할 때 사용
  • 반복 변수를 직접 제어하지 않고 요소를 하나씩 가져오면서 반복 작업을 수행
  • 반복의 인덱스나 요소를 수정하는 경우에는 일반적인 for 문을 사용해야 함
for (요소타입 변수명 : 반복가능한객체) {
    // 요소를 처리하는 코드
}
  • 요소타입 : 반복 가능한 객체에서 가져올 요소의 데이터 타입
  • 변수명 : 각 요소를 저장할 변수의 이름
  • 반복가능한객체 : 배열 또는 컬렉션과 같이 반복 가능한 객체
/* 배열 순회 */
int[] numbers = {1, 2, 3, 4, 5};

for(int num : numbers) {
    System.out.println(num);
}


/* 리스트 순회 */
List<String> names = Arrays.asList("Koo", "Kim", "Park");

for(String name : names) {
	System.out.println(name);
}

while 문

  • 조건이 참(True)인 경우 특정한 코드 블록을 반복적으로 실행하는 루프를 생성하는데 사용
while (조건) {
    // 실행할 코드
}
int i = 1; // 시작값

while(i <= 5) {   // 조건: i가 5 이하인 동안
    System.out.println(i);   // 현재의 i값을 출력
    i++;   // i를 1씩 증가
}

do-while 문

  • 코드 블록을 실행한 다음 조건을 평가하는 특징을 갖는다.
  • do-while 문은 코드 블록이 최소한 한 번은 실행되도록 보장하며, 그 후에 조건을 검사하여
    조건이 참(True)인 동안에는 계속해서 코드 블록을 반복 실행
do {
    // 실행할 코드
} while (조건);
  • do-while 문은 일반적으로 반복해야 할 최소한 한 번의 작업이 있고, 나중에 조건을 확인하여
    반복을 계속할지 결정해야 하는 경우에 사용
int i = 1;
int sum = 0;

do {
    if(i % 2 != 0) {   // 홀수인 경우에만 더함
        sum += i;
    }
    i++;
} while (i <= 100);

System.out.println("1부터 100까지의 홀수 합 : " + sum);
profile
천천히 그리고 꾸준히

0개의 댓글