1. 정수 리터럴
이제 새로운 흥미로운 주제인 리터럴에 대해 살펴보겠습니다. 프로그램 코드로 직접 작성된 데이터를 리터럴 이라고 합니다 . 우리는 이전 데이터에 대해 이야기하는 것이 아니라 기본 유형 및 String
유형의 값에 대해 이야기하고 있습니다.
예를 들어 다음 코드가 있다고 가정합니다.
암호 | 리터럴 |
---|---|
|
|
이 코드의 리터럴 은 숫자 5
, 숫자 10
및 문자열 ' Sum =
'입니다.
Java에서는 리터럴을 포함한 모든 항목에 유형이 있습니다. 기본적으로 코드의 모든 정수 리터럴(정수)은 ints
. int 유형은 표준 Java 정수 유형입니다.
또한 정수 리터럴을 코드의 바이트 변수 또는 짧은 변수에 할당하기로 결정하면 아무런 문제가 없습니다. 리터럴 값이 변수 유형이 저장할 수 있는 값 범위 내에 있는지 확인하기만 하면 됩니다.
Java 컴파일러는 byte
문제를 일으키지 않고 변수에 정수 리터럴 100을 할당할 수 있음을 이해할 만큼 똑똑합니다.
예:
암호 | 설명 |
---|---|
|
이것은 잘 컴파일됩니다. |
|
이것은 잘 컴파일됩니다. |
|
최대 바이트 값이 127이므로 컴파일 오류가 발생합니다. |
long
코드에 리터럴을 작성할 수도 있습니다 . 이렇게 하려면 정수 끝에 라틴 문자 'L' 또는 'l'을 추가합니다.
예:
암호 | 설명 |
---|---|
|
이것은 잘 컴파일됩니다. |
|
컴파일 오류: 30억은 int 리터럴에 비해 너무 큽니다. |
|
컴파일 오류: 리터럴은 long이지만 변수는 int입니다. 또한 30억은 최대 정수보다 큽니다. |
10자리 이상의 큰 숫자를 읽는 것이 얼마나 어려운지 알고 계셨습니까? 코드가 30억인지 300억인지 즉시 알 수 없습니다. 코드를 더 읽기 쉽게 만들기 위해(이것이 중요합니다!) Java에서는 숫자 리터럴에 밑줄을 삽입할 수 있습니다(숫자 값에는 영향을 주지 않음).
위의 예는 좀 더 명확하게 하기 위해 밑줄로 다시 작성할 수 있습니다.
암호 | 설명 |
---|---|
|
이것은 잘 컴파일됩니다. |
|
컴파일 오류: 30억은 int 리터럴에 비해 너무 큽니다. |
|
컴파일 오류: 리터럴은 long이지만 변수는 int입니다. 또한 30억은 최대 정수보다 큽니다. |
그러나 쉼표는 이미 다른 용도로 사용되기 때문에 숫자 리터럴에 사용할 수 없습니다. 예를 들어 메서드를 호출할 때 인수를 서로 분리하는 경우입니다.
2. 실수 리터럴
코드에서 정수뿐만 아니라 부동 소수점 리터럴(실수)도 지정할 수 있습니다.
실제로 규칙은 매우 간단합니다. 코드의 숫자에 소수점이 있으면 숫자는 부동 소수점 리터럴입니다. 문자 그대로가 아니라 double
문자 그대로입니다.
부동 리터럴을 만들 수 있지만 그렇게 하려면 숫자 끝에 문자 'F'(또는 'f')를 넣어야 합니다 .
예:
암호 | 설명 |
---|---|
|
이것은 잘 컴파일됩니다. |
|
이것은 잘 컴파일됩니다. |
|
이것은 잘 컴파일됩니다. |
|
이것은 잘 컴파일됩니다. |
|
컴파일 오류가 발생합니다. 변수는 float이지만 리터럴은 double입니다. |
그런데 간단하게 )를 사용하여 정수 리터럴을 float 또는 double 리터럴로 명시적으로 변환할 수 있습니다. 예: appending the suffix 'F' (for float
) or D (for double
)
암호 | 설명 |
---|---|
|
이것은 잘 컴파일됩니다. |
|
이것은 잘 컴파일됩니다. |
|
컴파일 오류가 발생합니다. 변수는 int이지만 리터럴은 입니다 double . |
부동 소수점 리터럴은 과학적 표기법을 사용할 수 있습니다 . 숫자의 부호 있는 부분 외에도 10의 거듭제곱을 지정할 수도 있습니다. 예:
오자 | 수학적 표기법 | 최종 값 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. 문자열 리터럴
코드에서 전체 텍스트 줄을 지정할 수도 있습니다. 문자열을 코드의 일부가 아닌 데이터(리터럴)로 처리하도록 컴파일러에 지시하기 위해 전체 문자열을 양쪽에 큰따옴표로 묶습니다.
한 줄의 코드에 여러 개의 큰따옴표가 있으면 쌍으로 나뉩니다. 첫 번째 큰따옴표는 리터럴의 시작을 나타냅니다. 다음은 리터럴의 끝을 나타냅니다. 그 다음은 다시 한 번 새로운 리터럴의 시작을 표시합니다. 그리고 다음은 두 번째 리터럴의 끝을 표시합니다. 등등.
이러한 각 리터럴은 String
.
예
암호 | 설명 |
---|---|
|
한 줄에 5개의 리터럴이 있습니다. 각각은 하나의 + 문자 로 구성됩니다. |
|
이 리터럴은 빈 문자열입니다. 문자가 없는 문자열입니다. |
|
여기에는 두 개의 리터럴이 있습니다. 2+3-5 결과는 숫자가 아닌 문자열 ' '입니다. |
|
여기에도 두 개의 리터럴이 있습니다. 여기에는 반환문이 없습니다. |
문자열 리터럴이 너무 길면 여러 줄로 분할하고 '더하기 연산자'로 함께 붙일 수 있습니다.
암호 | 설명 |
---|---|
|
이 줄을 화면에 출력하면 모든 텍스트가 한 줄에 표시됩니다! |
4. 문자 리터럴
코드에서 문자열 리터럴뿐만 아니라 개별 문자로 구성된 리터럴도 지정할 수 있습니다. 우리는 단일 문자로 구성된 문자열이 아니라 유형이 인 리터럴에 대해 이야기하고 있습니다 char
.
문자열과 달리 문자 리터럴은 작은따옴표 로 묶습니다 . 작은 따옴표 안에는 문자가 하나 있어야 하며 문자 하나만 있어야 합니다. 빈 작은따옴표는 사용할 수 없습니다.
예:
암호 | 설명 |
---|---|
|
형식이 char인 리터럴입니다. 라틴 문자 'A'가 포함되어 있습니다. |
|
형식이 char인 리터럴입니다. '@' 기호가 포함되어 있습니다. |
|
형식이 char인 리터럴입니다. 일본어 문자가 포함되어 있습니다. 그리고 이것도 가능합니다. |
|
형식이 char인 리터럴입니다. 숫자로 지정된 유니코드 문자를 포함합니다. |
마지막 예는 특수 표기법을 사용하여 유니코드 문자를 할당합니다. 먼저 접두사 가 있고 \u
그 뒤에 4개의 16진수 문자가 있습니다. 다음 단원에는 이에 대한 자세한 정보가 포함되어 있습니다.
GO TO FULL VERSION