Notice
Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
10-10 22:21
Archives
Today
Total
관리 메뉴

Developer_Neo

[자바/Java] 변수와 자료형 및 상수와 형 변환 본문

프로그래밍/Java

[자바/Java] 변수와 자료형 및 상수와 형 변환

_Neo_ 2021. 9. 3. 13:53
반응형

변수

- 데이터의 저장과 참조를 위해 할당된 메모리 공간에 붙인 이름

 

변수 이름

- 대소문자 구분, 숫자로 시작 X, 자바의 키워드에 해당하는 것 X, $와 _이외의 다른 특수문자는 변수의 이름에 사용할 수 없다.

+ 키워드 => int, double과 같은 단어이다.

 

 

메모리 공간 할당, 사용

- int num; 이라고 할때 메모리 공간할당이라는 것은 int로써 정수를 저장할 메모리공간을 할당하겠다.

                              메모리 공간 사용이라는 것은 위의 메모리공간에 접근을 할때에 num이라는 이름을 사용하겠다                                라는 것이다

                              그리고 위의 코드를 변수 num의 선언이라고 지칭한다.

 

자료형의 종류와 구분

윤성우 열혈 자바

자바는 정수형 연산을 int형으로 진행을 한다 그래서 shortbyte형으로 선언했다고 해도 int형 값으로 변경해서 연산한다 (3Dshortbyte로 하는게 좋다.) (옆의 경우가 아니면 무조건 정수는 int형으로 써야하고 자바가 int로 인식한다. )

float와 double에서의 선택 기준은 정밀도이다.

 

 


정수의 표현방식

 

컴퓨터가 정수를 표현하는 방식

부호비트라는 것이 존재하며 0이면 양수를 1이면 음수를 의미하게 되고 나머지 7비트는 데이터의 양적인 크기를 의미한다. (양적인 크기란 우리가 말하는 1부터 시작하는 숫자를 이진수의 값으로 나타내는 것이다.)

 

2의보수

음의정수를 표현하는 방식은 양의이진수 정수로 표현한것을 1의 보수를 취한 결과로 +1을 해야한다.


문자

- 작은 따옴표로 묶어서 하나의 문자를 표시하며 문자의 저장은 유니코드 값의 저장으로 이어진다.

- 자바는 문자를 2바이트 유니코드로 표현한다

각각의 변수를 System.out.println 으로 호출을 하면 똑같은 문자가 출력이 된다.

컴퓨터 시스템은 문자를 이해하지 못하기 때문에 컴파일 과정에서 문자를 유니코드 값으로 치환한다. 출력을 할때에는 유니코드 값으로 가지고 문자로 출력한다.

+문자열은 큰따옴표로 해야한다.

 


상수

변수를 선언 할 때 final이라는 선언을 추가 하면 된다 (상수는 변수인데 변경불가한 변수)

한 번 할당된 값 변경 불가. (값을 한번만 할당 가능 선언만 하고 값을 할당하지 않았다면 나중에 할당 가능)

-상수 이름은 모두 대문자로 하며 2개 이상의 단어일 경우 언더바로 이어준다

final int MAX_SIZE =100 ;

나중에 static이라는 것이 나오게 되는데 final과 같이 쓰일 시에 둘간의 순서는 상관이 없다.

 

리터럴

-그 자체로 값을 의미하는 것 int num1= 5+ 7;  -> 5와 7은 정수형리터럴이다.

 

 

형변환

위의 경우에는 자동으로 이루어지는 경우가 많은데 double num1 =30 ; 인 경우에 30이 double형으로 자동형변환이 된다 우리가 명시한 변수의 자료형은 바뀌지 않지만 오른쪽에 적은것은 자동형변환이 일어난다

 

명시적 형 변환

double pi = 3.1415

int wholeNumber =(int) pi

만약 크기가 큰 정수자료형에서 작은크기 정수 자료형으로 변환을 진행하는 경우에는 상위바이트가 잘려나간다.

나중에 객체, 인터페이스, 클래스에 대해 배우고 나면 명시적 형변환을 써야할 때가 온다.

 

 

논리,부호, 비트, 조건문에 대한 것은 그냥 넘어가도록 하겠다.

 

 

반응형
Comments