import 문을 사용하지 않아도 바로 사용할 수 있는 java.lang 패키지와는 달리 java.util 패키지는 import 문으로 패키지를 불러오고 나서야 클래스 이름만으로 사용할 수 있다.

<aside> ➡️ Arrays 클래스

Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있습니다. Arrays 클래스의 모든 메소드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있습니다. 이 클래스는 java.util 패키지에 포함되므로, 반드시 import 문으로 java.util 패키지를 불러오고 나서 사용해야 합니다.

CF. 배열 요소 타입별 기본값

배열 요소의 타입 기본값
char '\u0000'
byte, short, int 0
long 0L
float 0.0F
double 0.0 또는 0.0D
boolean false
배열, 인스턴스 등 null
</aside>

<aside> ✅ 날짜와 시간 관련 클래스

1995년, JDK1.0에 만들어진 클래스로 초기에 제작되어 부족한 부분이 많았다. 그래서 Date 클래스의 메서드는 거의 deprecated(앞으로 사용하지 않는)되었다. 그러나 1995년, 날짜와 시간을 다룰 목적으로 Date 클래스를 개선시킨 새로운 클래스인 Calendar 클래스와 함께 지금까지도 여전히 쓰이고 있는 클래스들이다.

CF. 2014년, JDK1.8부터 이 클래스들을 보완한 날짜와 시간 관련한 새로운 클래스를 java.time 패키지에서 제공하고 있다.

<aside> ✅ Date 클래스

</aside>

<aside> ✅ Calendar 클래스

</aside>

</aside>

<aside> ✅ Scanner 클래스

J2SE 5.0 부터 Scanner 라는 java.util.Scanner 클래스가 새로 추가되었다. Scanner 클래스를 이용하면 콘솔입력을 보다 쉽게 처리 할 수 있다.

import java.util.Scanner;

public class Sample {
    public static void main(String[] args) {

				// 1) Scanner 객체 생성
        Scanner sc = new Scanner(System.in); //new 연산자는 새로운 객체를 heap 메모리에 할당하겠다는 의미 //System.in은 화면에서 입력을 받겠다는 의미로 입력한 값을 Byte 단위로 읽어주는 자바의 표준 입력 스트림

        System.out.println(sc.next()); //next()는 Scanner 객체를 사용하여 입력값을 받는 기능을 하는 Scanner 클래스의 메서드로, 입력받을 데이터 타입에 따라 사용하는 메서드의 종류가 달라진다.
    }
}

//이번에는 콘솔 출력에 대해서 알아보자. 우리는 예제들에서 System.out.println 메서드를 계속해서 사용해 왔다. System.out은 PrintStream 클래스의 객체이다. PrintStream은 콘솔에 값을 출력할 때 사용되는 클래스이다. 보통 System.out.println은 콘솔에 문자열을 출력할 경우나 디버깅 시 많이 사용한다. System.err도 있는데 System.out과 동일한 역할을 한다. 다만 System.err는 오류메시지를 출력할 경우에 사용한다.
import java.util.Scanner;	// Scanner 클래스 호출

public class Main {
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);	// Scanner 객체 생성
        
        //기본타입
        byte a = sc.nextByte();       // byte 입력
        short b = sc.nextShort();     // short 입력
        int c = sc.nextInt();         // int 입력
        long d = sc.nextLong();       // long 입력
        
        //실수타입
        float e = sc.nextFloat();     // float 입력
        double f = sc.nextDouble();   // double 입력
        
        //논리타입
        boolean g = sc.nextBoolean();  // boolean 입력
        
        //문자열타입
        String h = sc.next();       // String 형 입력 (토큰을 기준으로 한 단어를 읽음)
        String i = sc.nextLine();   // String 형 입력 (개행을 기준으로 한 줄을 읽음)
		
        //출력문
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);
        System.out.println(g);
        System.out.println(h);
        System.out.println(i);
    }
}

</aside>

<aside> ✅ StringJoiner 클래스

</aside>

<aside> ✅ Collections 클래스

</aside>