같은 데이터 타입의 변수들이 하나의 집합 형태로 이루어진 자료구조
선언하기
package chapter5;
public class FirstDimensionArray {
public static void main(String[] args) {
int[] firstArray;
int secondArray[];
//Array 선언 및 생성
int[] thirdArray = new int[3];
}
}
초기화 하기
package chapter5;
public class FirstDimensionArray {
public static void main(String[] args) {
int[] firstArray = {1,2,3};
int secondArray[] = new int[]{1,2,3};
//Array 선언 및 생성
int[] thirdArray = new int[3];
}
}

배열 내부의 값 다 더하기
package chapter5;
public class SummationFirstDimensionArray {
public static void main(String[] args) {
int[] scores = new int[]{85,77,90};
int sum = 0;
for(int i = 0; i < scores.length; i++){
sum+=scores[i];
}
System.out.println(sum);
}
}
출력결과

배열의 요소로 배열을 갖는 것
배열의 요소로 1차원 배열을 가지는 배열
선언
package chapter5;
public class SecondDimensionArray {
public static void main(String[] args) {
int [][] firstArray;
int[] secondArray[];
int thirdArray[][];
// 2차원 배열 선언 및 생성
int [][] fourthArray = new int[2][3];
}
}
초기화
int [][] firstArray = {
{1,2,3},
{4,5,6}
};
2차원 배열 중 각 행마다 다른 길이를 갖는 배열
4가지 방법
package chapter5;
import java.util.Arrays;
public class CopyOfArray {
public static void main(String[] args) {
int []origin = new int[]{1,2,3,4,5};
int newArrayLength = 10;
// 방법 1 System.arraycopy 메소드 사용
int[] firstCopyArray = new int[newArrayLength];
System.arraycopy(origin,0,firstCopyArray,0,origin.length);
//방법 2 Arrays.copyOf 메소드
int[] secondCopyArray = Arrays.copyOf(origin,newArrayLength);
//방법 3 clone 메소드
int[] thirdCopyArray = (int[]) origin.clone();
//방법 4 하나씩 값을 할당해주기
int[] fourthCopyArray = new int[newArrayLength];
for(int i = 0; i < origin.length; i++){
fourthCopyArray[i] = origin[i];
}
}
}
package chapter5;
public class task1 {
public static void main(String[] args) {
int[] firstArray = {1,2,3,4,5,6,7,8,9};
System.out.println(firstArray);
for(int i=0;i<=8;i++){
for(int j=0;j<=8;j++){
System.out.printf("%d * %d = %d\n",firstArray[i],firstArray[j],firstArray[i]*firstArray[j]);
}
System.out.println();
}
}
}
package chapter5;
public class task2 {
public static void main(String[] args) {
int[] firstArray = {1,2,3,4,5,6,7,8,9};
for(int num:firstArray){
if(num%2==0){
continue;
}
for(int num2:firstArray){
System.out.printf("%d * %d = %d\n",num,num2,num*num2);
}
System.out.println();
}
}
}