[Java 프로그래밍 복습] 변수와 자료형

본 글은 자바 문법을 1회독 후 복습 및 추가적인 내용 첨가를 위하여 작성하였다.

오늘은 그 첫번째 내용으로써 자바의 변수와 자료형에 대하여 이야기 해보려고 한다.

1.변수란 무엇인가

변수: 변하는 값

다음코드는 int형 변수 number를 선언하고 변수에 정수 10을 대입하는 과정이다.

public class Varialbe1 {
    public static void main(String[] args) {
        int number;     //int형 변수 number 선언
        number = 10;    //number에 정수 10 대입
        System.out.println(number);  
        //number의 값 출력
    }
}

추가적으로 위의 코드는 변수 선언 후 값을 따로 초기화 해주었지만

int number = 10;

위와 같이 변수 선언과 동시에 초기화도 가능

2. 정수 자료형

byte형

1바이트 정수 자료형
-2^7~2^7-1 범위의 값 표현가능

short형

2바이트 정수 자료형
-2^15~2^15-1 범위의 값 표현가능

int형

4바이트 정수 자료형
-2^31~2^31-1 범위의 값 표현가능
자바에서 정수형은 int를 기본 단위로 사용함

long형

8바이트 정수 자료형
-2^63~2^63-1

기본적으로 자바는 정수를 int형으로 처리 하기 때문에 정수뒤에 식별자 'L'을 붙임으로서 정수가 long형임을 알려야한다.

long num = 1999062900L

3. 문자 자료형의

char형

2바이트의 문자 자료형

문자를 사용할 때는 작은 따옴표(' ')를 사용한다.
문자열을 사용할 떄는 큰 따옴표(" ")를 사용한다.

public class Character {
    public static void main(String[] args) {
        char c1 = 'Z';
        System.out.println(c1); //c1 문자 출력
        System.out.println((int)c1); //변수 c1에 해당하는 아스키코드값 출력

        int c2 = 88;
        System.out.println(c2);         //int형 변수 c2출력
        System.out.println((char)c2);   //int형 변수를 char형으로 출력

        int a = 65;
        int b = -65;

        char a1 = 65;
        // char b1 = -65
        //char 형은 음수 값을 표현할 수 없다

        System.out.println((char)a);
        System.out.println((char)b); //변수 b의 값이 음수이므로 결과값을 알 수 없음
        System.out.println(a1);
    }
}

위 코드에서 알아야 할 것은 char형은 음수 값을 표현 할 수 없다는 것이다.

4. 실수 자료형

float형

4바이트를 사용하는 실수 자료형

double형

8바이트를 사용하는 실수 자료형

public class Double {
    public static void main(String[] args) {
        double d = 3.14;
        float D = 3.14F;    //자바에서 실수는 double형이 기본, float형으로 대입할 수 있도록 식별자 'F'로 식별
    }
}

실수형도 마찬가지로 기본적으로 실수를 double형으로 처리하기 때문에 float자료형에 값을 대입하기 위해 식별자 F를 사용하여 float형임을 알린다.

5.논리 자료형

boolean

1바이트의 값을 가지는 논리 자료형

true, false의 값만을 가진다.

public class Bool {
    public static void main(String[] args) {
        boolean isMan = true;   //boolean형 변수 선언 후 초기화
        System.out.println(isMan);
    }
}

6. 자료형 없이 변수 선언하기

자료형 대신 var를 사용하여 변수를 사용하게 되면 컴파일러가 대입되는 값을 자동으로 지정해준다.

public class TypeInference {
    public static void main(String[] args) {
        var a = 1;      //변수 a의 타입이 int형으로 컴파일
        var b = 3.14;   //변수 b의 타입이 double형으로 컴파일
        var c = "test"; //변수 c의 타입이 String형응로 컴파일

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        c = "hello_World";  //다른 문자열은 대입 가능, 정수 or 실수 등은 대입 불가능
    }
}

var를 사용하면서 주의해야 할 점은 아래와 같다.

1. 한번 선언한 변수는 다른 자료형으로 다시 선언 할 수 없다.
2. 오직 지역 변수에 한해서 사용이 가능하다.

7.상수

상수: 변하지 않는 값

상수를 선언하기 위해서는 final이라는 예약어를 사용하여 선언한다.

public class Constant {
    public static void main(String[] args) {
        final int yearMonth = 12;   //상수 선언과 동시에 초기화
        final int yearDay;

        yearDay = 365;  //사용전에 초기화 가능

        System.out.println(yearMonth);
        System.out.println(yearDay);
    }
}

8. 형 변환

형변환: 변수의 자료형이 다를때 자료형을 같게 바꾸는 것

1. 바이트 크기가 작은 자료형에서 큰 자료형으로의 변환은 자동으로 변환된다.
2. 덜 정밀한 자료형에서 더 정밀한 자료형의 변환은 자동으로 변환된다.

public class implicationConversion {
    public static void main(String[] args) {
        byte bNum = 20;
        int iNum = bNum;    //bNum 자료형이 byte형에서 int형으로 형변환
        float fNum = iNum;  //iNum 자료형이 int형에서 float형으로 형변환
        double dNum = fNum + iNum;  //fNum + iNum의 결과값이 float형에서 double형으로 형변환

        System.out.println(bNum);
        System.out.println(iNum);
        System.out.println(fNum);
        System.out.println(dNum);
    }
}

자료형을 강제로 바꿔주기 위해서는 변수 앞에 원하는 자료형을 괄호와 함께 표시해준다.

int iNum = (int)bNum

좋은 웹페이지 즐겨찾기