2025 09 16 스파르타 코딩클럽 12일차
1. 형 변환
(1) 다운캐스팅 (명시적 형 변환)
- 큰 데이터 타입 → 작은 데이터 타입
- 직접 형 변환을 해주어야 함
- 데이터 손실 발생 가능
double d = 3.14;
int i = (int) d;
(2) 업캐스팅 (자동 형 변환)
- 작은 데이터 타입 → 큰 데이터 타입
- 자동으로 변환되므로 별도의 코드 불필요
int a = 10;
double b = a;
2. 연산
(1) % 모듈러 연산
- 나머지를 구하는 연산
- 시간 계산, 짝/홀수 판별 등에 자주 사용
int n = 10;
System.out.println(n % 2);
System.out.println(n % 3);
(2) 연산자 우선순위
- 산술 → 비교 → 논리 → 대입
- 논리 연산자:
! → && → ||
(3) 문자열 비교
- 문자열은
== (메모리 주소 비교 ) 대신 .equals() 사용
String s1 = "hello";
String s2 = new String("hello");
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
3. 배열
(1) 정적 배열
int[] arr = new int[3];
(2) 동적 배열
- 크기 변경 가능
- Java에서는
ArrayList로 구현
import java.util.ArrayList;
ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(20);
System.out.println(list);
4. 반복문
(1) for문
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
(2) while문
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
(3) do-while문
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 5);
(4) 향상된 for문 (for-each)
int[] numbers = {1, 2, 3, 4, 5};
for (int n : numbers) {
System.out.println(n);
}
5. 조건문
(1) if문
int n = 10;
if (n > 0) {
System.out.println("양수");
}
(2) if-else문
int n = -5;
if (n >= 0) {
System.out.println("양수");
} else {
System.out.println("음수");
}
(3) if-else if-else문
int score = 85;
if (score >= 90) {
System.out.println("A");
} else if (score >= 80) {
System.out.println("B");
} else {
System.out.println("C 이하");
}
(4) switch문
int day = 3;
switch (day) {
case 1:
System.out.println("월요일");
break;
case 2:
System.out.println("화요일");
break;
case 3:
System.out.println("수요일");
break;
default:
System.out.println("기타 요일");
}