Java 기초 자료형 - 정수형
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
Java에서 사용하는 정수 자료형에 대해 이해한다.
코드
package ex02variable;
public class E01JunsuType {
public static void main(String[] args) {
/*
정수 자료형
- byte, short, int, long 타입(형)이 있다.
-일반적으로 CUP(중앙처리장치)는 정수형을 연산 할때
int 형을 가장 빠르게 처리한다.
- 즉, 정수형 변수는 거의 대부분 int 형을 사용한다.
*/
int int1 = 100;
int int2 = 200;
int result1 = int1 + int2;
System.out.println("int1 + int2 = " + result1);
//두개의 정수를 나눠서 몫을 반환한다.
result1 = int1 / int2;//정수와 정수의 연산이므로 정수의 결과가 나옴
System.out.println("int1 / int2 = " + result1);
/*
-int형보다 작은 자료형을 연산하면 컴파일러는 int형으로 변환하여
연산하다.
-CPU가 int형의 연산에 최적화 되어있기 때문이다.
-byte, short형은 게임케릭터의 움직임의 표현이나 음원정보등을
저장할때 사용한다.
*/
byte byte1 = 50, byte2 = 55;
int result2 = byte1 + byte2; //byte + byte = int형
System.out.println("byte1 + byte2 = " + result2);
short short1 = 60, short2 = 70;
int result3 = short1 + short2; //short + short = int형
System.out.println("short1 + short2 = " + result3);
/*
-동일자료형끼리의 연산은 동일자료형이 되는것이 기본 원친임.
-큰 자료형과 작은 자료형을 연산하면 큰 자료형으로 자동형변환된다.
(데이터 손실이 있을수 있기때문)
-단, byte와 short는 예외적인 상황으로 생각하면 된다.(int형에
최적화된 CPU의 특성때문)
*/
long long1 = 1000, long2 = 2000;
long result4 = int1 + long2;
System.out.println("int1 + long1 = " + result4);
result4 = long1 + long2;
System.out.println("long1 + long2 = " + result4);
//long long3 = 2200000000; => 에러발생
long long3 = 2200000000L;
long long4 = 2200000000l;
/*
자바컴파일러(CPU)는 정수형상수를 기본적으로 int형으로
간주하기 떄문에 위 정수를 메모리에 올리는순간 에러가 발생한다.
이때는 접미사(L 또는 l)을 붙혀서 int형 자료가 아닌 long형
자료임을 알려주야한다. 이와같이 대입을 위해 입력되는 숫자도
자료형을 기반으로 메모리에 저장되고, 이를 '리터럴'이라고 한다.
*/
System.out.println("long3 = " + long3);
}
}
자바에서 사용하는 정수 자료형을 위한 코드입니다. 구체적인 내용은 주석에 담겨 있지만 중요한 내용은 short와 byte자료형은 int 자료형으로 변환되서 계산한다는 것과 큰 자료형과 작은 자료형이 계산되면 결과 값은 큰 자료형으로 나온다는 것, 마지막으로 자바 컴파일러는 정수형 상수를 int형으로 간주하기 때문에 long 자료형을 선언했때는 숫자 뒤에 L을 써주는 리터럴 작업을 해주어야 한다는 것이다.
결과 값
'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 자료형 - Char형,boolean형 (0) | 2020.09.28 |
---|---|
Java 기초 자료형 - 실수형 (0) | 2020.09.26 |
Java 기초(println, printf, print) (0) | 2020.09.25 |
Java 기초(자바 파일의 구조) (0) | 2020.09.24 |
Java 기초(Hello world, 파일 생성) (0) | 2020.09.23 |