향상된 for 문
다음의 프로그램에 있는 두 개의 for 문을 모두 향상된 for 문으로 고칠 수 있을까요?
고칠 수 없는 for 문이 있다면 왜 그런지 이유를 설명해 보십시오.
두 번째 for 문만 향상된 for 문으로 고칠 수 있다. 왜냐하면 향상된 for 문에서의 변수는 배열 내의 "값"을 의미하고 있기 때문이다. 배열 요소의 값에 10 을 곱하고 싶으면 그것의 인덱스를 얻어 올 수 있어야 하는데, 그것의 인덱스를 받아 올 수 있는 방법이 없다.
결과는 다음과 같다.
100
200
300
400
500
Done.
만약 아래와 같이 코드를 작성해 버린다면, 컴파일에는 문제가 없지만 결과가 틀리게 나온다. 첫 번째 향상된 for 문에서의 value 는 단지 복사본이며 원본 배열의 내용에 영향을 미치지 못한다.
Ecplise 같은 데서 빌드하면 다음과 같은 warning 을 볼 수 있다.
The value of the local variable value is not used UpdateArrayExample.java /UpdateArrayExample/src line 7 Java Problem
결과는 다음과 같다.
10
20
30
40
50
Done.
'Programming > 뇌를 자극하는 Java 프로그래밍' 카테고리의 다른 글
[ 뇌를 자극하는 Java 프로그래밍 ] 3장, Excercise 3-1 (0) | 2013.04.08 |
---|---|
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, 이것만은 알고 갑시다 (0) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Exception 2-6, 익셉션 처리 문제 (0) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Excercise 2-5, 메서드 호출문의 연습 (0) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Excercise 2-4, break 문의 연습 (0) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Excercise 2-3 (0) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Vitamin Quiz, while 문과 do-while 문의 비교 (0) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Vitamin Quiz, else if 절과 switch 문 (1) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Excercise 2-2, switch 문을 if 문으로 (0) | 2013.04.07 |
[ 뇌를 자극하는 Java 프로그래밍 ] 2장, Excercise 2-1 (0) | 2013.04.07 |