배열 for문 할때 질문입니다
142
2 asked
=========================================
[질문 템플릿]
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라는 변수에 항상 담아두게 코드를 짜야하는건지 궁금합니다.
Answer 2
0
향상된 for문에서 얻어낸 출력값과 일반 for문에서 값을 얻어내기까지의 코드차이(길이 비교 등)를 비교하기 위해 이와 같은 방식으로 코드를 썼을 것이라 추측합니다. 단순히 해당 배열의 값을 출력하는 용도로는 큰 차이가 없습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 강민서님 😊
질문해주신 내용을 보면 배열에서 값을 출력할 때, int number = numbers[i];와 System.out.println(numbers[i]);의 방식이 궁금하신 것 같습니다. 두 경우 모두 동일한 결과를 출력하지만, 어떤 방식이 더 적절한지에 대해 고민하시는 것 같은데요.
사실 이 두 방식 모두 동일한 결과를 낳습니다. int number = numbers[i];로 값을 변수에 저장 후 출력할 필요 없이, 바로 System.out.println(numbers[i]);를 사용해도 문제없습니다. 이건 일반적인 프로그래밍 패턴에서 선택의 문제입니다.
int number = numbers[i];- 코드 가독성을 높일 수 있습니다. 변수명을 활용하여 용도를 명확하게 할 수 있습니다.
- 복잡한 계산이나 값 재사용이 필요한 경우, 변수에 값을 저장하는 것이 유리할 수 있습니다.
- 코드 가독성을 높일 수 있습니다. 변수명을 활용하여 용도를 명확하게 할 수 있습니다.
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

