- 자료출처
생활코딩 by egoing - 자바: https://opentutorials.org/module/516
남궁석의 자바의정석: https://github.com/castello/javajungsuk_basic/
[ 배열 ]
1. 배열
- 같은 타입의 여러 변수를 하나의 붂음으로 다루는 것
int score1, score2, score3, score4, score5;
=====>
int [] score = new int[5];
1) 배열의 선언과 생성
* 선언
타입[] 변수이름;
int [] score; // int타입의 배열을 다루기 위한 참조변수 score선언
* 생성
변수이름 = new 타입[길이];
score = new int [5] ; // int 타입의 값 5개를 저장할 수 있는 배열 생성
*선언 및 생성
int score = new int[5];
2) 배열의 인덱스
-배열의 인덱스: 배열의 요소마다 붙여진 일련번호로 각 요소를 구분하는데 사용
-1이 아닌 0부터 시작
-인덱스의 범위는 0부터 "배열길이-1"까지
-변수와 마찬가지로 값 저장, 읽어오기 가능
int[] score = new int [5];
===> 인덱스: score[0], score[1], score[2], score[3], score[4], score[5]
score [3] = 100;
3) 배열의 길이
- 배열이름.length
int[] arr = new int [5];
System.out.println(arr.length);===>5
4) 배열의 초기화: 배열은 생성과 동시에 기본값으로 초기화됨
[1단계]
int[] arr = new int [5];
score[0]=1;
score[1]=2;
score[2]=3;
score[3]=4;
score[4]=5;
[2단계] 배열의 생성과 초기화 동시에
int[ ] arr = new int[ ]{1, 2, 3, 4, 5}
===> 블럭 안 갯수에 의해 배열의 길이가 자동으로 정해짐, 길이 안적어도 됨!
[3단계] 배열의 생성과 초기화 동시에 하는 경우 -> new int[]생략가능
int[ ] arr =new int[ ]{1, 2, 3, 4, 5}
==> but, 배열의 생성과 초기화 따로하는 경우 new int[ ] 생략불가함
[4단계] for문 이용
for (int i=0; i<score.length; i++) {
score[i]=i-1;
}
5) 배열의 출력(배열에 저장된 값 확인)
(1)for문 사용
int[] tired =new int[5]{10, 20, 30, 40, 50};
for (int i=0; i < tired.length; i++) {
System.out.println(int[i]);
}
===> 배열을 한 줄에 출력하고 싶다면:
for (int i=0; i < tired.length; i++) {
System.out.print(int[i]);
}
System.out.println();
(2)메서드 Arrays.toString(배열이름)
- 배열의 모든 요소를 [첫번째이름, 두번째이름...] 형식의 문자열로 만들어 반환
int[] tired = {10, 20, 30, 40, 50};
System.out.println(Arrays.toString(tired));
=====> [10, 20, 30, 40, 50]
2. String 배열 (문자열 처리)
1) String배열의 선언 및 생성 (int배열과 동일)
- 배열의 타입이 String(문자열)인 경우, 기본값은 null
*ex
String[] cheese = new String[3]; // 3개의 문자열을 담을 수 있는 배열 생성
* 참고 *
변수 타입에 따른 기본값
boolean: false
char: 'u\0000'
byte, short, int: 0
long: 0L
float: 0.0f
double: 0.0d
참조형: null
2) String배열의 초기화 (int 배열과 동일)
(1)
String[] tired = new String[3];
tired[0] = "Corin";
tired[1] = "study";
tired[2] = "java";
(2)
String[] tired =newString[]{ "Corin", "study", "java" }
3) String 클래스
- 자바에서 char클래스가 아닌 String클래스를 이용하여 문자열을 처리하는 이유?
=> String클래스가 char배열 + a 기능(메서드) 한 것이기 때문
3. 2차원 배열
1) 2차원배열의 선언:
- 1차원 배열의 선언 + []
- 타입 변수이름 [행 개수] [열 개수]
int [ ] [ ] tired = new int [3 ] [4 ];
====>3행 4열의 2차원 배열 생성
2) 2차원 배열의 인덱스
int [ ] [ ] tired = new int [3 ] [4 ];
==>
tired [0][0] | tired [0][1] | tired [0][2] | tired [0][3] |
tired [1][0] | tired [1][1] | tired [1][2] | tired [1][3] |
tired [2][0] | tired [2][1] | tired [2][2] | tired [2][3] |
3) 2차원 배열의 초기화
int [] [] tired = new int [] [] { {1, 2, 3}, {4, 5, 6}} ;
// 행을 바꿔서 표기하는게 보기 좋음
int [] [] tired = new int [] [] {
{1, 2, 3},
{4, 5, 6}
} ;
'코딩공부일지 > 자바독학' 카테고리의 다른 글
[자바혼공] 객체지향 후반부 (0) | 2022.08.24 |
---|---|
[자바혼공] 객체지향 개념 / 클래스와 객체, 매서드, 오버로딩, 생성자, 초기화 (0) | 2022.08.05 |
[자바혼공] 복습, 조건문과 반복문 (0) | 2022.08.03 |
[자바혼공]자바의정석 시작: 변수/ 연산자 (0) | 2022.07.20 |
[자바혼공]자바란? / 숫자와 문자 / 변수 / 주석&세미콜론 (1) | 2022.07.18 |