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 을 쓴다.