[이것이 자바다] CH04. 조건문과 반복문, 확인문제

2025. 3. 17. 00:28· JAVA/이것이 자바다
목차
  1. if문
  2. switch문
  3. Switch Expression(표현식)
  4. for문 / while문
  5. break문
  6. continue문
  7. 확인문제
  8. 1번 정답: 2
  9. 2번 정답: 
  10. 3번 정답: 
  11. 4번 정답: 
  12. 5번 정답: 
  13. 6번 정답: 
  14. 7번 정답: 

d

if문

출처: 이것이 자바다(개정판)

 

중괄호를 생략하면?

if문을 작성할 때, 중괄호{} 블록 내에 실행문이 하나밖에 없다면 중괄호를 생략할 수 있다.

ealry return이나 단순 프린트(혹은 로깅)를 할 때 유용하게 사용되곤 하는데, 제대로 알지 못하고 사용하면 버그의 원인이 될 수 있다.

 

boolean isTrue = true;

// good case
if (isTrue) System.out.print("HELLO WORLD");

// bad case
if (!isTrue)
	System.out.println("It's false!");
    System.out.println("BYE WORLD");

 

첫번째 케이스와 같이 if문에 실행문이 하나인 경우 "HELLO WORLD"를 출력하게 된다.

하지만 두번째 케이스의 경우 의도와 다르게 "BYE WORLD"가 출력되게 된다. 

 

 

switch문

출처: 이것이 자바다(개정판)

switch문은 괄호 안의 변수값에 해당하는 case로 가서 실행문을 실행시킨다. 만약 변수값과 동일한 case가 없으면 default로 가서 실행문을 실행시킨다.

 

switch문에서 주의해야할 점은 각 실행문에 break를 작성하지 않으면 case값과 상관 없이 다음 case가 연달아 실행된다. 의도한 실행이 아니라면 break문을 까먹지 않도록 하자

int num = 1;

swith(num) {
	case 1:
    	System.out.println("Number is one.");
    case 2:
    	System.out.println("Number is two.");
    default:
    	System.out.println("It's defualt number.");
}

// 실행결과
// Number is one.
// Number is two.
// It's defualt number.

Switch Expression(표현식)

Java 12 이후부터는 표현식을 사용할 수 있다. break를 없애고, 화살표와 중괄호를 사용해서 가독성을 높일 수 있다.

if문과 동일하게 실행문이 하나인 경우 중괄호를 생략할 수 있다.

 

int num = 1;
        
switch (num) {
    case 1 -> System.out.println("1");
    case 2 -> System.out.println("2");
    case 3 -> System.out.println("3");
    default -> System.out.println("0");
}

 

변수에 바로 대입하기

Switch Expression을 사용하면 결과값을 바로 변수에 대입할 수 있다. 단일 값일 경우 중괄호를 생략해서 표현 가능하고, 중괄호를 사용할 경우에는 yield 키워드(Java 13부터 사용 가능)로 값을 지정해주어야한다. 단, 이 경우에는 반드시 default가 존재해야한다.

 

String grade = "A";

int score = switch (grade) {
    case "A" -> 100;
    case "B" -> {
        int result = 100 - 20;
        yield result;
    }
    default -> 60;
};

 

for문 / while문

for문과 while문의 가장 큰 차이점은 조건문의 형태이다.

for문은 정해진 횟수만큼 반복한다면, while문은 조건식이 ture일 경우에 계속해서 반복하고 false가 되면 반복을 종료한다.

 

출처: 이것이 자바다(개정판)

 

 

break문

출처: 이것이 자바다(개정판)

break문은 반복문이나 조건문인 switch문을 종료할 때 사용된다.

만약 반복문이 중첩되어있다면 break문은 가장 가까운 반복문만 종료하고, 바깥쪽 반복문은 종료시키지 않는다.

 

중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥족 반복문에 이름(Lable)을 붙이고 break 이름; 을 사용하면 된다.

 

continue문

continue문은 반복문에서 사용되며, continue문이 실행되면 이후 실행문을 건너뛰고 바로 조건식으로 이동한다.

 

확인문제


1번 정답: 2

switch 문에서 사용할 수 있는 변수 타입은 int이다.

2번 정답: 

String grade = "B";

int score1 = switch (grade) {
    case "A" -> 100;
    case "B" -> {
        int result = 100 - 20;
        yield result;
    }
    default -> 60;
};

 

3번 정답: 

int sum = 0;

for (int i = 1; i <= 100; i++) {
    if (i % 3 == 0) sum += i;
}

System.out.println(sum);

 

4번 정답: 

while (true) {
    int a = (int) (Math.random() * 6) + 1;
    int b = (int) (Math.random() * 6) + 1;

    System.out.println("(" + a + "," + b + ")");

    if (a + b == 5) {
        break;
    }
}

 

5번 정답: 

int x;
int y;

for (x = 0; x < 11; x++) {
    for (y = 0; y < 11; y++) {
        if ((4 * x) + (5 * y) == 60) System.out.println("(" + x + "," + y + ")");
    }
}

 

6번 정답: 

for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= i; j++) {
        System.out.print("*");

        if (i == j) {
            System.out.println();
        }
    }
}

 

7번 정답: 

Scanner sc = new Scanner(System.in);

int balance = 0;

while (true) {
    System.out.println("----------------------");
    System.out.println("1.예금 | 2.출금 | 3.잔고 | 4.종료");
    System.out.println("----------------------");

    System.out.print("선택> ");
    int choice = sc.nextInt();

    if (choice == 1) {
        System.out.print("예금액>");
        balance += sc.nextInt();
    } else if (choice == 2) {
        System.out.print("출금액>");
        balance -= sc.nextInt();
    } else if (choice == 3) {
        System.out.println("잔고>" + balance);
    } else {
        break;
    }
}

System.out.println("프로그램 종료");
저작자표시 비영리 (새창열림)

'JAVA > 이것이 자바다' 카테고리의 다른 글

[이것이 자바다] CH09. 중첩 선언과 익명객체  (1) 2025.04.08
[이것이 자바다] CH08. 인터페이스, 확인문제  (0) 2025.04.08
[이것이 자바다] CH03. 연산자, 확인문제  (0) 2025.03.16
[이것이 자바다] CH02. 변수와 타입, 확인문제  (0) 2025.03.16
[이것이 자바다] CH01. 자바 시작하기, 확인문제  (3) 2025.03.16
  1. if문
  2. switch문
  3. Switch Expression(표현식)
  4. for문 / while문
  5. break문
  6. continue문
  7. 확인문제
  8. 1번 정답: 2
  9. 2번 정답: 
  10. 3번 정답: 
  11. 4번 정답: 
  12. 5번 정답: 
  13. 6번 정답: 
  14. 7번 정답: 
'JAVA/이것이 자바다' 카테고리의 다른 글
  • [이것이 자바다] CH09. 중첩 선언과 익명객체
  • [이것이 자바다] CH08. 인터페이스, 확인문제
  • [이것이 자바다] CH03. 연산자, 확인문제
  • [이것이 자바다] CH02. 변수와 타입, 확인문제
Anna-Jin
Anna-Jin
Anna-Jin
내일 한걸음 더
Anna-Jin
TOTAL
TODAY
YDAY
  • CATEGORY (212)
    • Project (0)
      • Zero2One.Dev (0)
    • Algorithm (40)
      • Leetcode (20)
      • Programmers (1)
      • CODETREE (0)
      • Baekjoon (7)
      • etc (12)
    • JAVA (42)
      • JAVA (20)
      • 점프투자바 (16)
      • 이것이 자바다 (6)
    • Spring boot (20)
    • Database (9)
    • CS (11)
    • Study (80)
      • Trouble Shooting (11)
      • TIL (50)
      • WIL (11)
      • Etc (8)
    • Review (10)
    • Projects (0)
      • Blog (0)

BLOG MENU

  • GITHUB
  • RESUME

공지사항

POPULAR POSTS

태그

  • 코딩테스트
  • til
  • 항해99
  • leetcode
  • Wil
  • 알고리즘
  • 회고록
  • spring boot
  • Java
  • 이것이 자바다
  • 삽질로그
  • 코테
  • 리트코드
  • 트러블슈팅
  • Algorithm
  • 자료구조
  • JPA
  • MySQL
  • 자바
  • 확인문제

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
Anna-Jin
[이것이 자바다] CH04. 조건문과 반복문, 확인문제
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.