개발/Java

Java] Do it 자바 프로그래밍 입문 요약 (첫째마당 - 02)

펭귀니 :) 2019. 6. 11. 19:25

첫째마당 자바 기본 익히기

02) 변수와 자료형

비트와 바이트

8비트(bit) = 1바이트(byte)

 

2진수, 8진수, 16진수의 표현

2진수를 사용할 때는 숫자 앞에 0B를 붙이고, 8진수는 0, 16진수는 0X

 

부호 있는 수의 표현, 2의 보수

부호도 0과 1로 표현한다. 맨 앞의 부호비트가 0이면 양수, 1이면 음수이다.

ex) 8비트로 5를 표현 00000101

8비트로 -5를 표현 10000101??! 

그럼 5+(-5)를 했을 때 0이 나오냐?

 

안나오더라!! 그럼 맨 앞에 비트부호만 1로 바꾼다고 해서 음수가 되는 것은 아닌 것 같다.

이 때 필요한 개념이 '2의 보수'!

Step 1, 1의 보수 구하기

5(00000101)의 1의 보수는 11111010이다. 두 값을 더하면 11111111이 된다.

Step 2, 구한 1의 보수에서 1을 더하기

11111010에서 1을 더하면 11111011이다. 2의 보수는 결국 11111011 = -5

 

변수란?

  정수형 문자형 실수형 논리형
1바이트 byte - - boolean
2바이트 short char - -
4바이트 int - float -
8바이트 long - double -
자료형 바이트 크기 수의 범위  
byte 1 -2^7 ~ 2^7-1 -128 ~ 127
short 2 -2^15 ~ 2^15-1 -32,768 ~ 32,767
int 4 -2^31 ~ 2^31-1 -2,147,483,648 ~ 2,147,483,647
long 8 -2^63 ~ 2^63-1  

*자바에서 실수는 double형을 기본으로

 

var형 (자바 10부터 생긴 문법)

컴파일러가 추측하여 자료형을 정하게 됨.

1) 한번 선언한 자료형 변수를 다른 자료형으로 사용 할 수 없음

2) var로 변수 선언은 '지역 변수'만 가능하다.

 

형 변환이란?

묵시적 형 변환(자동 형 변환)과 명시적 형 변환(강제 형 변환) 두 가지로 구별

묵시적 형 변환 -> 바이트 크기가 작은 자료형에서 큰 자료형으로의 형 변환 혹은 덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환

명시적 형 변환 -> (byte) 처럼 괄호를 사용하여 명시해줘야함.