int[] scores; // 배열 선언
int scores[]; // 배열 선언
scores = new int[5]; // 배열 변수의 초기화
int[] scores = { 100, 90, 50, 95, 85 };
int[] scores = new int[] { 100, 90, 50, 95, 85 };
int[] scores;
scores = new int[] { 100, 90, 50, 95, 85 };
배열의 예
Scanner inScanner = new Scanner(System.in);
int[] scores = new int[5];
int sum = 0;
for (int i = 0; i < scores.length; i++) {
scores[i] = inScanner.nextInt();
}
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
System.out.println("당신의 평균 점수는 ? " + (sum / scores.length));
inScanner.close();
int[][] scores = { 100, 90,50, 95, 85 }, { ... }, { ... };
다차원 배열의 예
double[][] interests = { { 3.2, 3.1, 3.2, 3.0 },
{ 2.9, 2.8, 2.7, 2.6 },
{ 2.7, 2.6, 2.5, 2.7 } };
double[] sum1 = { 0.0, 0.0, 0.0 };
double sum2 = 0.0;
for (int i = 0; i < interests.length; i++) {
for (int j = 0; j < interests[i].length; j++) {
sum1[i] += interests[i][j];
}
System.out.printf("%d차년도 평균 이자율 = %.2f%%\n", i + 1, sum1[i] / 4);
sum2 += sum1[i];
}
System.out.printf("3년간 평균 이자율 = %.2f%%\n", sum2 / (3 * 4));
ArrayList<참조 타입> 참조 변수 = new ArrayList<>();
참조 타입 : 기초 타입의 동적 배열이라면 Integer, Long, Double, Charater, Boolean 등을 사용한다.
ArrayList 원소 접근
동적 배열의 예
Scanner inScanner = new Scanner(System.in);
ArrayList<Integer> scores = new ArrayList<>();
int data;
int sum = 0;
while ((data = inScanner.nextInt()) >= 0) { // 입력값 받기
scores.add(data);
}
for (int i = 0; i < scores.size(); i++) { // 기존 for문
sum += scores.get(i);
}
for (int score : scores) { // 향상된 for문
sum += score;
}
System.out.println("평균 = " + (double) sum / scores.size());
참조형 변수와 기본형 변수의 차이
public static void main(String[] args) {
int[] x = { 0 };
int y = 0;
// 호출 전의 x[0] = 0, y = 0
System.out.println("호출 전의 x[0] = " + x[0] + ", y = " + y);
// increment method로 보냄
increment(x, y);
호출 후의 x[0] = 1, y = 0
System.out.println("호출 후의 x[0] = " + x[0] + ", y = " + y);
}
public static void increment(int[] n, int y) {
// increment() 메서드 안에서 n[0] = 0, y = 0 ---> n[0] = 1, y = 1
System.out.print("increment() 메서드 안에서 ");
System.out.print("n[0] = " + n[0] + ", y = " + y + " ---> ");
n[0]++;
y++;
System.out.println("n[0] = " + n[0] + ", y = " + y);
}