차곡차곡 성 쌓기
article thumbnail

배열

배열인덱스(index)인덱스에 대응하는 데이터들로 이루어진 연속적인 자료 구조로서, 같은 종류의 데이터들이 순차적으로 저장된다.

 

자바에서의 배열 생성은 C/C++와 달리 2단계로 이루어진다.

  • 배열에 대한 레퍼런스 변수 선언
  • 배열 생성 - 배열의 저장공간 할당

배열 생성과정

1. 배열에 대한 레퍼런스 변수 선언

int intArray [];

배열 공간을 할당되지 않으며 레퍼런스 변수 intArray만 생성된다. intArray는 배열 공간에 대한 주소 값을 가지며 그 자체가 배열은 아니다. 이때 intArray의 값은 null이다. 이처럼 배열 주소를 레퍼런스라고 부르며, 주소값을 가지는 변수를 레퍼런스 변수라고 한다.

 

2. 배열 생성

배열 생성은 데이터를 저장할 배열 공간을 할당받는 과정이다. 반드시 new 연산자를 이용하여 배열을 생성하며 [] 안에 생성할 원소 개수를 지정한다. 다음 코드는 정수 5개의 배열 공간을 할당받고 이 배열에 대한 레퍼런스 값(주소 값)을 intArray에 저장한다.

int [] intArray = new int[5];

int size = intArray.length;

또한 자바는 new를 이용하여 생성된 것은 다 객체로 관리하기 때문에 기본형 배열도 객체가 생성된다.

  • 배열 객체 안에는 배열의 실제공간, 함수 들이 들어있다.
  • .length 찍으면 크기 나오는 것이 다 객체의 멤버변수이기 때문이었던 것

 

예외처리

▶︎ 컴파일 오류

  • 문법에 맞지 않게 작성된 코드

▶︎ 예외

오동작이나 결과에 악영향을 미칠 수 있는 실행 중 발생한 오류

  • 정수를 0으로 나누는 경우
  • 정수 입력을 기다리는 코드가 실행되고 있을 때, 문자가 입력된 겨우

자바에서 예외처리 가능

  • 예외 발생 -> 자바 플랫폼이 인지 -> 응용 프로그램에서 전달
  • 전달 받았을 때 대체할 수 있는 예외처리를 해야한다.

 

✓ 예외처리, try-cathc-finally 문

try{
  예외가 발생할 가능성이 있는 실행문(try문)
}
catch(처리할 예외 타입 선언){
  예외처리문(catch 블록)
}
finally{
  예외 발생 여부와 상관없이 무조건 실행되는 문장
}

try문 중 예외가 발생하면 바로 cathch로 점프. 다시 try문으로 돌아오지 않음

 

 

자주 발생하는 예외

예외 타입 예외 발생 경우 패키지
ArithmeticException 정수를 0으로 나눌 때 발생 java.lang
NullPointerException null 레퍼런스를 참조할 때 발생 java.lang
ClassCastException 변환할 수 없는 타입으로 객체를 변환할 때 발생 java.lang
OutOfMemoryError 메모리가 부족한 경우 발생 java.lang
ArrayIndexOutOfBounds 배열의 범위를 벗어난 접근 시 발생 java.lang
IllegalArgumentException 잘못된 인자 전달 시 발생 java.lang
IOException 입출력 동작 실패 또는 인터럽트 시 발생 java.io
NumberFormatException 문자열이 나타내는 숫자와 일치하지 않는 타입의 숫자로 변환 시 발생 java.lang
InputMismatchException Scanner 클래스의 nextInt()를 호출하여 정수로 입력받고자 하였지만,
사용자가 'a'등과 같이 문자를 입력한 경우
java.util

 

728x90
profile

차곡차곡 성 쌓기

@nagrang

포스팅이 좋았다면 "좋아요" 해주세요!