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 > 이것이 자바다' 카테고리의 다른 글
[이것이 자바다] CH03. 연산자, 확인문제 (0) | 2025.03.16 |
---|---|
[이것이 자바다] CH02. 변수와 타입, 확인문제 (0) | 2025.03.16 |
[이것이 자바다] CH01. 자바 시작하기, 확인문제 (3) | 2025.03.16 |

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 > 이것이 자바다' 카테고리의 다른 글
[이것이 자바다] CH03. 연산자, 확인문제 (0) | 2025.03.16 |
---|---|
[이것이 자바다] CH02. 변수와 타입, 확인문제 (0) | 2025.03.16 |
[이것이 자바다] CH01. 자바 시작하기, 확인문제 (3) | 2025.03.16 |