(=)
를 사용해 선언된 변수에 값을 저장할 수 있다.변수 초기화
라 한다.복사
할 수 있다.
int 타입
으로 간주한다. 따라서, long 타입 값
을 사용하고 싶다면 소문자 'l' 또는 대문자 'L'
을 붙여 컴파일러에게 알려줘야 한다.데이터형 | 메모리크기 |
---|---|
byte | 1byte(8bit) |
short | 2byte(16bit) |
char | 2byte(16bit) |
int | 4byte(32bit) |
long | 8byte(64bit) |
' '
로 감싼 것을 문자 리터럴이라고 하며, 유니코드로 변환되어 저장된다. 따라서, char 변수
에 유니코드 숫자를 직접 대입할 수도 있다.공백 하나(유니코드:32)를 포함해서 초기화
해야 한다.유니코드(Unicode)는 전 세계의 모든 문자를 다루도록 설계된 표준 문자 전산 처리 방식이다.
👉🏻나무위키 - 유니코드
double 타입
으로 간주한다. 따라서, float 타입 값
을 사용하고 싶다면 소문자 'f' 또는 대문자 'F'
을 붙여 컴파일러에게 알려줘야 한다.데이터형 | 메모리크기 |
---|---|
float | 4byte(32bit) |
double | 8byte(64bit) |
데이터형 | 메모리크기 |
---|---|
boolean | 1byte(8bit) |
" "
로 감싼 것으로, 유니코드로 변환되지 않는다.String 타입
은 기본 타입에 속하지 않는 참조 타입
이다.이스케이프 문자(=역슬래쉬가 붙은 문자)
를 사용해 특정 문자를 포함하거나 출력 방식을 수정할 수 있다.자바 13부터는 텍스트 블록 문법
을 제공한다. 큰따옴표 3개""" """
로 감싸면 이스케이프하거나 라인피드할 필요 없이 작성된 그대로 문자열로 저장된다.public class StringExample {
public static void main(String []args) {
System.out.println("----------");
System.out.println("받아들이면 된다");
System.out.println("\"지는 해\"를 깨우며 노력하지 말거라");
System.out.print("너는\t달빛에\t더\t아름답다\n");
String name = "서혜진";
String title = "너에게";
System.out.print(name);
System.out.print("\\");
System.out.println(title);
System.out.println("----------");
System.out.println("Java 13 이후");
String poem = """
받아들이면 된다
"지는 해"를 깨우며 노력하지 말거라
너는 달빛에 더 아름답다
서혜진\\너에게
""";
System.out.println(poem);
}
}
작은 타입이 큰 타입으로 대입될 때
발생byte 타입은 char 타입으로 자동 타입 변환이 될 수 없다.
왜냐하면 char 타입의 허용 범위는 음수를 포함하지 않는데, byte 타입은 음수를 포함하기 때문이다. (자동 타입 변환 예외)큰 타입을 작은 타입으로 쪼개어 저장
하는 것을 강제 타입 변환(casting)이라고 한다.강제 타입의 목적은 원래 값이 유지되면서 타입만 바꾸는 것
이므로, 작은 허용 범위 타입에 저장될 수 있는 값을 가지고 강제 타입 변환을 해야 한다.public class Example {
public static void main(String []args) {
int intValue = 10;
char charValue = 'A';
double doubleValue = 5.7;
String strValue = "A";
System.out.println((byte) intValue); // 10 출력
System.out.println((int) doubleValue); // 5 출력
System.out.println((char) strValue); // 컴파일 에러 발생 : Inconvertible types; cannot cast 'java.lang.String' to 'char'
}
}
컴파일 단계에서 연산을 수행
한다.정수 리터럴이 아닌 피연산자로 사용되면 실행 단계에서 연산을 수행
한다.int 타입으로 자동 타입 변환
되어 연산을 수행한다.public class Example {
public static void main(String []args) {
String str = "5";
System.out.println(Byte.parseByte(str)); // 5 출력
System.out.println(Integer.parseInt(str)); // 5 출력
System.out.println(Float.parseFloat(str)); // 5.0 출력
System.out.println(Double.parseDouble(str)); // 5.0 출력
}
}
{ }
블록 내에서 선언된 변수는 해당 블록 내에서만 사용 가능하고 밖에서는 사용할 수 없다.