Java 복습 (입문)

GeungBin·2025년 3월 4일

Java

목록 보기
3/3

Java 기본 문법 정리

do ~ while

  • while 실행 전에 무조건 do 문이 한 번 실행됨.

break / continue

  • break : while 문 종료
  • continue : 다음 라인을 실행하지 않고 while 조건으로 돌아감

형변환 (Casting)

기본 개념

  • 자료형 크기: int < long < double
  • 작은 자료형 → 큰 자료형 : 자동 형변환(문제 없음)
  • 큰 자료형 → 작은 자료형 : 명시적 형변환 필요!

예제

double doubleValue = 1.5;
int intValue = 1;

// 자동 형변환 (문제 없음)
doubleValue = intValue;

// 명시적 형변환 필요
// 범위를 초과한 값은 손실됨 (intValue = 1이 됨)
intValue = (int) doubleValue;

오버플로우 (Overflow)

  • 허용 범위보다 높은 숫자를 넣으면 음수로 변환됨.
  • 시계 반대 방향으로 값이 변한다고 생각하면 이해하기 쉬움.
int intValue = (int) 2147483648L; // int형 최대값은 2147483647
System.out.println(intValue); // 출력: -2147483648

오버플로우는 오류이므로 결과 분석이 불가능함!

서로 다른 타입의 계산

  • 서로 다른 자료형이 연산될 경우, 더 큰 자료형으로 자동 형변환 발생
  • 예) int / longlong 타입으로 변환됨

Scanner (입출력)

System.out.print vs System.out.println

  • System.out.print("text") : 다음 문장이 바로 이어서 출력됨.
  • System.out.println("text") : 개행 후 다음 줄에 출력됨.
  • print("text\n") == println("text")

사용자 입력 받기

  • System.in을 사용하여 콘솔에서 입력을 받을 수 있음.
import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("문자열을 입력하세요: ");
        String str = scanner.nextLine();
        System.out.println("입력한 문자열: " + str);
    }
}

Scanner 주요 메서드

  • nextLine() → 문자열 입력
  • nextInt() → 정수 입력
  • nextDouble() → 실수 입력

문자열 비교

  • 문자열 비교는 equals() 메서드 사용!
"hello".equals("hello"); // true

리팩토링 (Refactoring)

기존 코드의 기능은 유지하면서, 내부 구조를 개선하여 가독성을 높이고 유지보수를 용이하게 하는 과정.

  • 작동하는 기능은 같지만, 코드를 더 개선하는 것!

배열 선언 방법

1차원 배열

int[] intArr;
intArr = new int[5]; // 배열 선언 후 생성

int[] intArr = new int[5]; // 배열 선언 + 생성
int[] intArr = new int[]{1,2,3,4,5}; // 배열 선언 + 초기화 (길이 생략)
int[] intArr = {1,2,3,4,5}; // 배열 선언 + 초기화 (생략 가능)

주의!

int[] intArr;
intArr = {1,2,3,4,5}; // 오류 발생! 배열 선언과 동시에 초기화해야 함.

2차원 배열

// 2차원 배열 선언
int[][] intArr = new int[2][3];

// 2차원 배열 생성과 초기화
int[][] arr = new int[][]{
    {1,2,3},
    {4,5,6}
};

// 2차원 배열 생성과 초기화 (생략 가능)
int[][] arr = {
    {1,2,3},
    {4,5,6}
};

// 행과 열 길이 구하기
int row = arr.length; // 행 길이
int column = arr[0].length; // 열 길이

향상된 for 문 (for-each 문)

배열을 처음부터 끝까지 탐색하는 for 문.

일반 for 문 vs 향상된 for

// 일반 for문
for (int i = 0; i < numbers.length; i++) {
    int number = numbers[i];
    System.out.println(number);
}

// 향상된 for문
for (int number : numbers) {
    System.out.println(number);
}

for-each 문을 사용할 수 없는 경우

  • index 값이 필요한 경우 for-each 문을 사용할 수 없음.
  • for-each 문은 배열의 값(value) 만 가져올 수 있고, 인덱스(index)는 접근 불가!
profile
My potential is limitless!

0개의 댓글