배열이란,
배열은 같은 타입의 변수를 하나로 묶은것으로,
변수 한개당 하나의 데이터만 저장할수 있었던 것과 달리
배열은 하나에 여러개의 데이터를 저장할수 있습니다.
예시는 다음과 같습니다.
int a1, a2, a3, a4...,a99, a100;
int[] a = new int[100];
배열의 선언방법
배열을 선언 하려면 변수선언과 동일하게 진행하되, 타입뒤에 [ ] 를 추가합니다.
ex)
int[] a;
String[] name;
배열을 선언하고 생성을 할때는 연산자 'new' 를 쓰고 타입과 길이를 지정합니다.
ex)
a = new int[20];
age = new String[4];
보통 배열은 선언과 생성을 동시에 진행합니다.
ex)
int[] a = new int[4];
String[] name = new String[5];
배열의 길이와 index
배열에 할당된 데이터를 다룰 때는 index를 사용하게 됩니다. index란 배열의 공간마다 붙여지는 번호로써,
일종의 방번호 라고 볼수 있습니다.
예를 들어 길이가 3인 배열을 선언했다면 3칸의 공간이 생성되는데, 각각의 공간은 순서대로 번호를 부여받게됩니다.
a=[0];
a=[1];
a=[2];
예시는 아래에서 배열의 초기화와 함께 들어보도록 하겠습니다.
배열의 초기화
배열을 생성하면 기본적으로 배열의 타입에 해당하는 값으로 초기화되어 생성됩니다.
따라서 초기화를 따로 할 필요는 없으나, 어떠한 값을 지정하려면 요소마다 따로 저장을 해주어야 합니다.
예시의 코드는 다음과 같습니다.
package java1209;
public class array1 {
public static void main(String[] args) {
int[] student = new int[3]; //배열 선언하면서 방은 3개를 만들겠다. 0, 1, 2
System.out.println("현재 자동으로 초기화된 값: " + student[0]);
// 초기화된 첫번째 배열, 0번의 값을 출력합니다.
}
}
해당 문구를 출력하면 다음과 같이 출력됩니다.
현재 자동으로 초기화된 값: 0
해당 배열에 값을 부여한상태에서 생성 또한 가능합니다.
해당 코드는 다음과 같습니다.
package java1209;
public class array1 {
public static void main(String[] args) {
int[] student = {30, 20, 10};
System.out.println("현재 자동으로 초기화 된 값 : " + student[0]);
}
}
이럴경우 0번째 index는 30이 출력됩니다.
현재 자동으로 초기화 된 값 : 30
다음은 배열을 생성하는 다양한 방법입니다.
코드와 함께 보도록 하겠습니다.
package java1209;
public class array1 {
public static void main(String[] args) {
int[] a = new int[] {10, 20, 4, 25, 18};
// 길이가 5인 배열생성, 배열길이 생략
int[] b = {1, 2, 3, 4, 5, 6, 7};
// 길이가 7인 배열생성, new int[] 생략이 가능하다.
//for 문으로 배열을 출력
int[] c =new int[10];
for (int i=0; i <c.length; i++) {
// length는 배열의 길이. 즉 10. 배열의 내용은 9까지 이다.
c[i] = i;
}
}
}
위와 같이 다양한 방법으로 생성이 가능합니다.
다음과 같이 string의 형태로 출력또한 가능합니다.
package java1209;
import java.util.Arrays;
public class array1 {
public static void main(String[] args) {
int[] c = new int[10];
for(int i = 0; i<c.length; i++) {
c[i] = i;
}
//함수(메소드)를 이용한 출력방법
System.out.println("");
System.out.println(Arrays.toString(c));
// 배열 c의 내용을 스트링 형태로 출력합니다.
}
}
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
한 학생의 시험점수의 평균을 배열을 이용해 구해보도록 하겠습니다.
예시를 들어보겠습니다.
package java1209;
public class array_2 {
public static void main(String[] args) {
//시험 점수의 평균 구하기
int[] student = {100, 95, 90, 88, 93};
int sum = 0;
for(int i = 0; i<student.length; i++) {
sum += student[i]; // 총점 누적
}
System.out.println("시험점수의 평균: " + sum/(float)student.length);
//int 형의 student.length를 float형으로 바꿔준다.
}
}
해당 배열의 출력은 다음과 같습니다.
시험점수의 평균: 93.2
배열에서 주의할점은 다음과 같습니다.
- 배열은 같은 타입의 값만 관리한다.
- 배열의 길이는 늘리거나 줄일 수 없다.
배열을 선언
타입[] 배열이름;
타입 배열이름[];
배열을 String 형식으로 선언 할때는 다음과 같이 선언이 가능합니다.
여러 방법을 확인해보겠습니다.
package java1209;
public class array_3 {
public static void main(String[] args) {
//배열의 변수 선언과 배열 생성
String[] season = {"Spring", "Summer", "Fall", "Winter"};
// 배열의 항목값 읽기
System.out.println("season[0] : " + season[0]);
System.out.println("season[1] : " + season[1]);
System.out.println("season[2] : " + season[2]);
System.out.println("season[3] : " + season[3]);
//인덱스 1인 항목의 값 변경
season[1] = "여름";
System.out.println("season[1] : " + season[1]);
// 배열 변수 선언과 배열 생성
int[] scores = {83, 90, 97};
// for 문을 이용한 배열의 총합과 평균 구하기
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += scores[i];
}
System.out.println("총합 : " + sum);
double avg = (double)sum / 3;
System.out.println("평균 : " + avg);
}
}
다음과 같이 다양한 방법이 있습니다.
tip)
배열선언시 초기값은 각자 다릅니다.
byte[] 0 char[] '\u0000' short[] 0 int[] 0 long[] 0L float[] 0.0F double[] 0.0 boolean[] false 클래스[] null 인터페이스[] null
잊지말자.
flaot a = 1.1; // f 생략시 에러
'JAVA > Java 기초' 카테고리의 다른 글
| 메서드 (기능) (0) | 2022.12.12 |
|---|---|
| Array, 다차원 배열 - Java 기초 (0) | 2022.12.09 |
| 반복문, while문 - Java 기초 (0) | 2022.12.08 |
| 반복문, for문 - Java 기초 (0) | 2022.12.08 |
| 조건문, switch문 (0) | 2022.12.08 |