** 개인 학습용으로 작성한 내용이니 정확하지 않을 수 있음 **
변수 Variable : 변할 수 있는 값을 저장할 수 있는 메모리 공간을 확보하고, 사람이 식별할 수 있는 이름을 붙여 값을 임시적으로 할당하는 것. 값은 "=" 대입 연산자로 할당 할 수 있음.
변수는 아래와 같이 재할당 할 수 있음.
public class Variable {
public static void main(String[] args) {
int num; //변수선언
num = 1; // 값 할당 (초기화)
num = 2; // 값 할당 (재힐당)
System.out.println(num); // 결과 : 2
}
}
변수명 규직:
- camelCase 처럼 두번째 첫 글자를 대문자로 시작하여 구분함
- 영문자, 숫자, _, $를 사용할 수 있음
- 영문자는 대소문자가 구별하여 인식함
- 숫자로 시작하면 안 됨
- 자바의 예약어로는 변수명 선언 안 됨 ex) int byte; int class;
- ex) int num; int NUM; int num_1; int num$1; 모두 사용 가능함
상수 Constant: 변하지 말아야 할 값을 저장. 재할당은 금지 되어 있음.
상수명 규칙:
- final 로 선언 관례적으로 대문자에 언더바(_)를 넣어 구분하는 final doublw CALCULATOR_PI = 3.14;
리터럴 Literal: 문자가 가라키는 값 그 자체.
class Main {
public static void main(String[] args) {
int num; // 변수 선언
num = 1; // 값 할당 >> num에 할당하는 리터럴은 1
}
}
타입: 값의 유형으로 값이 차지하는 메모리 공간의 크기와 값이 저장되는 방식이 결정 됨
ex) 정수형 int 는 4 byte, 문자형 1byte
ex) 값을 그대로 저장 = 기본 타입, 저장할 값을 임의 메모리 공간에 저장 후 메모리 공간의 주소를 저장 = 참조타입
기본 타입 Primitive type = 데이터의 실제 값을 저장 함, byte, short, int, long, float, double, char, boolean.
참조 타입 reference type = 값을 저장은 하지만 데이터가 저장 된 주소값을 저장함, 위 8개의 기본형 외에 나머지.
정수타입 integer number: 숫자이며 byte, short, int, long 이 있음.
타입 | 메모리 | 표현범위 |
byte | 1byte | -128(-27) ~ 127(27 - 1) |
short | 2byte | -32,768(-215) ~ 32,767(215 - 1) |
int | 4byte | -2,147,483,648(-231) ~ 2,147,483,647(231 - 1) |
long | 8byte | -9,223,372,036,854,775,808(-263) ~ 9,223,372,036,854,775,807(263 - 1) |
정수형 언더플로우 = -120에서 10을 빼면 -130 이 돼서 언더플로우
정수형 오버플로우 = 120 에서 10을 더하면 130이 돼서 오버플로우
** 이유는 위 표의 정수형 표현 범위 참고 **
실수타입 real number: 소수점을 가진 값이며 float, double 이 있음
타입메모리표현 범위정밀도
타입 | 메모리 | 표현범위 | 정밀도 |
float | 4byte | 음수 : -3.4 * 1038 ~ -1.4 * 10-45 양수 : 1.4 * 10-45 ~ 3.4 * 1038 |
7자리 |
double | 8byte | 음수 : -1.8 * 10308 ~ -4.9 * 10-324 양수 : 4.9 * 10-324 ~ 1.8 * 10308 |
15자리 |
// float형 리터럴을 float형 변수에 할당
float num1 = 3.14f;
// double형 리터럴을 double형 변수에 할당
double num2 = 3.141592d;
double num2 = 3.141592;
논리 타입: boolean 으로 true 또는 false 값을 가짐
boolean isRainy = true;
boolean isAdult = false;
문자 타입: char 으로 문자 하나만 할당. 2 byte 크기임. 문자형 리터럴은 작은 따옴표 ' ' 로 할당함.
ex) char letter1 = 'a';
ex) char letter2 = "b"; >> 에러! 작은 따옴표 사용!
ex) char letter3 = 'ab' >> 에러! 단 한의 문자 할당!
String 타입: 문자열으로 큰 따옴표로 " " 리터럴 할당
String name1 = "Kim Coding";
'자바기초' 카테고리의 다른 글
[자바 JAVA] JVM 정의 및 구조 (0) | 2023.03.10 |
---|---|
[자바 JAVA] 컬렉션 - 컬렉션 프레임워크 Collection Framework (0) | 2023.03.07 |
[자바 JAVA] 컬렉션 - 열거형 ENUM (0) | 2023.03.06 |