반응형
자바 int a = 011 -> 9가 나오는 이유 ( what is "int a = 011" and not 9 why, The literal 09 of type int is out of range )
위와 같이 자바에서 의도치 않은 에러가 나올 경우가 있습니다. 똑같은 값을 변수에 입력 하더라도 입력 방식에 따라 서로 다른 의미가 부여되어 다른 결과값이 나오게 됩니다.
int num1 = 07 | 8 진수 |
int num2 = 7 | 10 진수 |
int num3 = 0x7 | 16진수 |
int num4 = 0b0111 | binary (2진수) |
결과값은 아래와 같습니다. 아래 결과를 이해하기 위해서는 8진수, 10진수, 16진수, binary(2진수)의 계산 방식을 이해할 필요가 있으며 이번 포스팅의 목표는 진법에 대해 아는것보다는 어떤식으로 입력되느냐에 따라 비슷해 보이지만 전혀 다른 결과값이 나올 수 있음을 아는것이기 때문에 진법의 설명은 생략하도록 하겠습니다.
반응형
'Programming > JAVA' 카테고리의 다른 글
[JAVA] intellij Run 비활성화 시 해결 방법 (2) | 2022.04.12 |
---|---|
[JAVA] intellij에서 Spring 실행 시 finished with non-zero exit value 1 에러 해결 방법 (0) | 2022.04.05 |
[JAVA] 자바 charAt()의 문자('1'~'9')를 정수형과 비교(if) 방법 (0) | 2022.03.16 |
[JAVA] 윈도우에서 이클립스 삭제하는 방법 (eclipse uninstall) (0) | 2022.02.17 |
[JAVA] 자바 로또 프로그램 만들기 (배열 이용, 로또 번호 추출) (8) | 2020.03.17 |