// 기본 타입 변수
int age = 25;
double price = 100.5;
// 참조 타입 변수
String name = "김자바";
String hobby = "독서";
스택(stack) 영역 -> 힙(heap) 영역
참조 타입 변수 -> a주소 - 김자바 (String 객체)
기본 타입 변수 -> b주소 - 독서 (String 객체)
int[] intArray = null;
intArray[0] = 10; // NullPointerException
String str = null;
System.out.println("총 문자수: "+str.length());
// NullPointerException
String name1 = "김자바";
String name2 = "김자바";
String name1 = new String("김자바");
String name2 = new String("김자바");
int score1 = 83;
int score2 = 90;
int score3 = 87;
:
int score30 = 75;
int sum = score1;
sum += score2;
sum += score3;
:
sum += score30;
int avg = sum / 30;
int sum = 0;
for(int i=0; i<30; i++){
sum += score[i];
}
int avg = sum / 30;
타입[] 변수 = null;
배열 변수가 null 값을 가진 상태에서 항목에 접근 불가
변수[인덱스] 못함
NullPointerException 발생
데이터타입[] 변수;
변수 = new 타입[]{ 값0, 값1, 값2, 값3, ... }
타입[] 변수 = new 타입[길이];
타입[] 변수 = null;
변수 = new 타입[길이];
int intArray = new int[5];
배열변수.length;
int[] intArray = { 10, 20, 30 }
int num = intArray.length;
intArray.length = 10; // 잘못된 코드
수학의 행렬과 같은 자료 구조
각 항목에 직접 값을 가지고 있음
public enum 열거타입이름 { ... }
열거 상수 이름은 관례적으로 모두 대문자로 작성
다른 단어가 결합된 이름일 경우 관례적으로 밑줄(_)로 연결
열거타입 변수;
Week today;
Week reservationDay;
열거타입 변수 = 열거타입.열거상수;
Week today = Week.SUNDAY;
열거 타입 변수는 참조 타입이므로 null 값 저장 가능
Week birthday = null;
열거 객체는 java.lang.Enum 클래스의 메소드 사용 가능