Lesson 6. 형변환.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
명품 JAVA Programming 제 3 장 반복문, 배열, 예외처리.
2부 자바 기본 다루기 - 3장 프로그래밍을 위한 자바의 자료형
7장 문자열 클래스.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ①.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
최윤정 Java 프로그래밍 클래스 상속 최윤정
7장 배열 ②.
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
C# 03장. 프로그램 구성 요소와 데이터형.
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
표준 API(클래스라이브러리)의 기본 클래스 활용
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.
Lesson 3. 입출력과 제어문.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Power Java 제10장 배열.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
Java 11장. 패키지와 주요 클래스 public class SumTest {
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Chap09 패키지와 주요 클래스 9.1 패키지 개요와 패키지의 사용 9.2 java.lang 패키지의 개요
Lesson 9. 예외처리.
제 11 장 java.lang 패키지 제 12 장 문자열 제 13 장 유틸리티 제 14 장 입출력 제 15 장 네트워킹
5장. 참조 타입.
프로그래머를 위한 Java 2 제2장 자바 언어 기초
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
3장 자바의 기본문법(2).
프로그래밍2 및 실습 C언어 기반의 C++ 2.
김준현.
Java 기초 (Java 프로그램의 기본 구조)
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
자바 5.0 프로그래밍.
C#.
13. 연산자 오버로딩.
23강 API - II - 약방의 감초 Random 클래스 - Scanner 및 Sysout - Wrapper 클래스의 이해
7장 인터페이스와 추상 클래스.
JA A V W. 03.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
기본 입출력과 데이터 형 개요 기본 입출력 스트림 변수, 상수 및 데이터 형 데이터 형 변환.
Lesson 2. 기본 데이터형.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터공학실습(I) 3주 인공지능연구실.
자바 5.0 프로그래밍.
JAVA 프로그래밍 2장 자바의 데이터타입.
JA A V W. 06.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
자바 5.0 프로그래밍.
C# 10장. 참조형.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
2장 자바의 기본문법(1).
제 3장 연 산 자 연 산 자 의 종 류 연 산 자 우 선 순 위 형 변 환.
자바 가상 머신 프로그래밍 Chapter 3. 메소드 작성하기 Pslab 오민경.
3장 자바의 기본문법(2).
Presentation transcript:

Lesson 6. 형변환

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

자동 형변환(프로모션) 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형 (저장)

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

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

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

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

랩퍼 클래스 사용법 관련된 랩퍼 클래스 객체 생성 랩퍼 클래스에 내장된 형변환 메소드를 사용해서 원하는 데이터형으로 변환 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();

랩퍼 클래스 연습 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형

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

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] +"는 소문자입니다."); ...

진법을 고려한 형변환 진법을 생략하면 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 : }