Step it up now

형 변환 casting 본문

개인공부/java

형 변환 casting

케잉 2024. 4. 1. 20:38
 public static void main(String[] args) {
        long maxIntValue = 2147483647;  //int 의 최고값 - long에 담을 수 있음
        long maxIntOver = 2147483648L;  //int 의 최고값 +1 = int값에 초과됨

        int intValue = 0;
        intValue = (int) maxIntValue; //형변환
        System.out.println("maxIntValue casting = " + intValue); //2147483647

        intValue = (int) maxIntOver; //형변환
        
        //오버플로우  -2147483648
        //int 범위 (-2,147,483,648 ~ 2,147,483,647)를 초과하니 int의 가장 작은 수가 출력됨  
        System.out.println("maxIntOver casting = " + intValue); 
       
        				
    }

 

 

 

  public static void main(String[] args) {
        int div1 = 3/2;
        System.out.println("div1 = " + div1);//1

        double div2 = 3/2 ; //int와 int의 계산이기에 답은 int 타입의 1
        //int를 double에 대입해야함 (자동형변환)
        //1 (int) -> 1.0(double)
        System.out.println("div2 = " + div2);//1.0


        double div3 = 3.0/2; //double 나누기 int -> 더 큰 double로 형변환 일어남
        System.out.println("div3 = "  +div3);//1.5


        double div4 = (double) 3/2;  //명시적 형변환 사용  (double) int/int
        //double / int -> double로 형전환
        System.out.println("div4 = " + div4); //1.5

        int a =3;
        int b = 2;
        double result = (double) a / b; // (double) int / int
        //double 3/ 2;  -> 변수값 읽기
        //(double)3 / (double)2  -> 더 큰 범위로 형전환
        //3.0 /2.0 -> double 값
        System.out.println("result = " + result); //1.5
    }

'개인공부 > java' 카테고리의 다른 글

scanner 스캐너  (0) 2024.04.05
반복문  (0) 2024.04.03
스코프  (0) 2024.03.31
if문  (0) 2024.03.19
메서드 호출, 값 전달  (1) 2024.01.15