IT/JAVA

Java API - Lang package java.lang

iamhyeon 2024. 9. 26. 14:20

< Java 기본 API >

- 자바 프로그래머에게 제공되는 기본 기능의 모음
- 패키지 단위로 구성되어 있으며 라이브러리 형태로 압축되어 JAVA언어에 내장되어 있다.

 


< java.lang 패키지 >

- 자바 언어를 구성하는데 필요한 가장 필수적이고 기본적인 클래스들을 포함하는 패키지.
- 이 패키지의 모든 클래스는 자동으로 import 되므로 별도의 import 구문이 필요 없다.

 

 

 

1) Wrapper Class

- 기본 데이터 타입에 대응되는 클래스들.
- 주요 기능: 문자열을 실 데이터 타입 변수로 변환
- 기본 자료형의 변수와 완벽히 호환되기 때문에 문자열을 실 값으로 변환하는 기능 외에는 큰 의미가 없다.

- 각 데이터 타입에 맞는 Wrapper Class 안에 static 메서드로 정의되어 있다.

 

▼ 문자열을 기본 데이터 타입으로 변환 

     ( Character 타입은 지원되지 않는다 )

기능명 리턴타입
Byte.parseByte byte
Short.partShort short
Integer.parseInt int
Long.parseLong long
Float.parseFloat float
Double.parseDouble double
Boolean.parseBoolean boolean
public class Ex01_WrapperClass {
    public static void main(String[] args) {
        
        //  1) Wrapper 클래스의 기본특성
        //  Wrapper Class는 기본 데이터 타입과 완벽히 호환된다
        int number=100;
        Integer a = number;
        System.out.printf("a=%d\n", a);

        //  기존 방식  -->  (deprecated) 다음 버전부터 이 기능이 사라질 것이 예고됨
        Integer b = new Integer(number);
        System.out.printf("b=%d\n", b);

        int c = 100;
        System.out.println(a+c);

        //  2) Wrapper Class의 의의
        String s1 = "20";
        String s2 = "3.14";

        //  Wrapper Class의 가장 중요한 기능은 특정 데이터형의 모양을 하고 있는 문자열을 실제 데이터 형으로 변환하는 기능
        //  각 데이터 타입에 맞는 Wrapper Class 안에 static 메서드로 정의되어 있다
        int num_a = Integer.parseInt(s1);
        float num_b = Float.parseFloat(s2);
    }
}



Integer.MAX_VALUE

Integer.MIN_VALUE

- Java에서 Integer.MAX_VALUE, Integer.MIN_VALUE는 int가 보유할 수 있는 최댓값과 최솟값을 나타내는 Integer 클래스에 정의된 상수이다

 


 

2) Math Class

- 모든 메서드가 static으로 선언되어 있기 때문에 Math 클래스의 객체를 생성할 필요는 없다.

기능 설명
int Math.max(int, int) 두 값 중에서 큰 값 리턴
int Math.min(int, int) 두 값 중에서 작은 값 리턴
int Math.abs(int) 절댓값 리턴`
int Math.round(double) 소수점 반올림
double Math.random() 0~1 사이의 랜덤값 리턴

 

 

|  범위 조절 가능한 랜덤 메서드

public int random(int min, int max) {
	return (int) ( (Math.random() * (max-min+1)) + min );
}

 

 

 

  Java JavaScript
min, max 파라미터 2개 파라미터 수 제한 X

 

 

ex)

public class Ex02_Math_기본기능 {
    public static void main(String[] args) {
        
        int max = Math.max(100, 999);
        System.out.println("최댓값 = " + max);

        int min = Math.min(100,999);
        System.out.println("최솟값 = " + min);

        int abs = Math.abs(-234);
        System.out.println("절댓값 = " + abs);

        long num = Math.round(3.1223344);
        System.out.println("소수점 반올림 = " + num);

        double rnd = Math.random();
        System.out.println("랜덤값 = " + rnd);
    }
}

 

 


 

 

3) String Class

문자열에서 특정 정보를 추출하는 기능들 제공

 

기능 설명
int length() 문자열의 길이 리턴
char charAt(int) 주어진 인덱스에 위치한 글자를 추출하여 리턴
int indexOf(String) 특정 문자열이 처음으로 나타나는 위치 조회
찾지 못할 경우 -1 반환
int indexOf(String, int) 특정 문자열이 처음으로 나타나는 위치를 두번째 파라미터로 지정된 위치부터 조회
찾지 못할 경우 -1 반환
int lastIndexOf(String) 특정 문자열이 마지막으로 나타나는 위치 조회
찾지 못할 경우 -1 반환
String substring(int, [, int]) 첫 번째 파라미터 위치부터 두 번째 파라미터
String toLowerCase() 소문자로 변경하여 반환
String toUpperCase() 대문자로 변경하여 반환
String trim() 앞,뒤 공백을 제거하여 반환
String replace(String, String) 문자열에서 첫 번째 파라미터와 일치하는 값을 두 번째 파라미터의 내용으로 변경
String[] split(String) 주어진 글자를 기준으로 잘라서 생성된 배열 리턴
boolean equals(String) 값이 같으면 true, 다르면 false 리턴

 

 

ex )

public class Ex04_String {
    public static void main(String[] args) {
        
        String msg = "Life is too short. You need Java!";
        System.out.println("문자열 : " + msg);

        int len = msg.length();
        System.out.println("문자열 길이 : " + len);

        char str2nd = msg.charAt(2);
        System.out.println("두 번째 글자 : " + str2nd);

        int p1 = msg.indexOf("f");
        System.out.println("f 가 처음 나타나는 위치 : " + p1);

        System.out.println("z 가 처음 나타나는 위치 : " + msg.indexOf("z"));

        System.out.println("short 가 처음 나타나는 위치 : " + msg.indexOf("short"));

        int p2 = msg.indexOf("i");
        int p3 = msg.indexOf("i", p2+1);
        System.out.println("i 가 첫 번째로 나타나는 위치 : " + p2);
        System.out.println("i 가 두 번째로 나타나는 위치 : " + p3);

        int p4 = msg.lastIndexOf("a");
        System.out.println("a 의 마지막 위치" + p4);

        if (msg.indexOf("Hello") > -1) {
            System.out.println("Hello 포함");
        } else {
            System.out.println("Hello 포함 X");
        }

        String substring1 = msg.substring(0, 18);
        System.out.println("문자열 자르기 : " + substring1);

        String substring2 = msg.substring(19);
        System.out.println("문자열 자르기 : " + substring2);

        String up = msg.toUpperCase();
        System.out.println("모든 글자의 대문자 변환 : " + up);

        String low = msg.toLowerCase();
        System.out.println("모든 글자의 소문자 변환 : " + low);

        String src1 = "     LG Twins     ";
        String src2 = src1.trim();
        System.out.printf("src1 = [%s]\n", src1);
        System.out.printf("src2 = [%s]\n", src2);

        String txt = "HTML,CSS,JAVASCRIPT";
        String[] arr = txt.split(",");
        for ( int i=0; i<arr.length; i++ ) {
            System.out.println(arr[i]);
        }

        String txt2 = txt.replace(",", "$");
        System.out.println(txt2);

        String txt3 = "Hello";
        System.out.println(txt3.equals("hello"));

        if ( txt3.equals("Hello")) {
            System.out.println("txt3는 Hello입니다");
        } else {
            System.out.println("txt3는 Hello 가 아닙니다");
        }
    }
}

 


 

Character 클래스

 

public static boolean Character.isLetter(char ch)

 

- 문자가 알파벳(문자)인지 판별할 때 사용하는 메서드

- 문자가 유니코드 기준 '문자(letter)'이면 true, 아니면 false

- 숫자(0–9), 특수기호, 공백 등 ❌

- Character 클래스가 제공하는 문자 처리 유틸 메서드

 

 

 


refer to

메가스터디아이티 이광호쌤

 

'IT > JAVA' 카테고리의 다른 글

Gson(Maven)  (0) 2024.09.27
Java API - util package (1)  (0) 2024.09.26
Helper  (0) 2024.09.26
패키지와 라이브러리  (0) 2024.09.25
예외처리  (0) 2024.09.25