Javaではパラメータはどのように渡されるのでしょうか?

王林
リリース: 2023-09-17 15:25:02
転載
950 人が閲覧しました

Javaではパラメータはどのように渡されるのでしょうか?

初心者プログラマからの最も一般的な質問は、Java でパラメータがどのように渡されるかということです。通常、プログラミング言語は値渡しと参照渡しを使用してパラメータをメソッドに渡します。ただし、Java はこれら 2 つのメソッドをサポートせず、代わりに値渡しを使用してプリミティブ型および参照型の値を渡します。この記事では、サンプル プログラムを通じてパラメーターを値で渡す方法を学びます。

Java のメソッドにパラメータを渡す

Java のストレージ メカニズムを理解することから議論を始めましょう。参照変数、メソッド、クラスの名前はスタックに保存され、それらの値はヒープに保存されます。ただし、プリミティブとその値はスタック メモリに直接保存されます。

前に述べたように、Java は基本型と参照型の値の受け渡しのみをサポートします。つまり、メソッドが呼び出されるときに、各パラメーター値のコピーがメソッドに渡されます。

int、double、Boolean などの基本型の場合、パラメーターの値は変数の元の値と同じです。たとえば、値が 10 の変数「x」があり、「x」を引数としてメソッドに渡すと、メソッドは元の値 10 のコピーを引数として受け取ります。

参照変数はスタックに格納されるため、配列、オブジェクト、文字列などの参照型の場合、パラメーターの値は指定された変数の参照またはアドレスになります。たとえば、要素 {1, 2, 3} を含む配列 'arr' があり、パラメーターとして 'arr' をメソッドに渡すと、メソッドは 'arr' のアドレスの参照またはコピーを受け取ります。パラメータ。

Java でのパラメータの受け渡しに関連するいくつかの用語について説明しましょう

ユーザー定義メソッド

メソッドは、単一の操作を実行するために複数回再利用できるコードのブロックです。これにより時間が節約され、コード サイズも削減されます。

###文法### リーリー ###ここ、###

accessSpecifier

- メソッドのアクセシビリティを設定するために使用されます。パブリック、プロテクト、デフォルト、プライベートのいずれかにすることができます。

nonAccessModifier - static や Final などのメソッドの追加機能または動作を示します。

return_Type - メソッドが返すデータ型。メソッドが何も返さない場合は、 void キーワードを使用します。

パラメータとパラメータ

Parameters

- メソッド定義中に渡され、パラメーターのプレースホルダーとして使用される名前付き変数です。実際にパラメータを指定されたメソッドにインポートします。これらによりメソッドを一般化することができます。ここでの一般化とは、必要に応じてさまざまなデータに対して単一のメソッドを再利用できることを意味します。

Parameters - メソッドが呼び出されたときに渡される実際の値です。これらは、メソッド定義で渡されるパラメーターの型と一致する必要があります。

値の受け渡し方法

この方法でパラメータを渡すと、パラメータ値のコピーが指定されたメソッドに渡されます。このメソッドはコピーを変更できますが、パラメータの元の値に影響を与えることはできません。

参照渡し

パラメータを渡すこの方法では、パラメータの参照またはアドレスが指定されたメソッドに渡されます。このメソッドは、パラメータの元の値を参照によって変更できます

Java プログラムはパラメータの受け渡しを表示します

###方法###

2 つのユーザー定義メソッドを定義します。元の型を変更するには「changeVal()」メソッドを使用し、参照型を変更するには「changeAray()」メソッドを使用します。

main() メソッドで、整数型の値と参照型の値を宣言して初期化します。
  • ここで、これらのユーザー定義メソッドを呼び出して操作を実行し、終了します
  • ###例### リーリー ###出力### リーリー

    出力でわかるように、プリミティブ型「val1」の場合、その値は「changeVal」メソッドを呼び出した後も変化しません。参照型「arr」の場合、「changeAray」メソッドを呼び出した後に値が変更されます。
  • ###結論は###
  • この記事では、ユーザー定義メソッドについて学び、例を通して Java でメソッド パラメーターを渡す方法について説明しました。参照型の値をパラメーターとして渡すことは、プリミティブ型の値と同じではありません。 Java は、非プリミティブ型への参照を渡して、その状態を変更することのみをサポートしており、その ID を変更することはできません。

以上がJavaではパラメータはどのように渡されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート