최상의 답변
- 더하기를 수행하는 경우 반환 유형은 입니다. int .
- 사용자 이름을 반환하려면 반환 유형은 String 입니다.
- 일부 데이터가 포함 된 배열 목록을 반환하려면 배열 목록 이됩니다.
- 원하는 경우 연결 성공 여부는 부울 을 반환합니다.
예 1 :
// Return type int
public function int doSomething () {
int a = 5;
int b = 4;
int c = a * b;
return c; // type int //
}
예 2 :
// 반환 유형 문자열
공용 함수 String doSomething () {
String a = “First NAme”;
문자열 b = “마지막 이름”;
문자열 c = a + b; // 연결
return c; // type 문자열 // O / P => 이름 성
}
예 3 :
// 반환 유형 ArrayList
공용 함수 ArrayList
ArrayList
String a = “First NAme”;
String b = “LAST NAme”;
list.add (a);
list.add (b);
반환 목록; // type ArrayList // O / P => [First Name Last Name]
}
반환 유형 사용자 정의 클래스 객체라도 모든 유형이 될 수 있습니다. 예 : return objStudent; (반환 유형은 일부 클래스 Student이고 objStudent는 해당 클래스의 객체입니다.
Answer
답변 한 다른 사람들은 저보다 경험이 많지만 시도해 보겠습니다.
자바에는 기본 유형과 참조 유형 이라는 두 가지 유형의 변수와 메소드가 있습니다. 그러나 메소드에는 참조, 또는 void 의 반환 유형. 이들 중 하나를 포함하지 않으면 코드가 컴파일되지 않습니다.
[참고 : 여기서는 생성자에 대해 논의하지 않습니다. 개인적으로 생성자를 “특수 메서드”라고 부르는 것을 선호하지 않습니다. 일부 프로그래머는 메서드라는 용어를 사용하여 생성자를 포함합니다. “오해가 아니라면 생성자를”특수 메소드 “라고 부르는 Oracle Java 문서를 기억합니다.]
기본 유형
다음은 byte, short, int, long, float, double, char 및 boolean의 8 가지 대소 문자 구분 기본 유형입니다. [String 기본 유형이 아닙니다. 이것은 참조 유형입니다.] 메소드는 다음 코드 스 니핏에서와 같이 이들 중 하나를 반환하거나 아무것도 반환하지 않을 수 있습니다 (void).
balance = getAccountBalance();
/* Method getAccountBalance() below is going to subtract a fee of 1.50 before returning our balance. */
double getAccountBalance()
{
balance = balance - 1.50;
return balance;
}
/* The variable balance must have a type that matches double because the return type of method getAccountBalance() is double. Otherwise, we get a compile error. */
우리의 메서드는 값을 전혀 반환 할 필요가 없습니다. 형식을 반환하지 않는 메서드에는 void라는 형식이 있어야합니다. 메서드의 반환 유형으로 void를 포함하면 Java는 아무것도 반환되지 않을 것으로 예상합니다. 반환 (편집 : 5 월 27 일)을 포함하면 type 이 실패하게됩니다. 일부 프로그래머는 메서드의 반환 유형이 void 일 때 반환 문 “ return; “을 배치합니다.이 코드는이를 준수합니다.
여기 ” 반환 유형이 void 인 메서드의 예입니다. (그런데 public, private 및 protected 와 같은 단어를 액세스 수정 자라고합니다. 단순화를 위해 이러한 액세스 수정자를 의도적으로 생략했습니다.)
double balance = 275.00;
makeDeposit( 65.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
}
/* Notice we have no return type included in the method. */
다음 코드 컴파일되지 않습니다 .
double balance = 275.00;
makeDeposit( 200.00 );
void makeDeposit( double deposit )
{
balance = balance + deposit;
return balance;
}
/* The last line "return balance" causes the code to fail to compile because the program doesn"t know what to do with the return statement. Java is expecting a return type of void, nothing. The code is returning balance, a double type. */
참조 유형
참조 유형 은 다른 모든 유형입니다. ides void 및 8 개의 기본 유형. 이러한 유형은 객체입니다. 배열, Integer, BigInteger, String, ArrayList, List, Map
Let “s에서 참조 유형을 반환합니다. 아래 코드.참조 유형 (기본 유형이 아님)은 반환 값 null을 가질 수 있습니다.
int[] values = { -4, 16, -36, 0 };
values = sortArray( values );
int[] sortArray( int[] inputArray )
{
/* code to sort values */
return inputArray;
}
/* The program returns the sorted array. */
위 코드에서 inputArray라는 int []를 반환했습니다. inputArray의 유형은 sortArray () 메소드의 참조 유형과 일치합니다.
다음 코드에서 우리는 null 을 반환하도록 선택했습니다. 메서드가 String 유형을 예상했지만 참조 유형입니다. String 은 클래스 및 참조 유형이며 int, double 또는 boolean과 같은 기본 유형이 아닙니다.
/* We want to return the name only if it is short, 3 characters or fewer to be exact. */
String firstName = "Ahmad";
String shortName = getShortNames( firstName );
System.out.println("Short Name = " + shortName );
String getShortNames( String name )
{
if ( name.length() > 3 )
{
return null;
}
else
{
return name;
}
}
/* Output: null */
위 코드에서 이름의 길이가 3이면 getShortNames () 메소드는 이름의 값을 반환합니다. 그러나 우리의 경우 이름은 5 자이므로 null 값이 반환됩니다. 5 행은 null을 출력합니다.
앞서 언급했듯이 사용자 정의 클래스에서도 유형을 반환 할 수 있습니다. String, Integer, BigDecimal, Map
기억해야 할 주요 사항 :
- 메소드에 대한 세 가지 반환 유형; 기본 유형, 참조 유형 또는 void 중 하나를 사용해야합니다.
- 메소드에 대해 기본 및 참조 반환 유형을 사용할 때 반환 문이 메서드 코드 블록 (중괄호 {}) 내에 포함되어야합니다. 그렇지 않으면 컴파일 오류가 발생합니다.
- void를 메서드 반환 유형으로 사용할 때 메서드의 코드 블록에 반환 문을 포함 할 수 할 수 없습니다 . . 그렇지 않으면 코드가 컴파일되지 않습니다.
- 참조 반환 유형이있는 메서드는 정확한 참조 유형을 가진 변수를 반환하거나 null . 기본 반환 유형이 필요한 경우 Null을 반환 유형으로 사용할 수 없습니다. 물론 반환 유형이 void 인 메서드의 반환 유형으로 null을 사용할 수 없습니다.