방법의 결과

All lectures for KO purposes
레벨 1, 레슨 533
사용 가능

Codegym University 과정의 일부로 멘토와 함께하는 강의 스니펫. 전체 과정에 등록하십시오.


"또 왔군, 아미고. 그럼 안녕."

"저를 만나서 그다지 반갑지 않으신 것 같군요, 디에고?"

"나는 당신이 Java의 메소드에 대해 알아야 할 모든 것을 이미 배웠다고 생각한다는 인상을 받았습니다."

"아, 안해요..."

"그렇게 생각하지 않아요! 절반도 모르잖아요."

"물론이지, 난 섭섭하지 않아...

"알았어, 충분한 이야기. 이제 시작할 시간이다. 간단한 것부터 시작하겠다. 예를 들어 Java에는 return 문이 있다는 사실이 있다. 이 문을 사용하면 호출되는 메서드를 즉시 종료할 수 있다. 다음은 문이다.

return;

"간단합니다. 한 단어 return다음에 세미콜론이 옵니다. 프로그램이 이 명령문을 실행하자마자 현재 메서드가 종료되고 호출 메서드가 계속됩니다.

" 메서드 return에서 호출되면 메서드가 즉시 종료되고 전체 프로그램이 함께 종료됩니다.mainmain

예:

class Solution
{
   public static void fill(int[] data, int from, int to, int value)
   {
     if (from < 0 || to > data.length)
       return;

     for (int i = from; i < to; i++)
     {
       data[i] = value;
     }
   }

   public static void main(String[] args)    {      int[] months = {1, 2, 3, 4, 5, 6, 7, 8 ,9, 10, 11, 12};     fill(months, 2, 10, 8);    } }
이 fill 메서드는 전달된 배열의 일부를 value.

채울 배열 부분은 인덱스 from 및 로 정의됩니다 to.

가   배열 길이 from 보다 작 0거나 크면 메서드가 즉시 종료됩니다.to

"위의 프로그램에는 전달 fill된 배열 value을 from.to

"메소드 시작 시 fill전달된 값이 유효한지 확인합니다. from0보다 작거나 to배열 길이보다 크면 메서드가 fill즉시 종료됩니다( return문 실행)."

"알았어. 이 문장이 그게 다야?"

"사실 이 return문장은 당신이 생각하는 것보다 더 유용합니다. Java의 거의 모든 메서드에서 찾을 수 있을 정도로 매우 유용합니다. 이제 이것이 왜 그런지 이해하도록 안내하겠습니다.

결과가 있는 방법,void

"당신은 아마도 진술이 있고 표현이 있다는 것을 기억할 것입니다 . 그것들의 차이점은 무엇입니까?"

"내가 틀리지 않는다면, 표현은 진술과 달리 어딘가에 사용될 수 있는 의미를 가지고 있습니다."

"정답입니다. 그리고 Java에서 메소드는 값 도 가질 수 있습니다. 그리고 이것은 매우 좋은 소식입니다. 메소드는 입력 매개변수를 기반으로 무언가를 수행할 수 있을 뿐만 아니라 예를 들어 무언가를 평가하고 결과를 반환할 수 있습니다. 계산 .

"그런데 이미 다음과 같은 방법을 접했습니다.

double delta = Math.abs(d1 - d2);
메서드 abs()는 double을 반환합니다.
Scanner console = new Scanner(System.in);
int x = console.nextInt();

메서드 nextInt()는int
String str = "Hello";
String s2 = str.toUpperCase();
메서드 toUpperCase()는String
int[] data = {1, 4, 5, 6, 7, 8, 11};
int[] array = Arrays.copyOf(data, 4);

메서드 copyOf()는int[]

"각 메서드는 미리 결정된 유형 중 하나의 값만 반환할 수 있습니다 . 반환 유형은 메서드가 선언될 때 결정됩니다.

public static Type name(parameters)
{
  method body
}

여기서 name는 메서드 이름, parameters는 메서드 매개변수 목록, 는 type메서드가 반환하는 결과의 유형입니다.

아무것도 반환하지 않는 메서드의 경우 특별한 자리 표시자 유형이 있습니다: void.

"즉, 내 메서드를 작성하고 아무 것도 반환하지 않으려면 메서드의 유형을 로 선언합니다 void. 그게 다인가요?"

"네. 그리고 Java에는 그런 메서드가 상당히 많다고도 말해야겠네요.

결과 반환

"계산/작업 결과를 반환하는 메서드를 선언하는 방법을 알아냈습니다. 메서드 자체에서 결과를 반환하려면 어떻게 해야 하나요?"

"그건 타당한 질문입니다. 이 return문장은 여기서 다시 한 번 우리를 도와줍니다. 메서드에서 결과를 전달하는 것은 다음과 같습니다.

return value;

" return문은 메서드를 즉시 종료합니다. 그리고 value메서드가 종료될 때 호출 메서드로 반환해야 하는 것입니다. 의 유형은 메서드 선언에 지정된 value것과 일치해야 합니다 Type. 다음은 학습한 내용을 강화하는 몇 가지 예입니다.

예 1. 메서드는 두 숫자의 최소값을 계산합니다.

int min(int a, int b)
{
   if (a < b)
     return a;
   else
     return b;
}
이 메서드는 두 숫자 중 최소값을 반환합니다. 반환하는

경우 그렇지 않은 경우 반환a < b
a

b

예 2. 메서드는 전달된 문자열을 여러 n번 복제합니다.

String multiple(String str, int times)
{
   String result = "";

   for (int i = 0; i < times; i++);
     result = result + " "+ str;
   return result;
}
이 메서드는 문자열과 문자열이 반복되어야 하는 횟수라는 두 가지 매개 변수를 사용합니다.
향후 결과를 위해 빈 문자열이 생성됩니다.

반복이 있는 루프에서 times공백과 문자열이 str문자열에 추가됩니다 result. 메서드의 결과로
문자열이 반환됩니다.result

예 3: 메서드는 삼항 연산자를 사용하여 두 숫자의 최대값을 계산합니다.

int max(int a, int b)
{
   return (a > b ? a : b);
}
이 메서드는 최대 2개의 숫자를 반환합니다.

반환( if a > b, then a, 그렇지 않으면 b)

"훌륭합니다. 방법은 저의 새로운 초능력입니다!"

"실제 작업에서 충분히 연습하는 경우에만. 계속해서."

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION