🥞 BE
home

4. 자료형

Date
2023/09/10
Category
Programming Language
Tag
Java
Detail
Java Basic

4.1 기본 자료형 (Primitive Type)

4.1.1 숫자 자료형 (Numbers)

short s = 1; System.out.println(a); int a = 3; // 정수형 변수 선언 System.out.println(a); long b = 1234567890L; // Long 정수형 변수 선언 System.out.println(b); float c = 5.5F; // float 실수형 변수 선언 System.out.println(c); double d = 9.12345678901234567890d; // double 실수형 변수 선언 System.out.println(d); // 다음처럼 각 자료형의 MAX, MIN 값을 가져올 수 있다. System.out.println(Short.MAX_VALUE); System.out.println(Short.MIN_VALUE); System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); System.out.println(Long.MAX_VALUE); System.out.println(Long.MIN_VALUE); System.out.println(Float.MAX_VALUE); System.out.println(Float.MIN_VALUE); System.out.println(Double.MAX_VALUE); System.out.println(Double.MIN_VALUE); // 모든 number type의 default value는 0(또는 0.0) 이다.
Java
복사

4.1.2 문자 자료형 (Character)

char alphabet = 'A'; // 문자형 변수 선언 System.out.println(alphabet); char defaultValue; // 값을 할당하지 않고 선언만 하면, default 값은 '\u0000' (null character)이다. System.out.println(defaultValue);
Java
복사

4.1.3 논리 자료형 (Boolean)

boolean fact = true; // 논리형 변수는 true, false의 값을 가진다. System.out.println(fact); boolean defaultValue; // 값을 할당하지 않고 선언만 하면, default 값은 false 이다. System.out.println(defaultValue);
Java
복사

4.1.4 바이트 자료형 (Byte)

byte data = 'd'; System.out.println(data); // 알파벳 d는 ASCII code 에서 십진법으로 100이기 때문에 100이라는 글자가 출력된다. byte defaultValue; // 값을 할당하지 않고 선언만 하면, default 값은 0 이다. System.out.println(defaultValue);
Java
복사

4.2 참조 자료형 (Reference Types), 배열

자바에서 참조 자료형은 기본 자료형이 아닌 모든 것을 참조 자료형이라고 한다. 더 정확히는 참조 자료형이란 자바의 인스턴스를 가리킬 수 있는 자료형이다.

4.2.1 클래스와 배열

String str = "helloworld !!"; System.out.println(str); int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과 동시에 초기화 System.out.println(Arrays.toString(intArray));
Java
복사
이외에도 참조 자료형에는 열거, 인터페이스 타입이 있다.
배열 : 동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 위의 예제에서는 정수형 변수를 저장하기위한 배열을 선언한 것이다.

4.2.2 배열의 특징

자료형[] 변수 = new 자료형[배열의크기] 의 형태로 선언을 한다.
배열은 데이터를 순차적으로 저장하여 인덱스를 통해 자료에 접근할 수 있습니다. 여기서, 인덱스는 0 ~ (배열의 크기 - 1) 의 범위를 가진다.
배열은 선언과 동시에 크기를 지정받는다. 따라서 고정된 크기를 가진다. 크기를 변경하려면 새롭게 선언해야한다.
int[] intEmptyArray = new int[5]; // int의 5자리 배열 선언 System.out.println(Arrays.toString(intEmptyArray)); // int의 default 값 0으로 채워짐 int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과 동시에 초기화 System.out.println(Arrays.toString(intArray)); String[] stringEmptyArray = new String[5]; // 참조자료형 String의 5자리 배열 선언 System.out.println(Arrays.toString(stringEmptyArray)); // 참조자료형은 값이 없을 경우 null(아무것도 없다) 이라는 표현으로 표시 String[] months = {"1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"}; System.out.println(Arrays.toString(months));
Java
복사
int[] scores = new int[4]; // 배열 선언 scores[0] = 5; //인덱스를 통해 배열에 값 입력 scores[1] = 10; System.out.println(scores[1]); // 인덱스를 통해 배열의 특정 값 출력 String[] months = {"1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"}; // 이렇게 선언과 동시에 값을 입력할 수도 있다. System.out.println(months[7]); // 인덱스를 통해 배열에 접근하여 특정 값 출력 int[][] arr = new int[4][3]; // 배열을 활용하여 2차원의 배열도 만들 수 있다.
Java
복사
실제 프로그램이 돌아가면서 항상 고정된크기의 배열을 쓰기는 쉽지 않은데, 그래서 실무에서는 대부분 배열보다는 ArrayList 라는 Collection 을 쓴다.