728x90

 

6.리터럴의 타입과 접두사,접미사

접두사,접미사는 대소문자 구분x

파란줄의 접미사 정수형 long 실수형 float 신경쓰면 된다

 

 

정수형에서 byte,short int 같이 묶여져 따로 접미사를 쓰지 않고 long 접미사L 붙여주면 되고,

실수형에서 보통 double d 생략되고 float f 접미사 쓰는게 관례

 

 

 

boolean 타입 : true 또는 false 저장가능

        boolean power = true;

char 타입 : 하나의 문자만 저장가능

        char ch = 'A';         // 하나의 문자는 홑따옴표 ' '

String 타입 : 여러 문자 저장가능

        String str = "ABC";  // 여러 문자는 큰따옴표 " "

 

 

'\n' : 바꿈 문자. 하나의 문자. ' ' 되어있는걸 봐도 있음

 

byte 타입 : 접미사가 없기에 int타입을 사용. , 접미사 x

        대신 byte타입 범위 안에 저장할 있는 값이여야함

        범위 : -128~127 ( 범위 벗어나면 에러)

        byte b = 127;   // literal 127(127 자체) 타입은 int

 

int 타입 : 앞에 접두사를 붙여서 진수를 나타낼 있음

        0b 접두사로 붙으면 2진수 0b0101        

        한계값이 20억까지만 사용가능. 이후의 값은  long처리해야함

        int i = 100;        // 10진수

        int oct = 0100;   // 8진수

        int hex = 0x100; // 16진수

 

long 타입 : int 한계값이 넘어서는 20 이후부터 써야하는 정수타입

        long타입 접미사L 안붙여도 괜찮지만, int 한계값을 넘는 20억부터는 접미사L 필수

        long 1 = 10_000_000_000L;   // 0 10개라 100

        long 1 = 1 100;  // ok

 

float 타입 : 실수. 접미사 필수

        float f = 3.14f;

 

double 타입 : 실수. 접미사 d 생략가능

        double d = 3.14d;   // ok

        double d = 3.14;     // ok

 

          10.  10.0 : 10.0에서 소수점 뒷자리0 생략된 의미. 접미사 없으니 double타입

          .10  0.10 : 0.10에서 0 생략된 의미. 접미사 없으니 double타입

          10f  10.0f : 10f 10.0f 같은 의미

          le3  1000.0 : 실수형. 접미사 없으니 double 타입

                        기호 e 10 n제곱을 의미. 값이 1000이지만 기호e 실수형에서 쓰임

 

 

 

 

 

7.변수와 리터럴의 타입 불일치

1)범위가 '변수 > 리터럴' 경우, ok

           (그릇)    (물건)

 

      int i = 'A';           // int > char

      long 1 = 1 123;   // long > int

      double d = 3.14f; // double > float

 

2)범위가 '변수 < 리터럴' 경우, 에러

      int i = 30_0000_0000;    // int 범위(20) 벗어남. error

      long 1 = 1 3.14f ;         // long < float : 실수형이 정수보다 넓다. error

                 (롱타입 8byte, 플로트타입 4byte)

      float f = 3.14;              // float < double 더블이 플로트보다 크다. error

 

3)byte, short 변수에 int리터럴 저장가능

      byte b = 100;     // ok (, byte 범위-127~127 사이에 속해야함

      byte b = 128;    // error

 

 

 

해보기

 

 

 

728x90
반응형

+ Recent posts