[작성일: 2023. 01. 09]
변수(Variables)
- 하나의 값을 저장할 수 있는 메모리 공간
- 변하지 않는 값 : 상수(Constants) → 한 번 set 되면 바뀌지 않는 값
- 리터럴(literla) : 그 자체로 값을 의미하는 것
int score = 100;
score = 200;
char ch = 'A';
String str = "abc";
final int MAX = 100;
MAX = 200; // 에러. 상수의 값은 변경 불가
변수명 규칙
<Naming convention>
- 숫자로 시작 불가
- 1num X
- num1 O
- 공백 사용 불가
- my age X
- myAge O
- my_age O
- 특수문자는 _ , $ 만 사용 가능
- (_portA:_로 시작하는 변수명은 시스템 변수를 의미하기 때문에 사용에 주의할 것)
- 대소문자를 구분하며 길이에 제한 없음\
- True와 true는 서로 다른 것으로 간주함.
<권장사항>
- 클래스 이름의 첫 글자는 항상 대문자로 시작함.
- 두번째 이하는 소문자이지만 단어가 바뀔 때는 대문자 사용.
- 상수는 처음부터 끝까지 대문자로 작성하며 단어는 '_'로 구분함.
- PARAM, PI, MAX_NUMBER
- 변수와 메서드 이름은 소문자로 시작함.
- myAge : 단어가 바뀔 때 대문자 사용(Camel 표기법)
- my_age : 공백 대신 언더바 사용(Snake 표기법)
- 변수 이름만 보고도 어떤 변수인지 알 수 있도록 구분하는 것이 좋음.
변수의 타입(Data type)
기본형(Primitive type)
실제 값을 저장함.
참조형(Reference type)
기본형을 제외한 나머지(String, System 등)
객체의 주소를 저장함.
- 논리형 : true 또는 false 중 하나를 값으로 가지며 조건식과 논리적 계산에 사용됨.
- 문자형 : 문자를 저장하는 데 사용, 변수 당 하나의 문자만 저장 가능.
- 정수형 : 정수 값을 저장하는 데 사용, default 값은 int와 long
- 실수형 : 실수 값을 저장하는 데 사용.
- char : 숫자로 저장 → 문자로 리딩
- String : import문 선언 안 해도 사용 가능, 문자열을 나타내기 위한 class
종류 / 크기 | 1 | 2 | 4 | 8 |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
char c = 'a'; //작은 따옴표 사용
String str = "School"; // 큰 따옴표 사용
String str2 = "S"; // 문자도 사용 가능
- ASCII(아스키, American Standard Code for International Interchange)
- 유니코드
a > A > 0 > sapce
0 : 0x30 (48)
A : 0x41 (65)
a : 0x61 (97)
space : 0x20 (32)
변수와 리터럴 타입 불일치
- 범위가 '변수 > 리터럴' 인 경우, OK
- 범위가 '변수 < 리터럴' 인 경우, 에러.
int i=30_0000_0000; // 에러
long l = 3.14f; // 에러
float f = 3.14 // 에러
- byte, short 변수에 int 리터럴 저장 가능. 단, 변수 타입 범위 이내여야 함.
변수의 선언 방법
타입 변수명;
int score;
score = 85;
int score = 85;
String str = new String("ABC");
str = null;
형변환
- 값의 타입을 다른 타입으로 변환하는 것
- boolean을 제외한 7개의 기본형은 서로 형변환이 가능함.
변환 | 수식 | 결과 |
int → char | (char) 65 | 'A' |
char →int | (int) 'A' | 65 |
float → int | (int)1.6f | 1 |
int → float | (float)10 | 10.0f |
🐣 해당 게시글은 자바의 정석(남궁성 님) 영상으로 함께 공부하며 요약/정리한 글입니다.
🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.