본문 바로가기
Java

자바(Java)의 배열, 조건문 , 스캐너

by 임혁진 2024. 10. 22.

자바 배열조건문 Scanner 사용법 정리

 

1 . 배열 (Array)

배열은 같은 데이터 타입의 여러 값을 하나의 변수에 저장할 수 있는 자료구조입니다. 자바에서 배열은 고정 크기를 가지며, 배열을 선언하고 생성할 때 그 크기를 지정해야 합니다.

배열 선언

  • 배열 선언은 두 가지 방식으로 가능합니다.
int[] numbers;    // 첫 번째 방식
int numbers[];    // 두 번째 방식

배열 생성

  • 배열을 생성할 때 배열의 크기를 지정해줍니다.
numbers = new int[5];  // 크기가 5인 배열 생성

배열 선언과 생성, 초기화 한번에

  • 배열의 선언, 생성, 초기화를 한 줄로 작성할 수도 있습니다.
int[] numbers = new int[5];  // 크기 5인 배열 선언 및 생성
int[] scores = {90, 80, 70, 60};  // 선언과 동시에 초기화

배열의 길이

  • 배열의 크기는 배열이름.length를 통해 알 수 있습니다.
System.out.println(numbers.length);  // 배열의 크기 출력

배열과 반복문

  • 배열은 for문과 함께 자주 사용됩니다.
for (int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}

2.  Scanner 클래스

Scanner 클래스는 사용자로부터 입력을 받을 때 사용되는 도구입니다.

Scanner 사용법

  1. Scanner 객체 생성 
Scanner scan = new Scanner(System.in);

 

   2. 데이터 입력 받기

  • 문자열 입력: next() 또는 nextLine()
  • 정수 입력: nextInt()
  • 실수 입력: nextDouble()
String name = scan.nextLine();  // 공백 포함 문자열
int age = scan.nextInt();  // 정수 입력

  3. Scanner 객체 닫기

scan.close();

3. 조건문 (If ~ Else)

조건문은 프로그램의 흐름을 제어하는데 사용됩니다.

기본 구조

if (조건식) {
    // 조건식이 참일 때 실행할 코드
} else {
    // 조건식이 거짓일 때 실행할 코드
}

다중 분기 조건문

여러 조건을 처리할 때는 else if를 사용합니다.

if (조건식1) {
    // 조건식1이 참일 때 실행
} else if (조건식2) {
    // 조건식2가 참일 때 실행
} else {
    // 나머지 경우 실행
}

무한 반복 해결법

입력받는 타입이 잘못되었을 경우, **nextInt()**나 **nextDouble()**에서 예외가 발생해 무한 반복에 빠질 수 있습니다. 이를 방지하려면 올바른 입력 타입을 확인하거나 예외 처리를 사용해야 합니다.

while (true) {
    if (scan.hasNextInt()) {
        int num = scan.nextInt();
        break;  // 올바른 입력이면 반복 종료
    } else {
        System.out.println("잘못된 입력입니다. 다시 입력해주세요.");
        scan.next();  // 잘못된 입력을 소모
    }
}

이와 같은 방법으로 자바의 배열, 조건문, 그리고 Scanner를 사용할 수 있습니다.