package com.kh.variable;
public class D_Overflow {
public void overflow() {
// byte 자료형의 변수 저장 가능한 값 범위 : -128 ~ 127 총 256
//byte bNum = 128; // 코딩하는 동안 bin이라는 폴더에 컴파일이 계속 진행되고 있는데 빨간줄이 뜬다는 것은 '컴파일 오류' 라고 부른다.
byte bNum = 127; // -128 -127 -126 ..... 126 127 -128 : overflow
bNum++; // bNum에 담긴 값에 +1 증가 시키겠다. -> -128이 나오는 이유는 위처럼 연결되어 있는 구조이기 때문에 (overflow)
bNum++;
System.out.println("bNum : " + bNum);
// int형 저장 가능 값 범위 : -21억xxx ~ 21억xxx
int num1 = 1000000; //100만
int num2 = 700000; //70만
//int result = num1 * num2;
//long result = num1 * num2; // 아싸리 곱셉연산 하는 순간 int형 값이기 때문에 이미 overflow가 발생
long result = (long)num1 * /*(long)*/num2; //강제형변환이 연산보다 우선순위. 따라서 long형으로 변환됨
System.out.println("result : " + result);
result = 10;
}
}
Point
Overflow : 변수 타입의 저장 범위를 넘어서는 것.
'JAVA > JAVA 기초' 카테고리의 다른 글
JAVA 기초 - Printf (0) | 2020.05.29 |
---|---|
JAVA 기초 - 상수(Constant) (0) | 2020.05.28 |
Java 기초- 형변환 (Type Casting) (0) | 2020.05.28 |
JAVA 기초 - Scanner (Java User Input) (0) | 2020.05.28 |
JAVA 기초 - Variable (변수) (0) | 2020.05.25 |