[Java]자바 프로그래밍(배열)

2024. 1. 14. 18:40· 공부/Java
목차
  1. 배열의 선언과 사용
  2. 배열의 생성
  3. 배열의 초기화
  4. 배열에 값 삽입
  5. 배열의 인덱스
  6. 배열의 반복
  7. for-each 루프
  8. 사용자가 배열의 크기를 지정
  9. 메소드의 매개변수로 배열을 전달
  10. 객체들의 배열
  11. 2차원 배열
  12. 2차원 배열의 초기화
  13. 2차원 배열에서의 length 메소드 사용 방법
  14. 다차원 배열
반응형

배열

  • 배열의 선언
  • 배열의 사용
  • 배열과 메소드
  • 객체들의 배열
  • 2차원 배열
  • 정렬과 탐색

자바에서 배열은 객체로 취급됩니다.

배열의 선언과 사용

  • 배열(array) : 같은 타입의 변수들의 모임이다.

Untitled.png

배열의 생성

  1. 먼저 배열 참조 변수부터 선언
int[] numbers; // 배열 참조 변수 선언 
  1. 배열을 new 연산자를 사용하여서 생성
numbers = new int[6] // 배열 객체 생성 

Untitled.png

  • 배열을 선언과 동시에 생성하는 것도 가능
int[] numbers = new int[6]; // 선언과 동시에 배열 객체 생성 
  • 어떤 자료형의 배열도 생성이 가능하다.
float[] distances = new float[20]; // 실수 배열
char[] letters = new char[50]; // 문자 배열

배열의 초기화

int[] numbers = {10, 20, 30}; 
for (int i = 0; i<numbers.length; i++) {
	System.out.println(numbers[i]);
}

👉 10
20
30

  • 배열 생성과 동시에 초기 값을 선언하는 문이다. 첫번째 인덱스 numbers[0]부터 numbers[2] 까지 순서대로 값이 대입된다.

배열에 값 삽입

public class ArrayTest {
	public static void main (String args[]) {
	  int[] test = new int[5];
		for(int i = 0; i<5; i++) {
			test[i] = i;
		}
		for(int j = 0; j<5; j++) {
		System.out.println("test의 " + j + "번째에는 " + test[j] + "값 입니다.");
		}

👉 실행결과
test의 0번째에는 0값 입니다.
test의 1번째에는 1값 입니다.
test의 2번째에는 2값 입니다.
test의 3번째에는 3값 입니다.
test의 4번째에는 4값 입니다.

배열의 인덱스

  • 자바의 배열은 int[] num = new int[5]; 형식으로 선언을 하면 총 5개의 공간이 생성되고, 인덱스값은 0 , 1 , 2 , 3, 4 이다.

배열의 반복

  • 배열 객체는 배열의 요소만큼 반복을 시킬 수 있는 메소드가 존재한다.
int[] test = new int[5];
System.out.println(test.length); // 배열의 요소 갯수를 카운팅하는 메소드이다.

👉 결과

  • 5

for-each 루프

for(자료형 {변수} : 배열 이름) {
	// 반복 문장들
}

→

for(int value: numbers) {
	System.out.println(value);
}
  • numbers 배열의 모든 요소들을 갯수만큼 반복을 하고 인덱스의 요소 값이 value에 대입된다.

사용자가 배열의 크기를 지정

int size; // 사용자에게 입력받는 배열의 크기를 담는 변수
Scanner scan = new Scanner(System.in);
System.out.print("배열의 크기를 입력하세요 : );
int[] numbers = new int[size];

메소드의 매개변수로 배열을 전달

Untitled.png

  • 이때 메소드로 전달되는 인수는 배열의 참조 주소 값이 전달된다.

객체들의 배열

  • 객체들의 배열 : 객체들이 저장된 배열
  • 객체들의 배열에서는 객체에 대한 참조값만을 저장한다.
  • Car[] cars = new Car[5];

Untitled.png

  • 각 원소에 들어가는 객체는 따로 생성을 하여야 한다.
cars[0] = new Car();
cars[1] = new Car();

Untitled.png

2차원 배열

Untitled.png

2차원 배열의 초기화

  • 2차원 배열에서는 같은 행의 원소를 중괄호로 묶으면 된다.
int[][] twoArray = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} } 
  • 첫 번째 행은 {10, 20, 30} , 두 번째 행은 {40, 50, 60}, 세 번째 행은 {70, 80, 90}

2차원 배열에서의 length 메소드 사용 방법

int[][] twoArray = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} };

for (int row = 0; row < twoArray.length; row++) {
	for (int column = 0; column < twoArray[row].length; column++) {
		System.out.println("[" +row+ "]" + "[" +column+ "] 의 값은 :" + twoArray[row][column]); 
	}
}

Untitled.png

다차원 배열

  • 다른 언어와 마찬가지로 자바에서도 얼마든지 다차원 배열을 생성 할 수 있다. 예를 들어서 다음 문장은 3차원 배열을 생성한다.
double[][][] = sales = new double[3][2][12]; 
반응형
  1. 배열의 선언과 사용
  2. 배열의 생성
  3. 배열의 초기화
  4. 배열에 값 삽입
  5. 배열의 인덱스
  6. 배열의 반복
  7. for-each 루프
  8. 사용자가 배열의 크기를 지정
  9. 메소드의 매개변수로 배열을 전달
  10. 객체들의 배열
  11. 2차원 배열
  12. 2차원 배열의 초기화
  13. 2차원 배열에서의 length 메소드 사용 방법
  14. 다차원 배열
'공부/Java' 카테고리의 다른 글
  • [Java]자바 프로그래밍(인터페이스와 다형성)
  • [Java]자바 프로그래밍(상속)
  • [Java]자바 프로그래밍(생성자와 접근제어)
  • [Java]자바 프로그래밍(필드와 메소드2)
Future0_
Future0_
rm -rf /
Future0_
Luna Developer Blog
Future0_
전체
오늘
어제
  • 분류 전체보기 (112)
    • 프로그래밍 (4)
      • 알고리즘 (4)
    • 보안 (14)
      • Dreamhack (4)
      • Hackthebox (1)
      • Webhacking (9)
    • 프로젝트 (4)
    • 공부 (80)
      • Database (2)
      • Python (11)
      • System (4)
      • Java (13)
      • JSP (13)
      • Spring (11)
      • Kotlin (16)
      • 자료구조 (10)
      • 기계학습 (0)
    • Docker (4)
    • Github (2)
    • Tip (1)
    • 잡담 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • jsp
  • 코틀린기본문법
  • 디버깅키해시
  • webhacking
  • SpringBoot
  • cs
  • Kotlin
  • 알고리즘
  • Java
  • ViewModel
  • spring
  • Database
  • 컴퓨터
  • dreamhack
  • Android Studio
  • docker
  • shared preference
  • 보안
  • api 통신
  • Computer science
  • 프로그래밍
  • 키 해시
  • 자바빈즈
  • android studio 삭제
  • 자료구조
  • Python
  • 상속
  • React
  • 1.9.22
  • native app

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Future0_
[Java]자바 프로그래밍(배열)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.