이 글은 남궁성 님의 "자바의 정석: 기초편" 책을 읽고 정리한 내용입니다.
변수는 하나의 값을 저장할 수 있는 저장공간
변수의 타입은 참조형과 8개의 기본형이 있다.
분류 | 변수의 타입 | 설명 |
숫자 | int long |
정수를 저장(20억이 넘을 땐 long) |
float double |
실수를 저장 (float은 오차없이 7자리, double은 15자리) |
|
문자 | char | 문자(character)를 저장 |
String | 여러 문자(문자열, string)를 저장 |
상수와 리터럴
상수는 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다. final 키워드를 사용한다. 상수의 이름은 대문자와 '_'를 사용한다.
원래 12, 123, 3.14, 'A'와 같은 값들이 '상수'인데 이를 구분하기 위해 리터럴이라는 용어를 사용한다.
리터럴 = 그 자체로 값을 의미하는 것
int year(변수) = 2014(리터럴);
final int MAX_VALUE(상수) = 100(리터럴);
리터럴의 타입과 접미사
종류 | 리터럴 | 접미사 |
논리형 | false, true | |
정수형 | 123, 0b0101, 077, 0xFF, 100L | L (없으면 int형) |
실수형 | 3.14, 1.4f | f, d (없으면 double형) |
문자형 | 'A', '1' | |
문자열 | "ABC" |
16진수를 표현하기 위해 앞에 '0x', '0X'를 붙이고, 8진수의 경우에는 '0'을 붙인다.
int octNum = 010; // 10진수로 8
int hexNum = 0x10; // 10진수로 16
문자열 결합
System.out.println(7 + 7 + ""); // 14
System.out.println("" + 7 + 7); // 77
덧셈 연산은 왼쪽에서 오른쪽으로
기본형과 참조형
기본형: 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 계산을 위한 실제 값을 저장한다. 8개
참조형: 객체의 주소를 저장한다.
자료형 | 저장 가능한 값의 범위 | 크기 |
boolean | false, true | 1byte |
char | 0 ~ 2^16-1 (65535) | 2byte |
int | -2^31 ~ 2^31-1 (약 +-20억) | 4byte |
long | 8byte | |
float | 4byte | |
double | 8byte |
printf를 이용한 출력
%d, %x, %f, %c, %s
%14.10f : 전체 14자리 중 소수점아래 10자리(.도 한자리 차지)
%10s : 우측정렬
%-10s : 좌측정렬
%.8s : 왼쪽에서 8글자만 출력
타입 간의 변환방법
1. 숫자 -> 문자 : 숫자에 '0'을 더한다.
(char)(3 + '0') -> '3'
2. 문자 -> 숫자 : 문자에서 '0'을 뺀다.
'3' - '0' -> 3
3. 숫자 -> 문자열 : 숫자에 빈 문자열("")을 더한다.
3 + "" -> "3"
4. 문자열 -> 숫자 : Integer.parseInt() 또는 Double.parseDouble()
5. 문자열 -> 문자 : charAt(0) 사용
"3".charAt(0) -> '3'
6. 문자 -> 문자열 : 빈 문자열("")을 더한다.
'3' + "" -> "3"
'Programming > JAVA' 카테고리의 다른 글
자바의 정석 6장 : 객체 지향 프로그래밍1 (0) | 2022.12.15 |
---|---|
자바의 정석 5장 : 배열 (0) | 2022.12.15 |
자바의 정석 3~4장 : 연산자, 조건문과 반복문 (0) | 2022.12.13 |
자바의 정석 1장 : 자바를 시작하기 전에 (0) | 2022.12.10 |
[Java] Java의 내부 클래스는 static으로 선언하자 (0) | 2022.09.11 |