본문 바로가기

JAVA

02장- 변수 21. 01. 23.

  • 변수 선언은 한 줄에 하나씩 선언하는 방법 추천.

"변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것"

 

  • 두 변수의 값 교환하기.

마치 두 컵에 담긴 내용물을 바꾸려면 컵이 하나 더 필요한 것처럼, 임시변수를 만들어서 교환.

int x = 10;

int y = 20;

int tmp;

 

tmp = x;

x = y

y = tmp;

 

  • 변수의 명명규칙

'변수의 이름'처럼 프로그래밍에서 사용하는 모든 이름을 '식별자(identifier)'라고 하며 식별자는 같은 영역 내에서 서로 구분(식별)될 수 있어야 한다. 다음과 같은 규칙을 지켜야 한다.

 

1. 대소문자가 구분괴며 길이에 제한이 없다.
2. 예약어를 사용해서는 안 된다.
3. 숫자로 시작해서는 안 된다.
4. 특수문자는 '_'와 '$'만을 허용한다. - 첫글자에 _ 많이 씀.

그 외

1. 클래스 이름의 첫 글자는 항상 대문자로 한다.
- 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.
2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
- lastIndexOf, StringBuffer
3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.
- PI, MAX_NUMBER

변수의 이름은 약간 길더라도 용도를 알기 쉽게 '의미있는 이름'으로 하기.

변수의 선언문에 주석으로 변수 정보를 주는 것도 좋은 방법!

 

  • 기본형과 참조형

기본형 변수는 실제 값(data)을 저장

참조형 변수는 어떤 값이 저장되어 있는 주소(memory address)를 값으로 가짐.

 

참조형 변수(참조변수)를 선언할 때는 변수의 타입으로 클래스의 이름을 사용하므로 클래스 이름이 참조변수의 타입이 됨.

Date today = new Date(); // Date객체를 생성해서, 그 주소를 today에 저장.

                          →기본생성자

 

  • 기본형

 

1비트의 경우의 수 2

2비트의 경우의 수 2^2

...

6비트의 경우의 수 2^6

 

저장 가능한 값의 범위

정수형: -2^(n-1) ~ 2^(n-1) - 1         n은 비트수!! byte 아님. 8bit = 1byte

ex) int : -2^31 ~ 2^31 - 1 = 약 ±20억

char : '\u0000' ~ '\uffff'

0 ~ 2^16 - 1 ( 0 ~ 65535)

 

리터럴(literal)

- 기존에 알고 있던 '상수'의 다른 이름.

변수(variable) : 하나의 값을 저장하기 위한 공간
상수(constant) : 값을 한번만 저장할 수 있는 공간
리터럴(literal) : 그 자체로 값을 의미하는 것

진법

비트(bit)와 바이트(byte)

- 비트 : 한 자리의 2진수- 바이트 : 1비트는 너무 작아서 1비트 8개를 묶음. 데이터의 기본 단위 (글자 하나의 최소 단위)

n비트로 표현할 수 있는 10진수
값의 개수 : 2ⁿ
값의 범위 : 0 ~ 2ⁿ - 1

 

8진법과 16진법 ★

- 8진수는 2진수 3자리를, 16진수는 2진수 4자리를 각각 한자리로 표현할 수 있음.

 

111(2) = 7(8) = 7(16)

48 = 32 + 16

110000(2)  = 60(8) 110,000 세 자리씩 끊어 보기.

0011,0000 네 자리씩 끊어 보기

30(16) -> 0x30

 

16진수에서 8진수로 변환

AC(16) >>

A = 1010(2), C= 1100(2)

즉, AC(16) = 10101100(2)

세 자리씩 끊기.

10,101,100

2    5     4(8)

 

10진수: 65 (A의 아스키코드. ※ 0은 48, a는 97, '가'는 44032(0xAC00)

100,0001(2)

41(16) >> 16진수 표현법 0x41 (8진수는 x빼고 0만 앞에 붙임)

 

 

 

 

'JAVA' 카테고리의 다른 글

15장- 입출력 I/O 끝 21. 02. 16.  (0) 2021.02.17
15장- 입출력 I/O 21. 02. 15.  (0) 2021.02.15
11장- 컬렉션 프레임웍 21 . 02. 08.  (0) 2021.02.09
04장- 조건문과 반복문 21. 02. 03.  (0) 2021.02.04
21. 01. 27. 03장- 연산자  (0) 2021.01.27