[나도코딩 자바 챕터6] 전환,반환값 같이 써보자 getPower(int number) 메소드,전환값,반환값
전달값과 반환값이 있는 메소드에 대해 더 알아보자.
앞선 게시물에서
1. 거듭제곱을 계산하는 메소드 2개를 만들었고
각각의 메소드 내에서 계산하여 출력을 했었다.
2. return 반환값 통해서 메소드 연산하고
반환값 받아서 메소드 내가 아닌 메인영역에서 갖다쓰는 걸 했었다.
이번엔 전달값과 반환값을 함께 사용해보도록 하겠다.
식은 거듭제곱만 하고, 식을 메인영역으로 출력해주는 작업을 하겠다.
먼저
2 * 2의 연산식을 메소드에 넣는 작업을 하겠다.
이번에도 public static 에 정수를 사용하니 int를 넣어 메소드를 만들어보겠다.
메소드 이름은 getPower, 괄호 속엔 int number
이제 식을 넣을건데
반환해주는 값을 넣으면 된다.
int result = number * number;
return result;
이 두줄을 한줄로 바꿔쓴다면
return number * number;로 쓸 수도 있다.
public static int getPower(int number) {
int result = number * number;
return result;
// return number * number;
이제 메인영역에서 메소드를 호출해주자.
getPower(2);
값은 2 * 2이니
4가 출력이 된다.
아차! getPower(2);만 써주면 출력이 안된다.
반환값을 받기 위한 변수를 한 번더 지정해주자.
retVal이라는 변수로 지정하겠다.
정수값이니
int예약어를 쓴다.
int retVal = getPower(2);
그리고
출력해보자.
// 전달값과 반환값이 있는 메소드
int retVal = getPower(2); // 2 * 2 = 4
System.out.println(retVal);
결과는 4가 잘 나온다.
.
.
.
.
.
이젠 3 * 3을 하고 싶다면
다시 변수 지정을 해주자.
retVal = getPower(3);
쓰고
retVal = getPower(3);
System.out.println(retVal); // 3 * 3 = 9
출력한다면
9가 나온다.
..
.
.
.
..
이제 지수를 이용한
2의 2승을 메소드에 넣는 작업을 하겠다.
지수 값을 전달받아 승 계산을 하는 연산식의 메소드를 만들어보자
getPowerByExp라는 메소드를 만들겠다.
public static int getPowerByExp(int number, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= number;
}
return result;
}
괄호 값에 int number, int exponent 를 넣고
result를 반환해주자.
int result = 1;
for문을 조건에 숫자와 숫자를 몇번 곱하는 연산식을 넣는다.
for (int i = 0; i < exponent; i++){
result *= number;
}
return result;
반환해주자.
그리고 출력해본다면
retVal = getPowerByExp(3, 3);
System.out.println(retVal); // 3 * 3 * 3 = 27
System.out.println(getPowerByExp(2,4)); // 2의 4승 16
거듭제곱,지수를 연산하는 메소드를 만들어보았다.