일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 페이지 내 탭
- SWEA 1228 python
- SWEA 6190 python
- scanner bufferedreader
- SWEA 1954 java
- MySQL
- GitHub
- ReactMediaRecorder
- scroll 맨 밑
- SWEA 11315 python
- response property
- Git
- $.ajax 사용
- dispatcherservlet 오류
- CSS
- Canvas
- js XML 읽기
- jQuery EventListener
- java
- request property
- tabs switch
- 탭 활용해 내용바꾸기
- javascript
- js canvas
- scroll 맨 밑 이동
- sw8931
- js session
- js 객체생성
- MySQL update delete
- web recorder
Archives
- Today
- Total
Daily Pogle
[Java] Wrapper class 본문
프로그햄에 따라 기본 타입의 데이터를 객체로 취급해야하는 경우에 사용할 수 있는 클래스입니다.
대표적으로 우리가 자주 사용하는 wrapper class 는 기본자료형 char[] 대신 많이 활용하는 String 입니다.
[ Wrapper class ]
Java 의 자료형은 기본타입, 참조타입으로 나뉩니다.
1) 기본타입 : int, float, char, boolean 등
2) 참조타입 : class, interface 등
프로그래밍 시 기본타입 데이터를 객체로 표현해야하는 경우, 기본타입 데이터를 객체로 다루기 위해서 사용하는 클래스가 Wrapper class 입니다.
다음 기본타입과 이에 대응하는 Wrapper class 입니다.
기본타입 | Weaper class |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
char | String |
boolean | Boolean |
Wrapper class 는 기본타입을 갖고 있는 객체로 이를 포장객체라고도 합니다.
Wrapper class 는 기본타입을 객체(포장객체)로 만들기 위해 주로 사용하지만, 문자열을 기본타입 값으로 변환할 때도 사용합니다.
// 문자열 -> int
String numStr = "123";
int numInt = Integer.parseInt(numStr);
// 문자열 -> float
String numStr = "123.45";
float numflo = Float.parseFloat(numStr);
// 문자열 -> double
String numStr = "123.45";
double numDou = Double.parseDouble(numStr);
// 문자열 -> boolean;
String bolStr = "true";
boolean bol = Boolean.parseBoolean(bolStr);
// 숫자 -> 문자열 (1)
Integer ObjNum = 12345;
String tranStr = ObjNum.toString();
// 숫자 -> 문자열 (2)
int objNum = 12345;
String tranStr = Integer.toString(objNum,10)
// Wrapper class 는 객체를 생성하기 때문에 wrapper class 안의 기본자료 값이 같다고 해서 객체도 같은 것은 아닙니다.
Integer wrapperNum_1 = new Integer(30);
Integer wrapperNum_2 = new Integer(30);
System.out.println(wrapperNum_1); // 30 출력
System.out.println(wrapperNum_2); // 30 출력
boolean sameWrapper = (wrapperNum_1 == wrapperNum_2);
System.out.println(sameWrapper); // false 출력
// 하지만 equals() 메서드를 사용하면 내부의 값으로 비교가능합니다.
boolean sameWrapper = wrapperNum_1.equals(wrapperNum_2)
System.out.println(sameWrapper); // true 출력
[wrapper class 관련 주요 method 정리]
function | method | function | method |
10진수 -> 2진수(string) | Integer.toBinaryString(int); | 2진수 -> 10진수 | Integer.valueOf(string, 2); |
10진수 -> 8진수(string) | Integer.toOctalString(int); | 8진수 -> 10진수 | Integer.valueOf(string, 8); |
10진수 ->16진수(string) | Integer.toHexString(int); | 16진수 -> 10진수 | Integer.valueOf(string, 16); |
문자열(숫자) -> int | Integer.parseInt(string); | 숫자 -> 문자열(숫자) | Integer.toString(int, radix); |
문자열(숫자) -> float | Float.parseFloat(string); | ||
문자열(숫자) -> double | Double.parseDouble(string); | ||
문자열(숫자) -> boolean | Boolean.parseBoolean(string); |
*radix : 진수
package main;
import java.util.Scanner;
public class assignments {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("[ 10진수에서 n진수로 변환 ]");
int decNum = sc.nextInt();
System.out.println("2진수 >> "+ Integer.toBinaryString(decNum));
System.out.println("8진수 >> "+ Integer.toOctalString(decNum));
System.out.println("16진수 >> "+ Integer.toHexString(decNum));
System.out.println("[ 2진수에서 10진수 ]");
String binNum = sc.next();
System.out.println("변환 >> "+Integer.valueOf(binNum,2));
System.out.println("[ 8진수에서 10진수 ]");
String octNum = sc.next();
System.out.println("변환 >> "+Integer.valueOf(octNum,8));
System.out.println("[ 16진수에서 10진수]");
String hexNum = sc.next();
System.out.println("변환 >> "+ Integer.valueOf(hexNum,16));
sc.close();
}
}
'Programming language > Java' 카테고리의 다른 글
[Java] Scanner vs BufferedReader (0) | 2023.01.22 |
---|---|
[Java] 추상클래스 (0) | 2023.01.19 |
[Java] 입력 예외처리 - InputMisMatchException (1) | 2022.12.30 |
[Java] File 사용하기 - 파일 입출력 (0) | 2022.12.26 |