inflearn logo
강의

Course

Instructor

Kim Young-han's Java Tutorial - Your First Step into Java with Code

Enhanced for loop

배열 for문 할때 질문입니다

142

kmsdkyb3502

2 asked

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라는 변수에 항상 담아두게 코드를 짜야하는건지 궁금합니다.

 

java 객체지향

Answer 2

0

yukamikuzzzang3217

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

0

communityai8509

안녕하세요, 인프런 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에서 배열 직접 출력

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

문제와 풀이4 문제점

0

41

2

문제풀이 시간마다 방향성

0

39

2

피라미드 문제 풀이

0

71

1

ScannerWhile3 예제 코드 질문

0

55

1

짝수 출력 문제 질문

0

50

1

Array 연습 문제 5번 질문입니다.

0

84

2

단축어가 이상하게 나옵니다

0

128

2

Sql강의

0

90

1

array 문제풀이 2번 질문입니다.

0

55

1

JAVA입문 / 메서드편 문제와 풀이2

0

47

1

인텔리제이 무료버젼이 통합되었다는데 30일 무료버전이면 어떻게 사용하나요

1

800

3

OperationEx3에서 꼭 boolean을 써야 하나요?

0

59

1

for, while문 작성

0

65

1

68강 ArrayEx6 클래스 질문

0

60

1

IO.println(String.format("Hello and welcome!"));

0

149

2

소스코드 실행이 안돼요

0

119

2

메서드 문제와 풀이2에서 마지막 문제 이렇게 풀어도 괜찮은 건가요..?

0

79

1

While과 for 스코프 질문

0

63

1

김영한 java 입문 설치 질문

0

137

2

버퍼문제?

0

54

1

for문 피라미드 찍는거 질문

0

78

1

21버전이 없고, 강의 메뉴얼 확인해보면 된다는 김영한 선생님 답변 확인했습니다.

0

373

1

3번 문제 질문 있습니다.

0

99

2

sout에는 변수가 하나만 들어가야 하나요?

0

134

1