Java 기초 (16) 배열 기본

코린이서현이·2023년 7월 19일
0

Java

목록 보기
16/46

⚾들어가면서⚾

왜 공부에 대한 의욕은 사그러들까??
매일매일 공부를 하고 싶다면 좋을텐데 말이다. 🤔
오늘은 자바에서 다루는 배열에 대해서 공부하겠다. 
또한 자바는 배열을 쉽게 다룰 수 있도록 ArrayList클래스를 제공하는데 
이후에 이 클래스에 대해서도 자세히 살펴보려고 한다. 
일단은 배열에 대한 기본적인 이해를 해보자!!

📕 배열

  • 동일한 자료형을 연속으로 나열된 자료구조이다.

🤔 동일한 자료형을 가진 변수를 여어어ㅓ어러개 반복해서 사용해야할때 효율적으로 쓸 수 있게한다.

📖 배열선언과 초기화

📒 배열 선언&생성

	//타입[] 배열이름 = new 타입[배열길이];
    int[] studentIDs = new int[10];

📒 배열 초기화

실제 값을 넣기

	//생성된 배열에 실제 값을 넣는 것이다
    studentIDs[0] = 10; 

📒 배열 선언과 초기화를 동시에하기

case1. new예약어를 사용하면서 한번에 초기화하기
⚠️new int[]안에 따로 갯수를 넣지 말아야한다.

	int[] studentIDs = new int[] {1,2,3,4,5,6,7,8,9};    

case2. nem예약어를 사용하지 않고 초기화하기
선언과 동시에 초기화 할 경우에는 new int[]를 생략할 수 있다.

	int[] studentIDs = {1,2,3,4,5,6,7,8,9};

case3. 자료형을 선언하고 초기화하기
이때는 new예약어를 생략할 수 없다.

	int[] studentIDs;
    studentIDs = new int[] {1,2,3,4,5,6,7,8,9};

📗 class로 배열

인스턴스 생성시에 new를 사용하는 것은 다들 알 것이다.
배열 생성시에도 new예약어를 사용한다.
🤔 class 배열은 어떻게 만들어야할까?

📒class 배열 선언하기

	클래스형[] 배열이름 = new 클래스형[개수];   

📒class 배열 초기화하기

new예약어를 사용하기는 했지만 이는 클래스배열을 만든 것뿐이다.
실제 값(인스턴스)를 초기화하는 과정이 필요하다.

	배열이름[인덱스값] = new 셍성자();

📖 배열 사용하기

  • 선언한 배열의 각각의 요소에 접근할 때는 인덱스 연산자 []를 사용한다.
    배열의 인덱스는 1이 아닌 0부터 사용함을 주의하자.
    배열이름[인덱스값]

✍️예시코드

	//studentIDs의 첫번째 요소
    studentIDs[0]

📖 전체 배열 길이와 유효한 요소 값

⚠️ 전체 배열 길이유효한 요소 값

📙 legth 속성

배열의 전체길이를 나타내는 속성

전체 배열 길이 : 배열을 선언 할 때 설정한 배열의 전체 길이

	studentIds.length  // 배열studentIds의 전체길이를 나타낸다. 

🤔전체 배열 길이유효한 요소 값
처음 배열을 선언할 때 지정한 길이와 일치하게 배열값을 사용하는 경우는 드물다.
따라서 전체 배열길이를 나타내는 length사용이 적절하지 않은 경우가 있다.'

✍️ 예시코드

	public class ArrayTest1 {

	public static void main(String[] args) {
		int[] array = new int[5];
		
		//3번째 요소까지만 값 초기화
		array[0]=0;
		array[1]=1;
		array[2]=2;
		
		for (int i=0 ; i<array.length; i++ ) {
			System.out.println(array[i]);
		// 4,5번째 요소는 초기화되지 않았기 때문에 0으로 출력
		}
	}
}

👉 실행화면

    0
    1
    2
    0
    0

➕초기화되지 않은 배열의 값은?
사실 배열은 선언과 동시에 각 요소의 값이 초기화가 된다. 따라서 따로 초기화하지 않은 4,5번째 요소 값도 0으로 출력되는 것을 확인할 수 있다.

정수 : 0
실수 : 0.0
객체 : null

📒 유효한 요소값 나타내기 : (변수++) 이용

  • 유효한 요소 값 : 실제 유효한 값이 담겨있는 의미 있는 배열 요소

유효한 요소 값을 체크하는 방법
: 따로 정수 변수를 선언하고 요소에 값을 넣을때마다 증가 연산자 ++를 이용한다.

✍️ 예시코드

  public class ArrayTest1 {

      public static void main(String[] args) {
          int[] array = new int[5];
          //일반 변수는 자동 초기화되지 않기 때문에 증감연산자(++)를 쓰려면 초기화과정을 가져야한다.
          int size = 0;

          //3번째 요소까지만 값 초기화
          array[0]=0; size++;
          array[1]=1; size++;
          array[2]=2; size++;

          for (int i=0 ; i<size; i++ ) {
              System.out.println(array[i]);

          }
      }
  }

👉실행화면

	0
    1
    2

➕ 향상된 for문

  • 배열의 첫 요소부터 마지막까지 모든 요소를 참조할 때 편리한 반복문이다.
    변수에 배열 요소 값을 하나씩 대입해 마지막요소까지 대입하고 종료한다.
    (따로 초기화나 종료조건이 없다.)
	for( 변수 : 배열 ){
    }

✍️ 예제코드

	String[] strArray = {"코코","초코",};
	
	for( String n : strArray) {
		System.out.println(n);
	}

👉 실행화면

	코코
    초코

🔥오늘의 느낀 점🔥

객체와 동일한 new예약어를 사용하기 때문에 객체 배열은 생성시 주의해야한다!
배열선언과 초기화를 기억하자!
다음에는 배열을 복사하는 방법에 대해서 배워보겠다.
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

글이 잘 정리되어 있네요. 감사합니다.

답글 달기