프로그래밍 이야기/JAVA 공부

자바의 변수와 타입 공부

글쓰는 개발자 김뉴네 2023. 9. 3. 19:13
728x90
반응형

 -  자바는 정수, 실수 , 논리값을 저장할 수 있는 기본 타입을 제공한다 

 - 정수타입 : byte, char, short, int, long

 -  실수 타입 :  float , double

 -  논리타입 : boolean

 


- 자바 정수 타입은 총 5개로 메모리 사용 크기와 저장되는 값의 범위가 서로 다르다

- byte : 1byte - 8bit : -2^7~ (2^7-1) [ -128 ~ 127]

- short : 2byte - 16bit : -2^15 ~ (2^15-1) [-32768 ~ 32767] 

- char : 2byte - 16bit : 0~(2^16-1) [0~65535(유니코드)]

- int : 4byte - 32bit : -2^31 ~ (2^31-1)[-2147483648 ~ 2147483648647]

- long :  8byte - 64bit : -2^63 ~(2^63-1)[-9223372036854775808 ~ 9223372036854775807]

 

- Char 타입은 음수 값을 가질 수 없으며 나머지 정수 타입이 저장할 수 있는 값의 범위는 -2^n-1 ~ (2^n-1 -1) 이다

- n은 메모리의 bit 수이며 정수 타입으로 선언된 변수에는 정수 리터럴을 대입해서 정수를 저장할 수 있다.

 

- 소스코드에서 개발자에 의해 직접 입력된 값을 리터럴이라 한다

- 2진수 : 0b 또는 0B로 시작하고 0과 1로 구성된다

- 8진수 :  0으로 시작하고 0~7로  구성된다

- 10진수 :  소수점 없는 0~9 숫자로 구성된다

- 16진수 : 0x 또는 0X로 시작하고 0~9 숫자와 A,B,C,D,E,F 또는 a,b,c,d,e,f, 로 구성된다

 


 

package sec01.exam01;

public class IntegerLiteralExample {
    public static void main(String[] args){
        int var1 = 0b1011;
        int var2 = 0206;
        int var3 = 365;
        int var4 = 0xB3;

        System.out.println("var1 :" + var1);
        System.out.println("var2 :" + var2);
        System.out.println("var3 :" + var3);
        System.out.println("var4 :" + var4);
    }
}

 


- 하나의 문자를 작은 따옴표로 감싼 것을 문자 리터럴이라고 하며 문자리터럴은 유니코드로 변환되어 저장된다.

- 유니코드 : 세계 각국의 문자를 2byte로 표현할 수 있는 숫자로 매핑한 국제 표준 규약( 0~65535

- 자바는 2byte크기인 char 타입으로 제공함

 

- 유니코드는 정수이므로  char도 정수 타입에 속한다.

- char var1 = 'A'   // 유니코드 65

- System.out.println(var1); // 'A'를 출력

 

- int var2 ='A'

- System.out.println(var2); // '65'를 출력

package sec01.exam01;

public class CharExample {
    public static void main(String[] args){
        char c1 ='A';
        char c2 =65;
        char c3 ='\u0041';

        char c4 = '가';
        char c5 = 44032;
        char c6 = '\uac00';

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        System.out.println(c4);
        System.out.println(c5);
        System.out.println(c6);
    }
}


- 작은 따옴표로 감싼 문자는 char 타입 변수에 저장되어 유니코드로 저장되지만, 큰따옴표로 감싼 문자 또는 여러개의 문자들은 유니코드로 반환되지 않는다.

- 자바에서 큰 따옴표로 감싼 문자들을 문자열이라고 부른다.

- 작은  따옴표와 큰 따옴표는 컴파일러가 문자리터럴과 문자열 리터럴을 구별하는 기호로 사용되며 문자열을 변수에 저장하고 싶다면 String 타입을 사용해야한다.

- String은 기본 타입이 아니고 클래스 타입이다

 

-이스케이프문자 : 문자열 내부에 역슬래시(\)가 붙은 문자 사용

- 이스케이프 문자를 사용하면 문자열 내부에 특정문자를 포함시킬 수 있음

-큰 따옴표는 문자열 식별 기호인데 데이터로 써 큰 따옴표를 사용하고 싶을 때는 이스케이프 문자를 사용한다.

 

이스케이프 문자

\t    :  탭만큼 띄운다

\n    : 줄바꿈

\r    : 캐리지리턴

\"    : "출력

\'    : '출력

\\   : \ 출력

\u16진수  : 16진수 유니코드에 해당하는 문자 출력

package sec01.exam01;

public class StringExample {
    public static void main(String[] args){
        String name ="김뉴";
        String job = "개발자";
        System.out.println(name);
        System.out.println(job);
    }
}

package sec01.exam01;

public class EscapeExample {
    public static void main(String[] args){
        System.out.println("번호\t이름\t직업");
        System.out.println("행단위출력\n");
        System.out.println("행단위출력\n");
        System.out.println("우리는 \"개발자\"이다");
        System.out.println("봄\\여름\\가을\\겨울");

    }
}

728x90
반응형