본문 바로가기

자바 언어 기초 - 변수와 타입

연산식에서 자동 타입 변환

연산식에서 int 타입의 자동 변환

  • 정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int 타입보다 작은 btye, short 타입 변수는 int 타입으로 자동 변환되어 연산 수행

    출처, 이것이 자바다


  • byte 변수가 피연산자로 사용되면 변수값은 int 값으로 연산되며, 결과값 역시 byte 변수가 아닌 int 변수에 저장해야 함

    출처, 이것이 자바다

package ch02.sec09;

/*
 * 연산시 자동타입 변환
 * 연산구문에서 int형 타입보다 낮은 byte, short를 사용시 자동으로 int로 변환된다.
 */

public class OperationPromotionExample {

    public static void main(String[] args) {

        byte result1 = 10 + 20;
        System.out.println("reault1: " + result1);

        byte v1 = 10;
        byte v2 = 20;

        //byte result = (int)v1 + (int)v2; //문법에러
        int result2 = v1 + v2; //int result2 = (int)v1 + (int)v2
        System.out.println("result2: " + result2);


        //연산시 가장 큰 데이터 타입으로 결과값이 정해진다.
        //v5변수가 long이라는 가장 큰 데이터 타입이다.
        byte v3 = 10;
        int v4 = 100;
        long v5 = 1000L;
        long result3 = v3 + v4 + v5;
        System.out.println("result3: " + result3);

        //연산시 char 데이터 타입이 int형보다 작으므로, 내부적으로 int형으로 자동변환되는 규칙
        char v6 = 'A';
        char v7 = 1;
        int result4 = v6 + v7;
        System.out.println("result4: " + result4);

        int v8 = 10;
        int result5 = v8 / 4; //int형끼리 연산 결과는 int로 받는다.
        System.out.println("result5: " + result5);

        //정수형 데이터 타입보다는 실수형 데이터 타입이 크므로, 실수형(double)로 변환되고, 연산된다.
        int v9 = 10;
        double result6 = v9 / 4.0; //10.0 / 4.0
        System.out.println("result6: " + result6);

        //1을 2로 나누어 소수점 형태의 실수값으로 결과값처리
        int v10 = 1;
        int v11 = 2;
        double result7 = (double) v10 / v11;
        System.out.println("result7: " + result7);


    }

}

 

package ch02.sec09;

/*
 + : 덧셈기능, 문자열 연결
 연산구문에서 "" 문자열이 존재하면, 숫자가 문자열로 형변환된다.
 */
public class StringConcatExample {

    public static void main(String[] args) {

        int result1 = 10 + 2 + 8; // + 덧셈기능
        System.out.println("result1: " + result1);

        String result2 = 10 + 2 + "8"; // 12 + "8" -> "12" + "8" -> "128"
        System.out.println("result2: " + result2);

        String result3 = 10 + "2" + 8; // "10" + "2" -> "102" + "8" -> "1028"
        System.out.println("result3: " + result3);

        String result4 = "10" + 2 + 8; // "10" + "2" -> "102" + "8" -> "1028"
        System.out.println("result4: " + result4);

        String result5 = "10" + (2 + 8); // "10" + 10 -> "10" + "10" -> "1010"
        System.out.println("result5: " + result5);

    }

}

문자열을 기본 타입으로 변환

  • String 타입 변환하기

    출처, 이것이 자바다

 

package ch02.sec09;

/*
 문자열 형태의 숫자데이터를 기본데이터 타입으로 변환하는 예제.
 */
public class StringConvertDatatype {

    public static void main(String[] args) {

        String str = "10";
        byte var1 = Byte.parseByte(str); //"10" -> 10
        System.out.println(var1);

        str = "12.345";
        double var2 = Double.parseDouble(str); //"12.345" -> 12.345
        System.out.println(var2);

        str = "true";
        boolean var3 = Boolean.parseBoolean(str); //"true" -> true
        System.out.println(var3);


    }

}

'자바 언어 기초 - 변수와 타입' 카테고리의 다른 글

콘솔로 변수값 출력  (0) 2023.01.14
변수 사용 범위  (0) 2023.01.14
강제 타입 변환  (0) 2023.01.14
자동 타입 변환  (0) 2023.01.14
문자열 타입  (0) 2023.01.13