개발/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차원의 배열도 만들 수 있다.