float 타입의 변수를 선언할 때에는 마지막에 접미사 f 를 붙여준다. (long 타입은 L)
float floatNumber = 1.0f;
char 타입의 변수와 같은 문자형을 선언할 때는 홑따음표
char num = '1';
String 타입의 변수와 같은 문자열을 선언할 때는 쌍따음표로 선언.
String message = "Hello World!";
변경 불가능한 변수
final boolean flag = true;
위 처럼 변수 선언 시 타입 앞에 final 을 붙여주면 변경 불가능한 변수 선언이 된다.
참조형 변수
문자열 변수 : String
- "Apple", "텍스트" 와 같은 문장 저장
String message = "Hello World"; //문자열 저장
그 외 : Object, Array, List ...
- 객체, 배열, 리스트와 같은 단일 저장공간에 담을 수 없는 값을 저장
List<int> alphabet = [0,1,2,3]; // 기본형 변수 여러개를 저장
래퍼 클래스 변수
- 기본형 변수를 클래스로 한 번 랩핑하는 변수
- 기본형 변수 타입명에서 첫 글자를 대문자로 바꾸어서 래퍼 클래스를 정의
- 박싱 VS 언박싱
- 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것을 “박싱”
- 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것을 “언박싱”
// 박싱
// Integer 래퍼 클래스 num 에 21의 값을 저장
int number = 21;
Integer num = number;
// 언박싱
int n = num.intValue();
// 래퍼 클래스들은 inValue() 같은 언박싱 메서드들을 제공
기본 타입
|
래퍼 클래스
|
byte
|
Byte
|
short
|
Short
|
int
|
Integer
|
long
|
Long
|
float
|
Float
|
double
|
Double
|
char
|
Character
|
boolean
|
Boolean
|
왜 굳이 래퍼 클래스를 사용하는가?
클래스는 객체지향 언어인 Java 의 핵심기능.
때문에 클래스로 변수를 관리하면 객체지향의 많은 기능을 사용할 수 있게 됨.
형변환
문자열로 입력받은 변수를 숫자로 변환해서 계산을 하고 싶은 경우, 문자열에 숫자 값을 추가하고 싶은 경우 등
어떤 변수형을 다른 형으로 변환이 필요한 경우가 많음
자동 형변환
자동 타입 변환은 작은 크기의 타입에서 큰 크기의 타입으로 저장될 때 큰 크기로 형변환이 발생
byte byteNumber = 10;
int intNumber = byteNumber; // byte -> int 형변환
System.out.println(intNumber); // 10
char charAlphabet = 'A';
intNumber = charAlphabet; // char -> int 형변환
System.out.println(intNumber); // A의 유니코드 : 65
intNumber = 100;
long longNumber = intNumber; // int -> number 형변환
System.out.println(longNumber); // 100
intNumber = 200;
double doubleNumber = intNumber; // int -> double 형변환
System.out.println(doubleNumber); // 200.0 (소수점이 추가된 실수출력)
작은 크기의 타입이 큰 크기의 타입과 계산될 때 자동으로 큰 크기의 타입으로 형변환
int intNumber = 10;
double doubleNumber = 5.5;
double result = intNumber + doubleNumber; // result 에 15.5 저장됨 (int -> double)
intNumber = 10;
int iResult = intNumber / 4; // iResult 에 2 저장됨 (int형 연산 -> 소수점 버려짐)
intNumber = 10;
double dResult = intNumber / 4.0; // dResult 에 2.5 저장됨 (double형 연산 -> 소수점 저장)
강제 형변환
큰 타입에서 더 작은 표현 범위를 가진 타입으로 변환되는 것이라 값의 손실이 생김
'컴퓨터 프로그래밍 > Java' 카테고리의 다른 글
[Java] 조건문, 반복문 ( 새로 알게된 내용 정리 ) (0) | 2024.07.23 |
---|---|
[Java] 연산자 ( 새로 알게된 내용 정리 ) (2) | 2024.07.23 |
[Java] 레시피를 입력, 출력하는 프로그램을 만들어보며 복습하기 ( + ArrList 사용해보기, 입력버퍼 비우기) (1) | 2024.07.23 |
[Java] 시작 기본 예시 코드 분석해보기 (0) | 2024.07.22 |
[Java] JVM 과 구성 (0) | 2024.07.22 |