< 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 |