ベストアンサー
- 加算を行う場合、戻り値の型はになります。 int 。
- ユーザーの名前を返したい場合、戻り値の型は文字列になります。
- データを含む配列のリストを返したい場合は、配列リストになります。
- 必要な場合接続が成功したかどうかを返し、ブール値。
例1:
//戻り値の型int
public function int doSomething(){
int a = 5;
int b = 4;
int c = a * b;
return c; // int //
}
と入力します例2:
//戻り値の型String
public function String doSomething(){
String a =“ First NAme”;
文字列b =“最後の名前”;
文字列c = a + b; //連結
return c; // 文字列 // O / P =>名姓
}
例3:
//戻り型ArrayList
public function ArrayList
ArrayList
String a =“ First NAme”;
String b =“ LAST NAme”;
list.add(a);
list.add(b);
リターンリスト; //タイプ ArrayList // O / P => [名姓]
}
戻り値の型ユーザー定義のクラスオブジェクトであっても、任意のタイプにすることができます。例:objStudentを返す; (戻り値の型がクラスStudentであり、objStudentがそのクラスのオブジェクトである場合。
回答
「回答した他の人は私より経験豊富ですが、試してみます」質問に答えるために。
Javaには2つのタイプの変数とメソッドがあります— プリミティブ型と参照型。ただし、メソッドには参照のプリミティブの戻り値の型、またはvoid 。これらのいずれかを含めないと、コードはコンパイルされません。
[注:ここではコンストラクターについては説明していません。個人的には、コンストラクターを「特別なメソッド」と呼ぶことを好みません。一部のプログラマーは、メソッドという用語をコンストラクターを含めます。私が間違っていない場合は、コンストラクターを「特別なメソッド」と呼んでいるOracleJavaのドキュメントを思い出します。]
プリミティブ型
これが8つの大文字と小文字を区別するプリミティブ型です:byte、short、int、long、float、double、char、boolean。[Stringプリミティブ型ではありません。 it “sa reference type。]メソッドは、次のコードsnipitのように、これらの1つを返すか、これらのいずれも返さない(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ステートメント「 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. */
次のコードメソッドの戻り値の型がvoidのreturnステートメントがあるため、コンパイルされません。
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. */
参照タイプ
参照型は他のすべての型ですidesvoidと8つのプリミティブ型。これらの型はオブジェクトです。arrays、Integer、BigInteger、String、ArrayList、List、Map
で参照型を返します。以下のコード。参照型(プリミティブ型ではない)は、戻り値 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型を予期していたとしても、参照型。 文字列はクラスであり、参照型であり、int、double、booleanなどのプリミティブ型ではないことを思い出してください。
/* We want to return the name only if it is short, 3 characters or fewer to be exact. */
String firstName = "Ahmad";
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
覚えておくべき主なポイント:
- メソッドの3つの戻り値の型。プリミティブ型、参照型、またはvoidのいずれかを使用する必要があります
- メソッドにプリミティブおよび参照の戻り値の型を使用する場合、returnステートメントをメソッドコードブロック(中括弧{})に含める必要があります。それ以外の場合は、コンパイルエラーが発生する可能性があります。
- メソッドの戻り値の型としてvoidを使用する場合、returnステートメントをメソッドのコードブロックに含めることはできません 。そうしないと、コードはコンパイルされません。
- 参照の戻り値の型を持つメソッドには、正確な参照型の変数を返すか、 null 。プリミティブな戻り値の型が必要な場合、nullを戻り値の型として使用することはできません。もちろん、メソッドの戻り値の型がvoidであるため、nullを使用することはできません。