강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

강민서님의 프로필 이미지
강민서

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

향상된 for문

배열 for문 할때 질문입니다

작성

·

125

0

=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

package array;

public class EnhancedFor1 {

    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        //일반 for문
        for (int i = 0; i < numbers.length; i++){
            int number = numbers[i];
            System.out.println(number);
        }

이 부분에서 int number = numbers[i]; 부분을 없애고

밑에 줄을 System.out.println(numbers[i]); 로 바꿔도 결과값이 똑같이 나오던데 그렇게 하면 안되는 건가요?

배열의 요소에서 값을 꺼내서 number라는 변수에 항상 담아두게 코드를 짜야하는건지 궁금합니다.

 

답변 2

0

향상된 for문에서 얻어낸 출력값과 일반 for문에서 값을 얻어내기까지의 코드차이(길이 비교 등)를 비교하기 위해 이와 같은 방식으로 코드를 썼을 것이라 추측합니다. 단순히 해당 배열의 값을 출력하는 용도로는 큰 차이가 없습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 강민서님 😊

질문해주신 내용을 보면 배열에서 값을 출력할 때, int number = numbers[i];System.out.println(numbers[i]);의 방식이 궁금하신 것 같습니다. 두 경우 모두 동일한 결과를 출력하지만, 어떤 방식이 더 적절한지에 대해 고민하시는 것 같은데요.

사실 이 두 방식 모두 동일한 결과를 낳습니다. int number = numbers[i];로 값을 변수에 저장 후 출력할 필요 없이, 바로 System.out.println(numbers[i]);를 사용해도 문제없습니다. 이건 일반적인 프로그래밍 패턴에서 선택의 문제입니다.

  1. int number = numbers[i];

    • 코드 가독성을 높일 수 있습니다. 변수명을 활용하여 용도를 명확하게 할 수 있습니다.
    • 복잡한 계산이나 값 재사용이 필요한 경우, 변수에 값을 저장하는 것이 유리할 수 있습니다.
  2. System.out.println(numbers[i]);

    • 코드가 간결해지며, 사용하지 않는 변수를 줄일 수 있습니다.
    • 사용하는 코드 곳곳에서 변수를 만들지 않고 바로 활용합니다.

따라서, 아주 긴 배열이 아니라면 변수 저장 없이 바로 출력하는 방식이 전혀 문제가 없으니 필요한 경우에 따라 자유롭게 선택하시면 됩니다.

아래의 링크에서 유사한 주제의 질문을 찾아보실 수 있습니다:
- Java에서 배열 직접 출력

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

강민서님의 프로필 이미지
강민서

작성한 질문수

질문하기