힌트: 상수는 final 키워드를 사용합니다. 예: final int MAX = 100;
public class Main {
public static void main(String[] args) {
final double PI = 3.14159;
System.out.println(PI);
}
}
📍오답체크
- double PI = 3.14159;
✅ 개념 정리
- final은 상수 선언에 사용.
- 한 번 값을 넣으면 다시 변경 불가.
- 상수 이름은 보통 대문자로 작성.
예: final double PI = 3.14;
public class Main {
public static void main(String[] args) {
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);
}
}
📍 오답체크
- int num = (int) str;
✅ 개념 정리
- (int)는 기본형끼리만 형변환 가능.
- String → int는 타입이 완전히 달라서 형변환 불가.
- 문자열 안의 숫자를 정수로 바꾸려면 Integer.parseInt() 사용!
힌트: 문자열 비교는 == 대신 equals()를 사용합니다.
public class Main {
public static void main(String[] args) {
String id = "admin";
if (id.equals("admin")) {
System.out.println("접속 성공");
} else {
System.out.println("접속 실패");
}
}
}
📍 오답체크
- if (id.equals(id)
✅ 개념 정리
- equals()는 문자열의 내용을 비교할 때 사용.
- id.equals("admin") → id 안의 값이 "admin"과 같은지 비교함.
- id.equals(id) → 항상 true (자기 자신 비교).
힌트: 점수를 10으로 나눈 값으로 등급을 매깁니다.
public class Main {
public static void main(String[] args) {
int score = 91;
switch(score/10) {
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("F");
break;
}
}
}
📍 오답체크
- switch(score)
✅ 개념 정리 (switch로 점수 등급 나누기)
- switch(score)는 정확한 점수 하나만 비교 가능함 → case 91: 이런 식으로 전부 다 적어야 하므로 비효율적.
- 점수를 범위(100
90, 8980 등) 로 처리하고 싶으면, switch(score / 10)처럼 10으로 나눠서 몫으로 비교해야 함. - 예: 91 / 10 = 9 → case 9:에서 처리 가능!
✅ case에 들어가는 숫자는?
- score / 10의 결과값이 들어옴 → score = 91이면 case 9:
- 범위별 case 예시:
점수 | score / 10 | case값 |
100 | 10 | case 10 |
95 | 9 | case 9 |
82 | 8 | case 8 |
74 | 7 | case 7 |
65 | 6 | case 6 |
59 | 5 | default |

힌트: 문자열 switch는 Java 7 이상에서 사용 가능
public class Main {
public static void main(String[] args) {
int a = 6, b = 3;
String op = "*";
switch (op) {
case "+": System.out.println(a + b); break;
case "-": System.out.println(a - b); break;
case "*": System.out.println(a * b); break;
case "/": System.out.println(a / b); break;
default: System.out.println("잘못된 연산자");
}
}
}
📍오답체크
- System.out.println(a*b); 문제에서 원하는 연산자를 이용하질 못했다
힌트: sum += i 를 이용해 누적합을 구하세요.
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 5; i++) {
sum += i;
}
System.out.println(sum);
}
}
📍오답체크
- int sum = 0; / sum += i; 을 제대로 작성하질 못했다. .
힌트: while문은 조건이 참이면 반복합니다. 초기값과 증가식을 설정하세요.
public class Main {
public static void main(String[] args) {
int i = 1;
while (i <= 5) {
System.out.println(i);
i++;
}
}
}
📍오답체크
- while문을 처음에 어? 어떻게 쓰더라 하고 제대로 작성하지 못했음..
public class Main {
public static void main(String[] args) {
boolean condition = false;
do {
System.out.println("실행됨");
} while (condition);
}
}
📍오답체크
- while(true) {System.out.println("실행안됨"); break;}
public class Main {
public static void main(String[] args) {
int i = 0;
while (i < 10) {
i++;
if (i % 2 != 0) continue;
System.out.println(i);
}
}
}
📍오답체크
- while (i <=10) {if (i % 2 == 0) {System.out.println(i);continue;}} 무한로딩경험중..
public class Main {
public static void main(String[] args) {
int[] numbers = {10,20,30};
System.out.println(numbers[0]);
}
}
📍오답체크
- int numbers = {10,20,30}; 똑같은 실수의 반복 ! 대괄호를 빼먹음 !!!!
배열 길이는 length 속성을 사용하고, 마지막 인덱스는 length - 1 입니다.
public class Main {
public static void main(String[] args) {
String[] fruits = {"apple", "banana", "cherry"};
System.out.println(fruits[fruits.length - 1]);
}
}
📍오답체크
- System.out.println(fruits[2]); 맞는줄 알았으나.. length-1을 이용해서 풀어야하는 문제..
힌트: arr[1] = 10; 처럼 인덱스를 활용해 값을 수정할 수 있습니다.
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
arr[1] = 10;
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
📍오답체크
인덱스 값을 활용해서 값을 수정할 수 있다는 사실을 몰랐다.. 기억하자
public class Main {
public static void main(String[] args) {
int[] numbers = {5, 10, 15};
int index = 3;
if (index >= 0 && index < numbers.length) {
System.out.println(numbers[index]);
} else {
System.out.println("인덱스가 범위를 벗어났습니다.");
}
}
}
📍오답체크
- int[] numbers = {5,10,15};
- for (int i = 0; i < numbers.length; i++) {if (i >= 0 && i < numbers.length) { System.out.println(numbers[i]);} else {System.out.println("인덱스가 범위를 벗어났습니다.");}}
- 출력 가이드를 출력 할 수가 없어서 기본 범위 출력물로 입력하였다.
public class Main {
public static void main(String[] args) {
int[][] matrix = {{1, 2, 3}, {4, 5, 6}};
System.out.println(matrix[1][2]);
}
}
public class Main {
public static void main(String[] args) {
int[][] data = {{1, 2}, {3, 4}, {5, 6}};
int sum = 0;
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
sum += data[i][j];
}
}
System.out.println(sum);
}
}