변수란? |
단 하나의 값을 저장할 수 있는 메모리 공간
변수 선언
- int age;
변수타입: int(메모리의 빈공간에 알맞은 크기의 저장 공간이 확보 됨)
변수이름: age(저자공간은 변수이름을 통해 사용할 수 있음)
변수 초기화
- int age = 30;
변수를 사용하기 전에 처음으로 값을 지정하는 것, 메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 의해 저장된 '알 수없는 값(쓰레기값, garbage value)'이 남아있을 수 있기 때문이다.
변수의 명명규칙
'변수의 이름'처럼 프로그래밍에서 사용하는 모든 이름을 '식별자(identifier)'라고 하며, 식별자는 같은 영역내에서 서로 구분(식별)될 수 있어야 한다.
- 대소문자가 구분되며 길이에 제한이 없다.
- True와 true는 서로 다른 것으로 간주된다. - 예약어를 사용해서는 안 된다.
- true는 예약어라서 사용할 수 없지만, True는 가능하다. - 숫자로 시작해서는 안 된다.
- top10은 허용하지만, 10top은 허용되지 않는다. - 특수문자는 '_'와 '$'만을 허용한다.
- $harpㅇㄴ 허용되지만, #harp는 허용되지 않는다.
예약어
※ 암묵적인 약속
- 클래스 이름의 첫 글자는 항상 대문자로 한다.
- 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다. - 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
- lastlndexOf, StringBuffer - 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.
- PI, MAX_NUMBER
변수의 타입 |
- 기본형 변수: 실제 값(data)를 저장
- 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 계산을 위한 실제 값을 저장한다. 모두 8개 - 참조형 변수: 어떤 값이 저장되어 있는 주소(memory address)를 값으로 갖는다.
- 객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입
기본형 타입
자료형 | 설명 | bit | 범위 |
char | 16비트 유니코드(Unicode) 문자 데이터 | 16 | '\u0000' ~ '\uFFFF' |
boolean | 참/거짓 값 | 8 | true 또는 false |
byte | 부호를 가진 8비트 정수 | 8 | -128 ~ +127 |
short | 부호를 가진 16비트 정수 | 16 | -32,768 ~ +32,767 |
int | 부호를 가진 32비트 정수 | 32 | -2,147,483,638~+2,147,483,647 |
long | 부호를 가진 64비트 정수 | 64 | -9223372036854775808~+9223372036854775807 |
float | 부호를 가진 32비트 부동 소수점 | 32 | -3.402932347e+38~+3.40292347e+38 |
double | 부호를 가진 64비트 부동 소수점 | 64 | -179769313486231570e+308~1.79769313486231570e+08 |
변수(variable): 하나의 값을 저장하기 위한 공간
상수(constatnt): 값을 한번만 저장할 수 있는 공간
리터럴(literal): 그 자체로 값을 의미하는 것
println: 값을 변환하지 않고 그대로 출력
printf: 지시자(specifier)을 통해 변수의 값을 여러가지 형식으로 변환하여 출력 ex) System.out.printf("%d", num);
진법 |
- 비트(bit, binary digit): 컴퓨터가 저장할수 있는 최소 단위
- 바이트(byte): 데이터의 기본단위, 1비트 8개가 묶인 것
- 워드(word): CPU가 한번에 처리할 수 있는 데이터의 크기
워드는 CPU 성능에 따라 바뀜(32 bit CPU: 4바이트, 64 bit CPU: 8바이트)
음수의 2진 표현을 구하는 방법
- 음수의 절대값을 2진수로 변환한다.
-5의 절대값인 5를 2진수로 변환한다. 10진수 5를 2진수로 변환하면 '0101'이다. - 1.에서 구한 2진수의 1을 0으로 0은 1로 바꾼다.(1의 보수 구하기)
'0101'이 '1010'이 된다. - 2.의 결과에 1을 더한다.(2의 보수 구하기, 1의 보수 +1)
'1010'에 1을 더하면 '1011'이 되고, 이것이 -5의 2진 표현이다.
기본형(primitive type) |
- 논리형(boolean)
- boolean: 1byte, 디폴트 값(false), true/false 두 가지 값만 존재(대소문자 구분) - 문자형(char)
- char: 2byte, 단 하나의 문자만을 저장, 실제로는 문자가 아닌 문자의 유니코드가 저장 됨 - 정수형(byte, short, int, long)
자료형 키워드 메모리 크기 값의 범위 정수형 byte 1 Bytes -128~127 short 2 Bytes -32,768~32,767 int 4 Bytes -2,147,483,648
~ 2,147,483,647long 4 Bytes -2,147,483,648
~2.147.483.647
형변환 |
형변환이란, 변수 또는 상수의 타입을 다른 타입으로 변환하는 것
형변환 방법
- (타입)피연산자
괄호(): '캐스트 연산자' 또는 '형변환 연산자'
boolen타입을 제외한 나머지 타입들은 서로 형변환이 가능
기본형과 참조형간의 형변환은 불가능
큰 값에서 작은값으로 형변환할때 타입을 명시하지 않으면 에러발생
기본형의 자동 형변환이 가능한 방향
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA 이론] 객체지향 프로그래밍_1 (2) | 2022.01.19 |
---|---|
[JAVA 이론] 배열 (0) | 2022.01.15 |
[JAVA 이론] 조건문과 반복문 (0) | 2022.01.12 |
[JAVA 이론] 연산자 (0) | 2021.12.28 |
[JAVA 이론] 자바 (0) | 2021.12.15 |