Java

자바 프로그래밍 (Java) - 9 : 리터럴 상수 (Literal)

n.han 2016. 7. 12. 10:28

- 리터럴

 

리터럴이란 데이터 값 그대로인 상수를 말한다. 리터럴에도 데이터 타입이 있다. 다음은 리터럴의 규칙 중 일부이다.

 

1) 정수 리터럴은 기본적으로 int 타입이다.

 

2) 소수 리터럴은 기본적으로 double 타입이다.

 

3) 작은 따옴표(‘ ‘)로 묶은 하나의 문자는 char 타입이다.

 

4) 큰 따옴표(“ “)로 묶은 문자열은 String 타입이다.

 

5) 0으로 시작하는 정수 리터럴은 8진수로 취급된다.

 

6) 0x 또는 0X로 시작하는 정수 리터럴은 16진수로 취급된다.

 

7) 대문자 L, 소문자 l을 붙인 정수 리터럴은 long 타입으로 취급된다.

 

8) 소수 리터럴의 예 : 12.과 같이 쓴 리터럴은 12.0, .025 0.025와 동일하다.

 

9) 소수 리터럴의 예2 : 12e100 => 12 X (10^100), 0.25E-20 => 0.25 X (10^(-20)), 0xa1.27p5 => 0xa1.27 X 16^5

 

10) 뒤에 f, F가 붙은 10진수는 소수점이 없어도 float 타입이다.

 

 

public class LiteralEX {

        public static void main(String args[]){

               int num = 1;  

// 1 int 타입

               double sum = sum + 0.5;

// 0.5 double 타입

               System.out.println("sum = " + sum);

// "sum = " String 타입

               System.out.println('');

// '' char 타입

        }

}

 

다음은 리터럴에도 타입이 있다는 사실을 잘 모르고 작성한 프로그램이다. 12.34는 소수 리터럴로 double형인데, 이를 float 데이터 타입의 변수로 대입했기 때문에 에러가 발생한다.

public class SmartExample {

        public static void main(String[] args) {

               float num1 = 12.34;

               // error

               float num2 = 12F;

               // right

        }

}