Java Array #자바 배열

2025. 2. 10. 17:02·Language/Java
반응형

배열을 사용하는 이유 

같은 타입의 변수를 반복해서 선언하고 반복해서 사용하는 문제를 해결해주기 때문에 사용한다. 

 


 

배열 

배열은 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것이다.

 

//1. 배열 변수 선언 
int[] students;

//2. 배열 생성 
students = new int[5];

 

 

✅ 배열 변수 선언 

| 일반적인 변수와 차이점은 int[] 처럼 타입 다음에 대괄호 []가 들어간다. 

| 배열 변수를 선언한다고해서 아직 사용할 수 있는 배열이 만들어진 것은 아닙니다. 

 

✅ 배열 생성 

| 배열을 사용하려면 배열을 생성해야합니다. 

| new는 새로 생성한다는 뜻이고,int[5]는 int형 변수 5개라는 뜻입니다. 

 

✅ 배열과 초기화

| new int[5]라고 하면 총 5개의 int형 변수가 만들어집니다. 

| 자바는 배열을 생성할 때 그 내부값을 자동으로 초기화합니다.

| 숫자는 0, boolean은 false, String은 null(없다는 뜻이다)로 초기화 됩니다. 

 

✅ 배열 참조값 보관

| new int[5]로 배열을 생성하면 배열의 크기만큼 메모리를 확보한다 

| -> int 형 5개를 사용하면 4byte * 5 = 20byte 를 확보 .

| 배열을 생성하고 나면 자바는 메모리에 어딘가에 있는 이 배열에 접근할 수 있는 참조값(주소)를 반환.

| 앞서 선언한 배열 변수인 int[] students 에 생성된 배열의 참조값을 보관합니다.

 


 

배열 사용

 

인덱스

배열은 변수와 사용법이 비슷합니다.

차이점이 있다면 []사이에 숫자 번호를 넣어주면 됩니다.

배열의 위치를 나타내는 숫자를 인덱스(index)라고 합니다.

 

✅ 배열은 0부터 시작합니다. 

| 인덱스의 범위 0 ~ (n-1)이 됩니다. 

| 예를 들어서 5개의 요소를 가지는 배열을 선언 했다면 0~(5-1) = 0 ~ 4가 됩니다. 

 


 

배열에 값 대입 

배열에 값을 대입하든 배열의 값을 사용하든 간에 일반적인 변수와 사용법은 같습니다. 

[]를 통해 인덱스만 넣어주면 됩니다. 

 

//1. 배열에 값을 대입 
students[0] = 90; 

//2. 변수에 있는 참조값을 통해 실제 배열에 접근 (예시로 x001이라는 메모리 주소를 가정하였음)
x001[0] = 90;

 


 

배열 값 읽기

인덱스를 통해서 원하는 요소를 찾습니다. 

 

//1. 변수 값 읽기
System.out.println("학생1 점수 : " + sutdents[0]);

//2. 변수에 있는 참조값을 통해 실제 배열에 접근, 인덱스를 사용하여 해당 위치 요소에 접근
System.out.println("학생1 점수 : " + x001[0]);

//3. 배열의 값을 읽어옴
System.out.println("학생1 점수 : " + 90);

 


 

리펙토링 

Refactoring은 기존의 코드 기능은 유지하면서 내부 구조를 개선하여 가독성을 높이고, 유지보수를 용이하게 하는 과정.

➕ 중복을 제거 해줍니다.

➕ 복잡성을 줄입니다.

➕ 이해하기 쉬운 코드로 만들기 위해 수행합니다. 

 


 

2차원 배열 

2차원 배열은 행(ROW)과 열(COLUMN)로 구성됩니다. 

2차원 배열은 int[][] arr = new int[2][3]와 같이 선언하고 생성합니다. 

arr[1][2]와 같이 사용하는데, 먼저 행번호를 찾고, 그 다음에 열 번호를 찾으면 됩니다. 

 


 

향상된 for문

for-each문이라고도 부릅니다. (Enhanced For Loop) 

각각의 요소를 탐색한다는 의미입니다. 

기존 for문 보다 더 편리하게 사용할 수 있습니다. 

 

for (변수 : 배열 또는 컬렉션) {
// 배열 또는 컬렉션의 요소를 순회하면서 수행할 작업
}

 

✅ 일반 for문과 동일하게 작동합니다. 

| 향상된 for문은 배열의 인덱스를 사용하지 않고, 종료 조건을 주지 않아도 됩니다. 단순하게 처음부터 끝까지 돌립니다. 

| : 의 오른쪽에 탐색할 배열이나 컬렉션을 선택하고, 왼쪽에 찾은 값을 저장할 변수를 선언합니다. 

| 배열의 인덱스를 사용하지 않고도 배열의 요소를 순회할 수 있기 때문에 코드가 간결하고 가독성이 좋습니다. 

 

 

향상된 for문을 사용하지 못하는 경우

향상된 for문에는 증가하는 인덱스 값이 감추어져 있습니다. 따라서 증가하는 인덱스 값을 직접 사용해야 하는 경우에는 

사용할 수 없습니다. 

 

출처 | 김영한 자바 입문

728x90
반응형

'language > Java' 카테고리의 다른 글

Java Iteration #자바 반복문  (5) 2025.02.03
Java Condition #자바 조건문  (8) 2025.01.30
Java Operator #자바 연산자  (10) 2025.01.24
Java Variable #자바 변수  (5) 2025.01.23
주석(comment)  (7) 2025.01.21
'Language/Java' 카테고리의 다른 글
  • Java Iteration #자바 반복문
  • Java Condition #자바 조건문
  • Java Operator #자바 연산자
  • Java Variable #자바 변수
dzaaling
dzaaling
  • dzaaling
    huigrowthdiary
    dzaaling
  • 전체
    오늘
    어제
    • 분류 전체보기 (31)
      • language (6)
        • Java (6)
      • data base (1)
        • Oracle (1)
      • frontend (3)
        • HTML5 (0)
        • CSS3 (0)
        • Javascript (3)
      • backend (3)
        • Spring (3)
      • 코딩테스트 (2)
      • 잡다한 공부 (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코린이
    정처기 파이썬
    정처기 전위식
    부분 함수 종속
    c언어
    정처기 증감
    자바
    코딩테스트
    프로그래밍
    정보처리기사
    vscode 플러그인
    java
    커스텀자료형
    자바스크립트
    백준
    쿼리파라미터
    정처기
    javascript
    2정규화
    C
    orcale 11g
    스프링부트
    정처기 비트연산
    중위식
    정처기 매크로
    후위식
    전위식
    정처기 실기
    정처기 데이터베이스
    인텔리제이오류
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dzaaling
Java Array #자바 배열
상단으로

티스토리툴바