자바 기본 문법(2)

오정빈·2025년 9월 16일

내일배움캠프

목록 보기
10/22

2025 09 16 스파르타 코딩클럽 12일차

1. 형 변환

(1) 다운캐스팅 (명시적 형 변환)

  • 큰 데이터 타입 → 작은 데이터 타입
  • 직접 형 변환을 해주어야 함
  • 데이터 손실 발생 가능
double d = 3.14;
int i = (int) d; // 3 (소수점 이하 손실)

(2) 업캐스팅 (자동 형 변환)

  • 작은 데이터 타입 → 큰 데이터 타입
  • 자동으로 변환되므로 별도의 코드 불필요
int a = 10;
double b = a; // 10.0

2. 연산

(1) % 모듈러 연산

  • 나머지를 구하는 연산
  • 시간 계산, 짝/홀수 판별 등에 자주 사용
int n = 10;
System.out.println(n % 2); // 0 → 짝수
System.out.println(n % 3); // 1

(2) 연산자 우선순위

  • 산술 → 비교 → 논리 → 대입
  • 논리 연산자: !&&||

(3) 문자열 비교

  • 문자열은 == (메모리 주소 비교 ) 대신 .equals() 사용
String s1 = "hello";
String s2 = new String("hello");

System.out.println(s1 == s2);       // false (주소 비교)
System.out.println(s1.equals(s2));  // true (값 비교)

3. 배열

(1) 정적 배열

  • 크기 고정, 한 번 정하면 변경 불가
int[] arr = new int[3]; // 크기 3

(2) 동적 배열

  • 크기 변경 가능
  • Java에서는 ArrayList로 구현
import java.util.ArrayList;

ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(20);
System.out.println(list); // [10, 20]

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문

  • 최소 1회 실행 보장
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("기타 요일");
}

0개의 댓글