public static void main(String[] args){
int i = 2020;
int j = 12;
int k = 26;
System.out.println(i + "." + j + "." + l);
}
위의 코드에서 int i = 2020; 의 형태로 변수가 선언되어 있습니다.
이런 필드의 기본 형태는 Type 변수 = 값; 입니다.
이런 type과 변수에 대해서 자세히 살펴보겠습니다.
1. 변수
변수(variable)는 값을 저장하기 위해 할당받은 메모리 공간입니다.
즉, 데이터(data)를 저장할 수 있는 메모리 공간입니다.
또한 번수에 저장되어 있는 데이터는 재정의 하여 값을 바꿀 수 있습니다.
또한 변수를 선언하는 기본 형태는 타입(type) 변수(variable) = 값(literal); 이지만
타입(type) 변수(variable) = 값(literal);
Tyep 변수;
변수 = 값;
위와 같은 형태로도 선언할 수 있습니다.
또한 같은 타입의 변수를 선언할 경우
Type 변수, 변수, 변수;
의 형태로 선언할 수도 있습니다.
또한 변수를 선언할 때 변수의 이름을 생성하는 몇 가지 규칙이 있습니다.
1. 변수의 이름은 영문, 숫자, 언더바( _ ), 달러($)로 만 구성됩니다.
2. 변수는 이름이 숫자로 시작할 수 없습니다.
3. 변수 이름 사이에 공백은 포함될 수 없습니다.
4. 자바 자체에서 미리 정의된 키워드는 변수로 사용할 수 없습니다. ex) int, char 등
이런 변수는 기본타입(primitive type)과 참조타입(reference type)이 있는데 기본 타입의 변수가 실제 연산에 사용되는 변수입니다.
기본 타입에는 정수형, 실수형, 문자형, 논리형이 있으며 참조 타입이지만 기본 타입처럼 쓸 수 있는 문자열이 있습니다.
-정수형 : byte, short, int, long
-실수형 : float, double
-문자형 : char
-논리형 : boolean
-문자열 : String
정수형 |
기본 타입 | 참조 타입 | 할당되는 메모리 크기 |
byte | Byte | 1byte | |
short | Short | 2byte | |
int | Integer | 4byte | |
long | Long | 8byte | |
실수형 | float | Float | 4byte |
double | Double | 8byte | |
문자형 | char | Character | 2byte |
논리형 | boolean | Boolean | 1byte |
*1byte = 8bit |
데이터 표현 범위를 알아보기 위해 참조 타입을 이용하였습니다.
MIN_VALUE는 표현할 수 있는 최소 범위를 나타내줍니다.
MAX_VALUE는 표현할 수 있는 최대 범위를 나타내줍니다.
이로 각각의 범위를 알아보았습니다.
위의 코드를 보면 바이트 타입으로 변수를 선언했습니다.
b01 변수의 경우 처음에는 126의 값이 들어가서 b01을 출력하면 126이 나오지만 값을 새롭게 넣어주면 새로운 값이 출력이 됩니다.
또한 바이트 형식으로 선언된 b02의 경우 128의 값을 가질 수가 없기 때문에 원래는 에러가 발생합니다.
하지만 128을 (byte) 형식으로 형 변환을 해주면 타입이 바뀌었기 때문에 에러가 발생하지 않고 출력이 됩니다.
sumB에서 보면 연산 후엔 바이트로 형 변환을 하지 않으면 에러가 발생합니다.
연산에서 기본적으로 int를 사용하기 때문입니다.
이렇듯 정수형의 기본형은 int형입니다.
이렇게 int형이 정수형의 기본이기 때문에 int 타입의 연산은 형 변환을 해주지 않아도 에러가 발생하지 않습니다.
마찬가지로 실수형의 기본 타입은 double입니다.
문자형의 경우에는 변수를 선언할 때 값이 문자라는 것을 컴퓨터에게 알려주기 위해 '값'으로 표현합니다.
String 문자열은 참조 타입이지만 자바의 최근 버전에서는 기본 타입으로 쓸 수 있습니다.
문자열은 "값"으로 표현합니다.
문자형의 경우 연산을 할 경우 자바에서 자동으로 ascii code의 숫자로 연산을 하고 다시 문자로 값을 받아옵니다.
하지만 문자열 String 타입의 변수를 연산하면 값이 인간이 보기에는 숫자더라도 컴퓨터는 문자로 인식하기 때문에 값이 합쳐지는 게 아니라 왼쪽부터 순서대로 붙어서 나오게 됩니다.
String num1 = "1";
String num2 = "4";
String my = "저는";
String name = "씨네입니다";
System.out.println(num1 + num2 + my + name);
위의 코드를 연산할 경우
14저는 씨네입니다
가 출력이 됩니다.
'Java 관련 > Java' 카테고리의 다른 글
[Java] 제어문 - 조건문(if 문) (0) | 2021.10.08 |
---|---|
[Java] 자바 연산자(Operator) (0) | 2021.10.07 |
[Java] 형 변환(Type Casting) - TypeToType (0) | 2021.10.06 |
[Java] 변수 표기법, 출력문, 주석 (0) | 2021.10.04 |
[Java]Hello, World!(자바 및 이클립스 설치) (0) | 2021.10.03 |