public class IntegerExam {
public static void main(String[] args) {
System.out.println("정수 최대 값 : " +Integer.MAX_VALUE);
System.out.println("정수 최소 값 : " +Integer.MIN_VALUE);
System.out.println("실수 최대 값 : " +Double.MAX_VALUE);
System.out.println("실수 최소 값 : " +Double.MIN_VALUE);
System.out.println("자료형 크기 : " +Integer.BYTES + "바이트");
int i = 10;
String stri = Integer.toString(i); //랩퍼클래스에는 대부분 toString메소드가 있다. 문자로 바꿀 수 있다.
System.out.println("문자열 : " + stri);
String binaryValue = Integer.toBinaryString(i);
System.out.println("2진수 : " + binaryValue);
String octalValue = Integer.toOctalString(i); //8진법
System.out.println("8진수 : " + octalValue);
String hexValue = Integer.toHexString(i); //16진법
System.out.println("16진수 : " + hexValue);
String _stock = "100"; //재고 수량
int stock = Integer.parseInt(_stock); //파싱하여 문자열 100을 숫자 100으로 바꿈.
System.out.println("재고 수량 : " + stock + "개");
String _price = "350.5";
double price = Double.parseDouble(_price); //파싱하여 문자열 100을 숫자 100으로 바꿈.
System.out.println("단가 : " + price + "원");
_stock = "200";
stock = Integer.valueOf(_stock) + 100; //valueOf 메서드는 문자열(String)을 정수(Integer) 객체로 변환하는 메서드입니다.
System.out.println("재고 수량 2 : " + stock + "개");
price = 1234.56;
String temp = String.valueOf(price) + "원";
System.out.println("문자열 : " + temp);
int su01 = 10, su02 = 20;
System.out.println("큰 수 : " + Integer.max(su01, su02));
System.out.println("작은 수 : " + Integer.min(su01, su02));
System.out.println("합 수 : " + Integer.sum(su01, su02));
}
}
1. parseInt()
(1) 문자열에 숫자를 더하면 문자열 결합이 일어난다.
자바(Java)에서 문자열(String)과 숫자(int, double 등)를 더하면, 문자열 결합(String concatenation) 이 발생한다. 숫자가 자동으로 문자열로 변환되어 결합된다.
String _stock = "100"; //재고 수량 int stock = Integer.parseInt(_stock); //파싱하여 문자열 100을 숫자 100으로 바꿈.
출력:
100
String _stock = "100"+5; //재고 수량
int stock = Integer.parseInt(_stock); //파싱하여 문자열 1005가 숫자 1005로 바뀜.
출력:
1005
(2) 문자열 "100"을 int타입으로 파싱하기.
String _stock = "100"; //재고 수량
int stock = Integer.parseInt(_stock); //문자열 "100"을 int 100으로 변환(파싱)한다.
System.out.println("재고 수량 : " + (stock+100) + "개"); //이렇게 더할 수도 있다.
출력:
재고 수량 : 200개
(3) 숫자로만 구성된 문자열만 int 타입으로 파싱할 수 있다(오류 발생).
String _stock = "100a"; //재고 수량
int stock = Integer.parseInt(_stock); //파싱하여 문자열 100을 숫자 100으로 바꿈.
System.out.println("재고 수량 : " + stock + "개");
출력 안 됨:
NumberFormatException 발생
2. valueOf()
_stock = "200";
stock = Integer.valueOf(_stock) + 100; //valueOf 메서드는 문자열(String)을 정수(Integer) 객체로 변환하는 메서드이다.
System.out.println("재고 수량 2 : " + stock + "개");
출력:
재고 수량 2 : 300개
- valueOf메서드
- 대부분의 랩퍼 클래스는 valueOf()메서드가 있다.
- valueOf메서드는 스태틱 메서드이다.
- valueOf는 String클래스에 속해 있다.
3. min(), max(), sum()
int su01 = 10, su02 = 20;
System.out.println("큰 수 : " + Integer.max(su01, su02)); // 두 숫자 데이터 집합에서 최대값을 반환한다.
System.out.println("작은 수 : " + Integer.min(su01, su02)); // 두 숫자 데이터 집합에서 최소값을 반환한다.
System.out.println("합 수 : " + Integer.sum(su01, su02)); // 두 숫자 데이터 집합에서 한계를 계산하여 반환한다.
위의 코드에 사용된 Integer클래스의 메서드 정리.
메서드 | 역할 | 매개변수 타입 | 반환 타입 | 사용 방식 |
---|---|---|---|---|
Integer.MAX_VALUE |
정수형 자료형의 최대값 반환 | 없음 | int |
Integer.MAX_VALUE |
Integer.MIN_VALUE |
정수형 자료형의 최소값 반환 | 없음 | int |
Integer.MIN_VALUE |
Integer.BYTES |
정수형 자료형의 크기(바이트) 반환 | 없음 | int |
Integer.BYTES |
Integer.toString(int) |
정수 값을 문자열로 변환 | int |
String |
Integer.toString(10) |
Integer.toBinaryString(int) |
정수 값을 2진수 문자열로 변환 | int |
String |
Integer.toBinaryString(10) |
Integer.toOctalString(int) |
정수 값을 8진수 문자열로 변환 | int |
String |
Integer.toOctalString(10) |
Integer.toHexString(int) |
정수 값을 16진수 문자열로 변환 | int |
String |
Integer.toHexString(10) |
Integer.parseInt(String) |
문자열을 정수로 변환 | String |
int |
Integer.parseInt("100") |
Integer.valueOf(String) |
문자열을 Integer 객체로 변환 |
String |
Integer |
Integer.valueOf("100") |
Double.parseDouble(String) |
문자열을 실수(Double)로 변환 | String |
double |
Double.parseDouble("350.5") |
String.valueOf(double) |
실수 값을 문자열로 변환 | double |
String |
String.valueOf(1234.56) |
Integer.max(int, int) |
두 정수 중 최대값 반환 | int, int |
int |
Integer.max(10, 20) |
Integer.min(int, int) |
두 정수 중 최소값 반환 | int, int |
int |
Integer.min(10, 20) |
Integer.sum(int, int) |
두 정수의 합 반환 | int, int |
int |
Integer.sum(10, 20) |
파싱의 정의:
- 파싱은 데이터를 특정 형식에서 다른 형식으로 변환하거나, 특정 형식을 분석해 유의미한 데이터를 추출하는 과정이다.
- 예를 들어, "200"(문자열)을 200(정수)로 변환하는 것은 데이터를 다른 형식으로 바꾸는 작업이므로 파싱이다.
TMI
- valueOf와 pase같이 비슷한 메소드들이 존재한다.
- 웹 페이지에서는 모든 데이터가 문자로 넘어간다. 숫자도 문자로 넘어간다.
'자바 > 자바 기본 라이브러리' 카테고리의 다른 글
java.lang 패키지(암시적 import) (0) | 2025.01.15 |
---|---|
String 클래스 예제 (0) | 2025.01.15 |
Math 클래스 (0) | 2025.01.14 |
String 클래스 메서드 예제 (0) | 2025.01.14 |
Map컬렉션 출력하기 (0) | 2025.01.13 |