해결된 질문
작성
·
370
·
수정됨
답변 2
2
1
안녕하세요. 나누스_개발님
자바에서 지역 변수의 경우 한번이라도 값이 대입 되어야 해당 변수를 사용할 수 있습니다.
다음 코드를 보고 이야기하신 듯 하여 이 코드로 설명을 드리겠습니다.
public class ArrayEx4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] numbers = new int[5];
int sum = 0;
double average;
System.out.println("5개의 정수를 입력하세요:");
for (int i = 0; i < 5; i++) {
numbers[i] = scanner.nextInt();
sum += numbers[i];
}
average = (double) sum / 5;
System.out.println("입력한 정수의 합계: " + sum);
System.out.println("입력한 정수의 평균: " + average);
}
}
이 코드에서 sum 변수는 sum += numbers[i] 연산을 사용하게 됩니다.
이 연산자는 결국 sum = sum + numbers[i]와 같은 연산을 하게 됩니다. 결과적으로 오른쪽에서 sum 이라는 값을 읽어서 사용해야 합니다. 오른쪽의 sum 값을 읽어서 사용하기 전에 값을 먼저 대입해야 합니다. 그래서 sum=0이라는 초기값을 먼저 대입한 것입니다.
반면에 average는 다음과 같이 단순히 대입만 합니다. 결과적으로 이 시점에 초기화가 일어나는 것이지요.
average = (double) sum / 5;
따라서 이 경우 먼저 초기화 하지 않아도 괜찮습니다.
감사합니다.