개발/Java
[Java] 자료형
2juhyunju
2022. 5. 19. 23:35
기본자료형
숫자
- 숫자 관련한 값을 변수로 선언할 수 있다
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);
문자
- 문자 관련한 값을 변수로 선언할 수 있다.
char alphabet = 'A'; // 문자형 변수 선언
System.out.println(alphabet);
// char type은 default 값이 없다.
논리
- 참 거짓의 값을 변수로 선언할 수 있다.
boolean fact = true; // 논리형 변수는 true, false의 값을 가진다.
System.out.println(fact);
// boolean type은 default 값이 없다.
바이트
- 바이트를 변수로 선언할 수 있다. 컴퓨터에서 표현되는 모든 데이터는 사실상 바이트의 연속이다. 바이트를 직접 쓰실일은 별로 없겠지만, 바이트로 표현할 수 있다는 것만 알아두면 좋다.
byte data = 'd';
System.out.println(data); // 알파벳 d는 ASCII code 에서 십진법으로 100이기 때문에 100이라는 글자가 출력
* 참고 : ASCII code(아스키코드)란?
참조자료형
자바에서 참조 자료형은 기본 자료형이 아닌 모든 것을 참조 자료형이라고 한다. 더 정확히는 참조 자료형이란 자바의 인스턴스를 가릴킬 수 있는 자료형이다.
클래스와 배열
String sparta = "sparta !!";
System.out.println(sparta);
int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과 동시에 초기화
System.out.println(Arrays.toString(intArray));
- 이외에도 참조 자료형에는 열거, 인터페이스 타입 있다.
- Java에서는 기본 자료형을 빼고는 모두 참조 자료형이다. 이것은 Java의 언어적인 특징에서 기인한다.
모든 클래스가 Object라는 클래스를 상속 받기 때문이다.
배열
- 동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조 위의 예제에서는 정수형 변수를 저장하기위한 배열을 선언
- 배열을 사용하는 이유는 예를들어 10개의 정보를 입력할 경우 배열을 사용하지 않으면 변수 10개를 선언해야 하지만 배열을 사용하면 짧고 간결하게 입력할 수 있다.
- 자료형[] 변수 = 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(아무것도 없다) 이라는 표현으로 표시
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차원의 배열도 만들 수 있다.