JAVA/JAVA 기초 문법
[java] 정수,실수 클래스로 생성하는법, 문자열 -> 숫자, 숫자 -> 문자열, 문자열 가공 방법
코끼리똥11
2024. 6. 3. 15:37
정수,실수 클래스로 생성하는법
// 1. 자료형
int num1 = 5;
// 2. 클래스
Integer num2 = 5;
int num1 = 5;와 Integer num2 = 5;는 Java에서 정수를 저장하는 두 가지 방법을 보여줍니다. 두 방법은 기본 자료형(primitive type)과 래퍼 클래스(wrapper class)로 구분됩니다. 이 두 가지 방법의 차이점을 이해하기 위해 각각의 특징을 설명하겠습니다.
기본 자료형
- 메모리 사용: 기본 자료형은 메모리에 직접 값을 저장합니다. int는 4바이트 크기의 메모리를 사용합니다.
- 성능: 기본 자료형은 객체를 생성하지 않기 때문에 메모리와 속도 측면에서 더 효율적입니다.
- 기본 값: 기본 자료형은 0을 기본 값으로 가집니다.
- 기능 제한: 기본 자료형은 객체가 아니므로 메서드를 가질 수 없습니다.
클래스
- 객체로 취급: Integer는 Java의 래퍼 클래스 중 하나로, 기본 자료형 int를 객체로 감싸는 역할을 합니다.
- 기능 추가: Integer 클래스는 기본 자료형 int와 달리 여러 유용한 메서드(e.g., parseInt, valueOf, compareTo)를 제공합니다.
- 메모리 사용: 래퍼 클래스는 객체이므로 Heap 메모리에 저장되며, 객체 생성과 관련된 추가적인 메모리를 사용합니다.
- 기본 값: 래퍼 클래스는 객체이기 때문에 null을 기본 값으로 가질 수 있습니다.
- 오토박싱과 언박싱: Java는 기본 자료형과 래퍼 클래스 간의 자동 변환을 지원합니다.
- 기본 자료형(int): 메모리와 성능 측면에서 더 효율적이며, 객체 생성 없이 값만 저장합니다.
- 래퍼 클래스(Integer): 객체로 취급되며, 추가적인 메서드와 기능을 제공합니다. 기본 자료형과의 자동 변환(오토박싱, 언박싱)을 지원합니다.
문자열 -> 숫자, 숫자 -> 문자열 변환
문자열-> 숫자
1.
String str3 = "317";
int a =Integer.valueOf(str3).intValue();
2.
a = Integer.parseInt(str3);
숫자-> 문자열
1.
// int
int k = 365;
String data = String.valueOf(k);
// double
double j = 3.65;
data = String.valueOf(j);
2.
// ""+k
System.out.println(""+k);
문자열 + 숫자를 더하면 문자열로 출력됨
문자열 가공
String data1 = "abc";
1. concat : 문자열 합치는 함수
System.out.println(data1.concat("hello"));
// 출력값 : abchello
2. lengh : 문자역 길이 구하는 함수
System.out.println(data1.length());
// 출력값 : 3
3. 문자열 슬라이싱 하는함수
data1 = "hello world";
System.out.println(data1.substring(6,9+1));
//출력값 : worl
4. split : 문자열 분리하는 함수
data1 = "red, blue, white";
String[] strArray= data1.split(", ");
for(int i=0;i < strArray.length;i++) {
System.out.println(strArray[i]);
}
// 출력값:
red
blue
white
5. trim : 문자열의 왼쪽끝이나 오른쪽 끝에 붙어있는 공백을 제거하는 함수
data1= " abc@naver.com ";
System.out.println(data1.trim());
// 출력값 : abc@naver.com
6. indexOf : 특정 문자열이, 어디에 있는지(인덱스) 알려주는 함수.
System.out.println(data2.indexOf("@"));
//출력값 : 3
7. equals : 문자열이 서로 같은지 확인하는 함수
System.out.println(data2.equals("abc@naver.com"));
if (data1.trim().equals(data2)) {
System.out.println("성공");
}else {
System.out.println("이메일 주소가 다릅니다.");
}
// 출력값: 성공
data1 은 양쪽에 공백이 있음으로 제거 후 비교했다.