Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lesson 6. 형변환.

Similar presentations


Presentation on theme: "Lesson 6. 형변환."— Presentation transcript:

1 Lesson 형변환

2 형변환이 필요한 이유? double myDouble = 33.3; int result; ...
result = myDouble * 3; 99.9 소숫점 이하 0.9 손실

3 자동 형변환(프로모션) short myShort = 200; byte(8) byte myByte= 20;
int myInt = myShort + myByte; byte(8) short/char(16) int(32) long(64) float(32) double(64) 형변환 필요 자동 형변환 short형 byte형 int형 (저장)

4 자바의 형변환 캐스팅 랩퍼 클래스 기본 데이터형 간의 형변환 (예) int 값을 char에 저장하는 경우
기본 데이터형과 레퍼런스 데이터형 간의 형변환 (기본 데이터형 간에도 물론 사용 가능하지만 캐스팅이 더 편하기 때문에 잘 사용되지 않음) (예) String형 문자열을 int에 저장하는 경우

5 캐스팅 int myInt = (int) 12.34; 바꾸고 싶은 데이터형(=의 왼쪽)을 괄호로 감싸서 표시
현재 데이터형(=의 오른쪽)이 아님 double

6 랩퍼 클래스의 종류 String은 랩퍼 클래스가 아니지만 함께 쓰는 경우가 많음

7 랩퍼 클래스의 메소드 byte byteValue() short shortValue() int intValue()
Integer 클래스 (랩퍼 클래스) byte short int long float double String byteValue() shortValue() intValue() longValue() floatValue() doubleValue() toString()

8 랩퍼 클래스 사용법 관련된 랩퍼 클래스 객체 생성 랩퍼 클래스에 내장된 형변환 메소드를 사용해서 원하는 데이터형으로 변환
int myInt = 10; 관련된 랩퍼 클래스 객체 생성 Integer wrap = new Integer(myInt); 랩퍼 클래스에 내장된 형변환 메소드를 사용해서 원하는 데이터형으로 변환 byte myByte = wrap.byteValue(); short myShort = wrap.shortValue(); int myInt = wrap.intValue(); long myLong = wrap.longValue(); float myFloat = wrap.floatValue(); double myDouble = wrap.doubleValue(); String myString = wrap.toString();

9 랩퍼 클래스 연습 float형  String형 String형  int형 float myFloat = 12.34F;
Float wrap = new Float(myFloat); // float형Float형 String myString = wrap.toString(); // Float형String형 String형  int형 String myString = "4225"; Integer wrap = Integer.valueOf(myString); // String형Integer형 int myInt = wrap.intValue(); // Integer형int형

10 랩퍼 클래스의 비교 Integer x = new Integer(200); Integer y = new Integer(200);
== 연산자 x == y  false equals() 메소드 x.equals(y)  true

11 Character 클래스 1 : public class MyCharacter 2 : {
3 : public static void main(String[] args) 4 : { 5 : char[] arr = {'T', 'o', 'n', 'G', '?', ' ', '2', '0', '0', '3', '!'}; 6 : 7 : for(int i=0; i<arr.length; i++) 8 : { 9 : if(Character.isDigit(arr[i])){ 10 : System.out.println(arr[i] +"는 숫자입니다."); 11 : }else if(Character.isWhitespace(arr[i])){ 12 : System.out.println(arr[i] +"는 스페이스입니다."); 13 : }else if(Character.isUpperCase(arr[i])){ 14 : System.out.println(arr[i] +"는 대문자입니다."); 15 : }else if(Character.isLowerCase(arr[i])){ 16 : System.out.println(arr[i] +"는 소문자입니다."); ...

12 진법을 고려한 형변환 진법을 생략하면 10진수가 디폴트 (예) parseInt(num)
1 : public class Radix 2 : { 3 : public static void main(String[] args) 4 : { 5 : String num= "11"; 6 : 7 : try{ 8 : 9 : int bin= Integer.parseInt(num, 2); // 2진수 11로 봤을 때 10 : int oct= Integer.parseInt(num, 8); // 8진수 11로 봤을 때 11 : int dec= Integer.parseInt(num, 10); // 10진수 11로 봤을 때 12 : int hex= Integer.parseInt(num, 16); // 16진수 11로 봤을 때 ... 20 : }catch(NumberFormatException e){ 21 : System.out.println("ERROR: "+ e); 22 : }


Download ppt "Lesson 6. 형변환."

Similar presentations


Ads by Google