향상된 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.


+ Recent posts