백엔드/나도코딩 자바

[나도코딩 자바 챕터6] 전환,반환값 같이 써보자 getPower(int number) 메소드,전환값,반환값

응개야 2023. 8. 30. 12:55

전달값과 반환값이 있는 메소드에 대해 더 알아보자.

앞선 게시물에서

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

 

 

거듭제곱,지수를 연산하는 메소드를 만들어보았다.