Daily coding
Java Basic : day 4 - 래퍼 클래스(Wrapper Class) 본문
Wrapper Class
일반 자료형을 사용하기 쉽게 클래스화 한 것
/
일반자료형 Wrapper Class
boolean Boolean
char Character
byte Byte
short Short
int Integer ------------------------ 중요
long Long
float Float
double Double ------------------------ 중요
char[] String ------------------------ 중요
length length()-메소드
toString()
valueOf() : number -> String
Static Method : 래퍼 클래스에 직접 접근하는 메소드 - String.valueOf
Character ch1; // 인스턴스 생성
ch1 = new Character('A'); // 값을 넣는 방법 1
ch1 = 'B'; // 값을 넣는 방법 2
System.out.println("ch1 = " + ch1);
Character ch2 = new Character('B');
// 캐릭터 타입끼리 더할 때는 아래의 두가지 방법으로 캐릭터 타입을 스트링으로 바꿔줘야 한다.
// String str = ch1 + ch2 ; ----> 오류나는 코드
String str = ch1.toString() + ch2.toString(); //char 타입에 toString() 붙여주기
str = ch1 + ch2 + "" ; // 뒤쪽에 "" 붙이면 아스키 코드로 바꿔주고 +로 두 값을 더해줌
System.out.println(str); //132 출력
str = "" + ch1 + ch2; // 앞쪽에 "" 더해주면 문자열로 바꿔주고 +로 두 값을 붙여줌
System.out.println(str);
// == 비교는 주소값 비교함
if(ch1 == ch2) {
System.out.println("ch1, ch2 같은 문자열");
}
else {
System.out.println("ch1, ch2 다른 문자열");
}
// equals()
if(ch1.equals(ch2)) {
System.out.println("ch1, ch2 같은 문자열");
}
else {
System.out.println("ch1, ch2 다른 문자열");
}
// Integer
// = int
int i = 25;
Integer iObj;
// iObj = new Integer(1);
// 원래는 이렇게 정의해야함
iObj = 36;
// 위의 코드처럼 값을 할당해도 자바에서 자동으로 new로 인스턴스 생성해서 값을 넣어준다
// 숫자 -> 문자열 String.valueOf(1)
// String is = iObj.toString(); // toString 메소드 사용해도 되지만
String is = iObj + ""; // 이렇게 쓰는 것이 더 간단하게 스트링으로 바꿔줄 수 있다.
System.out.println("is = " + is);
// 문자열 -> 정수(int)
String str1 = "123";
int num1 = Integer.parseInt(str1);
// Integer.parseInt(String data)
// String 으로 할당된 숫자 문자열 데이터를 parsing(변환)해줌
num1 = num1 +5;
// int형으로 변환된 str1이 num1에 담겼기 때문에 연산 가능함
System.out.println("num 1 + 5 = " + num1);
// 문자열 -> 실수(Double)
String str2 = "234.567";
Double d1 = Double.parseDouble(str2);
System.out.println("double : " + d1);
// Wrapper Class 이용해서 진수 변환하기
// 10진수 -> 2진수, 16진수
// 10진수는 int 형
// 2진수, 16진수는 String
int number = 132;
String num2str;
// 10진수 -> 2진수
// Integer.toBinaryString 사용
num2str = Integer.toBinaryString(number);
System.out.println("10진수를 2진수로 표현 : " + number + " -> "+ num2str);
// 2진수 -> 10진수
// Integer.parseInt(파싱할 데이터, 파싱할 데이터가 현재 몇진수로 표현됐는지)
int num2to10 = Integer.parseInt(num2str, 2);
System.out.println("2진수를 10진수로 표현 : " + num2str + " -> "+ num2to10);
// 10진수 -> 16진수
// Integer.toHexString()
String num16str= Integer.toHexString(num2to10);
System.out.println("10진수를 16진수로 표현 : " + num2to10 + " -> "+num16str);
// 16진수 -> 10진수
// Integer.parseInt(파싱할 데이터, 파싱할 데이터가 현재 몇진수로 표현됐는지)
int num16to10 = Integer.parseInt(num16str,16);
System.out.println("16진수를 10진수로 표현 : " + num16str + " -> "+num16to10);
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 4 - Example 02 : 가위바위보 (Rock Scissors Paper) (0) | 2019.11.22 |
---|---|
Java Basic : day 4 - Example 01 : 숫자 맞추기 게임 (ramdom()) (0) | 2019.11.22 |
Java Basic : day 4 - 피보나치 수열 (Fibonacci sequence) (0) | 2019.11.22 |
Java Basic : day 3 - Example 03 : 계산기 ( 입력값 검사 및 예외처리) (0) | 2019.11.20 |
Java Basic : day 3 - Example 02 : 2차원 배열을 1차원 배열에 넣기 (0) | 2019.11.20 |