본문 바로가기
Programming Languages/Java

Chapter 5. 형 변환

by 더 이프 2023. 1. 8.
728x90

목차

    1. 형 변환

    ■ 업 캐스팅

    • 문자 ➡ 정수 ➡ 실수
    • 값이 작은 범위에서 큰 범위로의 형 변환
    • 묵시적 형 변환이라고 함
    • 명시하지 않아도 자동으로 형 변환됨

    ■ 다운 캐스팅

    • 실수 ➡ 정수 ➡ 문자
    • 값이 큰 범위에서 작은 범위로의 형 변환
    • 명시적 형 변환이라고 함
    • 반드시 명시해야 함
    • 실수형에서 정수형으로 변환 시 소수점은 삭제됨
    • 형 변환이 연산보다 우선시 됨

     

    2. 예시

    ■ Casting1

    package j03_형변환;
    
    public class Casting1 {
    
    	public static void main(String[] args) {
    		char a = 'a';
    		int num1 = a;
    		
    		System.out.println((double) a);
    		System.out.println((char) 97.0);
    		System.out.println((byte) 300);
    	}
    }

    ■ Casting2

    package j03_형변환;
    
    public class Casting2 {
    
    	public static void main(String[] args) {
        
    		char char_a = 'a';
    		// 업 캐스팅
    		int num = (int) char_a;
    		// 다운 캐스팅
    		char char_b = (char) (num + 1);
    		
    		System.out.println('a' + 1);
    		System.out.println(char_b);
    	}
    }

    ■ Casting3

    package j03_형변환;
    
    public class Casting3 {
    
    	public static void main(String[] args) {
        
    		double kor = 87.5;
    		double eng = 95.7;
    		double math = 80.5;
    		
    		int total = 0;
    		double avg = 0;
    		
    		total = (int) kor + (int) eng + (int) math;
            
    		// 자료형이 다르면 연산할 수 없기 때문에 같은 자료형인 double형으로 연산
    		avg = (double) total / 3.0;
    		
    		System.out.println("합계 : " + total);
    		System.out.println("평균 : " + avg);
    	}
    }