남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다.
1. 변수(Variable)
변수란 데이터를 저장할 수 있는 메모리 공간을 의미 변수를 메모리의 어디에 저장하고 어떤 방식으로 저장할지는 프로그래밍 언어와 운영체제가 정하는데, 자바의 경우 JVM이 하게 된다.
2. 명명 규칙
- 대소문자가 구분된다.
- 길이에 제한이 없다.
- 예약어를 사용해서는 안된다.
- 숫자로 시작해서 안 된다.
- 특수문자는 “ _ ”, “ $ ” 만 사용 가능
3. 명명 규칙(권장사항)
- 한글 등 사용 x (오류 잡기가 힘듦)
- 클래스 이름의 첫 글자는 항상 대문자
- Person, String
- 변수, 메서드 이름은 항상 소문자
- getInfo(), age
- 여러 단어의 경우 첫글자는 대문자
- lastIndexOf(), StringBuilder
- 상수는 대문자로, 단어는 ‘_’로 구분 (언더스코어)
- MAX_VAULE, PI
4. 변수 vs 상수 vs 리터럴
- 변수: 데이터를 저장하기 위한 공간
- 상수: 한번만 저장할 수 있는 공간
- 리터럴: 변수 또는 상수에 저장된 데이터 자체를 의미
// 정수형 리터럴 28을 정수형 변수 myAge에 할당
int age= 28;
// 실수형(float) 리터럴 3.14을 실수형 변수 pi에 할당
float pi = 3.14f
// 실수형(double) 리터럴 3.14을 실수형 변수 pi에 할당
double pi = 3.14D // 접미사 D 생략 가능
5. 변수의 기본값과 초기화
- 지역변수는 사용되기 전에 반드시 초기화해야 한다.
- 객체 필드의 경우는 초기화 안해도 사용 가능 ⇒ 기본값
자료형 기본값
boolean | false |
---|---|
char | '/u0000’ (유니코드 null의미) |
정수형 | 0 |
실수형 | 0.0 |
참조형 | null |
6. 변수의 타입
- 기본형(Primitive type)
- 메모리 공간에 데이터 자체를 저장
- byte, short, int, long, float, double, char, boolean 타입이 여기에 해당
- 참조형(referece type)
- 데이터가 저장되어 있는 실제 메모리 주소를 저장
- 기본형이 아닌 모든 타입
범위
7. 형식화된 출력 - printf()
형식 지시자를 지정해서 출력할 수 있다.
형식지정자
지시자 설명
%b | boolean 형식으로 출력 |
---|---|
%d | 10진수 형식으로 출력 |
%o | 8진수 형식으로 출력 |
%x | 16진수 형식으로 출력 |
%f | 부동 소수점의 형식으로 출력 |
%e | 지수 형식으로 출력 |
%c | 문자 형식으로 출력 |
%s | 문자열 형식으로 출력 |
예제
int a = 25
System.out.printf("age: %d\\n", a);
char ch = 'A'
System.out.printf("%c\\n", ch);
실행결과
age: 25;
A
8. 형변환
작은 데이터 타입 ⇒ 큰 데이터 타입
- 작은 데이터 타입을 큰 데이터 타입으로 값이 대입될 때 자동으로 형변환(ex. int ⇒ double)
큰 데이터 타입 ⇒ 작은 데이터 타입
- 형변환을 수행할 때 명시적으로 캐스팅 연산자를 사용 (ex. (int)double)
- 데이터 손실이 발생할 수 있다.
long l = 9223372036854775807L;
int i = (int)l;
System.out.println("l = " + l);
System.out.println("i = " + i);
실행결과
l = 9223372036854775807
i = -1
'Programming > Java' 카테고리의 다른 글
[Java] 매개변수를 전달하는 방법(기본타입, 참조타입) (0) | 2023.10.13 |
---|---|
[Java] JVM 구조 (0) | 2023.10.13 |
[Java] 배열(Array) (0) | 2023.10.09 |
[Java] 조건문과 반복문 (1) | 2023.10.09 |
[Java] 클래스, 객체, 인스턴스란? (0) | 2023.01.17 |