inflearn logo
강의

Course

Instructor

Java Basics by Nadokoding - Full Course (20 hours)

Parameter

전달값(Parameter) 강의에서 for문 이해가 필요합니다

436

youngsuone0454

9 asked

0

 안녕하세요 나도코딩님 새해복 많이받으세요!

전달값(Parameter) 강의 듣고있는데

public static void powerByExp(int number, int exponent) { // 전달값을 2개 받는경우

int result = 1;

for (int i = 0; i < exponent; i++) {

result = result * number;

}

System.out.println(number + " 의 " + exponent + " 승은 " + result);

powerByExp(3,3);  // 3 * 3 * 3 = 8

여기서 for문의 사용법이 이해가 안가는데

result = result * number;

3의 3승을 한다고했을때

3 * 1, 3 * 3, 9 * 3는 이렇게 3번 계산하는거잖아요?

그러면 이걸 출력한다고하면

System.out.println(number + " 의 " + exponent + " 승은 " + result); 
result는 27이 나오는데 

마지막 9 * 3 만 result라고 해석하는건가요?

3*1, 3*3 은 왜 result 라고 해석을 안하는건가요?

매소드 너무 어렵습니다.. ㅠㅠ

 

 

oop java

Answer 3

2

nadocoding

안녕하세요?
반복문에 진입하기 전에 result 변수는 먼저 1로 초기화가 되어 있습니다. 그리고 반복문을 돌면서 3을 곱하는 작업을 3번 하면서 각 결과를 result 에 집어넣게 되지요. 그런 다음에 마지막으로 result 값을 출력하게 됩니다.
즉 result = result * 3 이라는 연산을 할 때,
반복문 1회차 = 1 x 3 = 3 (result 변수에 저장됨)
반복문 2회차 = 3 x 3 = 9 (result 변수에 저장됨)
반복문 3회차 = 9 x 3 = 27 (result 변수에 저장됨)
와 같이 동작하므로 최종적으로 result 변수에 저장된 27 이라는 값이 println 을 통해서 출력되는 것입니다.
이해가 되셨을까요? ^^ 여전히 헷갈리신다면 다시 질문 남겨주세요!
감사합니다.
새해 복 많이 받으세요 :)

0

psh

?

3 * 3 * 3 = 27아닌가?

powerByExp(3,3); // 3  3  3 = 8

0

youngsuone0454

아..이해됬습니다 감사합니다!!

자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?

0

132

2

static이 뭐였는지 기억이 안나요 ㅜㅜ

0

110

2

Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의

0

69

1

사고력 키우는 법이 어떤게 있나요?

0

87

2

getter setter

0

100

2

섹션9. 66 메소드 오버로딩 시 질문이 있습니다.

0

77

1

안녕하세요 갑자기 프로그램 에러가 떠서 안되네요

0

75

2

변수 이름짓는법

0

114

2

intelli J 실행오류

0

114

2

혹시 이건 수학적 사고가 부족한 걸까요?

0

152

2

영상이 재생이 안됩니다.

0

163

3

이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.

0

114

2

응용이 어렵습니다.

0

203

2

IntelliJ가 보이지 않습니다.

0

182

3

JDK 버전 문의

0

128

2

BlackBox 파일 내에서 메소드 정의

0

135

1

동기화

0

120

2

Iterator 문의

0

101

1

코드 순서 문의

0

139

1

클래스 메소드

0

146

2

Quiz_05 관련 질문드립니다 !

0

114

2

다운로드가 안됩니다

0

162

2

다형성

0

115

2

HashMap

0

75

2