Javaメソッド
System.out.println();
- println()メソッドであります
- システムは、システムクラスであります
- アウトは、標準出力オブジェクトであります
- この方法は何ですか
- メソッドの定義
- メソッド呼び出し
- 無効キーワード
- によって渡されたパラメータ値
- メソッドのオーバーロード
- 変数のスコープ
- コマンドライン引数を使用します
- コンストラクタ
- 可変パラメータ
- ファイナライズ()メソッド
この方法は何ですか
収集ステートメントのJava実装、一緒に機能を実行します
- 問題のクラスを解決するためのステップの組み合わせを命じました
- これは、クラスやオブジェクトに含ま
- プログラムで作成された、他の場所で引用されました
利点
1.プログラムの簡単かつ明確にする
メンテナンスプログラムへ2.助長
あなたがプログラムの開発効率向上させることができます。3.
4.増加コード再利用の
方法の命名
、最初の単語は、2番目の単語から始まり、小文字で始まる1.各単語を最初の大文字
の名前を分割するための2アンダースコアロジックコンポーネントJUnitのテストメソッドが表示される場合があります
メソッドの定義
構文:
//修饰符 返回值类型 方法名 (参数类型 参数名){
执行的方法体
//如果有返回值
return 返回值;
}
- 修飾子:オプション、このメソッドを呼び出す方法をコンパイラに伝える、アクセスのどのタイプの定義
- 戻り値型:戻り値があるかもしれない、retrunValueType二乗法は、データ型を後悔しています。この場合、キーワードのボイドですべての操作を実行するためのいくつかの方法が、戻り値のありません、。
- メソッドの実際の名前:メソッド名
- パラメータタイプ:プレースホルダのようなパラメータ
- 手順:特定の文を含んは、メソッドの関数を定義します
たとえば、次のようにpublic static int age(int day){....}
パラメータが多くを持つことができます
static float interest(float principal,int year){....}
注:他の言語の中国の法的手続きや関数で。方法の非ボイド戻り型は、関数と呼ばれ、方法の空隙戻り型は、リターンと呼ばれます。
例
/** 返回两个整型变量数据的较大值 */
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
メソッド呼び出し
Javaは、メソッドを呼び出す方法を選択するための値を返すかどうかに応じて二つの方法をサポートしています。
プログラムは、メソッドを呼び出すと、メソッドを制御するためのプログラムが呼び出されます。ときに呼び出されるメソッドのreturn文は、プログラムに括弧戻し制御を閉じるときに体に到達するために実行したりする方法です。
方法は、値を返す場合、メソッド呼び出しは、通常の値として扱われます。例:
int larger = max(30,40);
メソッドの戻り値がvoidの場合、メソッド呼び出しがステートメントでなければなりません
System.out.print("helloworld!");
例
パブリック クラスTestMax { / ** マスターメソッド* / パブリック 静的 ボイドメイン(文字列[]引数){ int型 I = 5。 、 INT J = 2 ; INT K = MAX(I、J) のSystem.out.println(I + "および" + J + "比較、最大値は" + K); } / ** 戻り二つの整数大きい変数の値* / パブリック 静的 int型の最大値(INT NUM1、INT NUM2){ int型の結果、 IF( NUM1> num2の) 結果 =NUM1; 他の 結果 = num2の。 戻り値の結果; } }
プログラムは、メイン方法とmaxの方法を含みます。主な方法はまた、主および他の方法ない差で、JVM呼び出されます。
ヘッドmainメソッドは、パブリックと静的改質剤と、示さ例えばようなパラメータ、同じタイプであり、ボイド復帰型の値、[]の文字列で加えて、メインメソッドの名前です。文字列は、[]パラメータは文字列の配列であることを示しています。
無効キーワード
示例 パブリック クラスTestVoidMethod { 公共 静的 ボイドメイン(文字列[]引数){ printGrade( 78.5 )。 } パブリック 静的 ボイド printGrade(ダブルスコア){ 場合(スコア> = 90.0 ){ System.out.printlnは( 'A' )。 } そう であれば(スコア> = 80.0 ){ System.out.printlnは( 'B' )。 } そう であれば(スコア> = 70.0 ){ System.out.printlnは( 'C' )。 } そう であれば(スコア> = 60.0 ){ System.out.printlnは( 'D' )。 } 他{ System.out.printlnは( 'F' )。 } } }
によって渡されたパラメータ値
あなたはパラメータを提供する必要があるとき、あなたは順番に指定されたパラメータのリストを提供しなければならないメソッドを呼び出します。
例
public static void nPrintln(String message, int n) {
for (int i = 0; i < n; i++) {
System.out.println(message);
}
}
実施例:二つの変数の値が交換 パブリック クラスTestPassByValue { / ** 2つの変数を切り替える方法* / パブリック 静的 ボイドスワップ(INT N1、INT N2){ するSystem.out.println(「スワップ方法に\ Tを」)。 System.out.println( "\ T \ T交換値N1前:" + N1 + "N2の値:" + N2); // n1とn2の交換値 INTの TEMP = N1、 N1 = N2。 N2 = TEMP; System.out.printlnは( "\ T \ T交換価値N1後に" + N1 + "N2値:" + N2); } 公共の 静的な 無効メイン(文字列[]引数){ int型。NUM1 = 1 ; INT NUM2 = 2 ; のSystem.out.println( "交換前NUM1値:" + NUM1 + "値NUM2:" + NUM2); //の方法スワップ呼び出し スワップ(NUM1、NUM2を) するSystem.out.println( "交換後NUM1値:" + NUM1 +」、値NUM2 :「+ NUM2); } }
メソッドのオーバーロード
マックス方法はint型に適用される上記使用しました。あなたは2つの浮動小数点データの最大値を取得したい場合でも、それをタイプ?
次のコードに示すように、別の解決策は、同じ名前が、方法の異なるパラメータを作成することです。
public static double max(double num1, double num2) {
if (num1 > num2)
return num1;
else
return num2;
}
あなたは最大メソッドの呼び出しを転送する場合は、最大メソッドは、引数が呼び出されるintで、int型のパラメータであり、
あなたは二重の引数を渡す場合は、double型の最大の方法である経験と呼ばれ、これは、メソッドのオーバーロードと呼ばれている。
つまり、彼はクラスの2つの方法が同じ名前を持っていますが、異なるパラメータリストで言いました。
Javaコンパイラと呼ばれるべき方法を決定するためにメソッドシグネチャに従って。
メソッドのオーバーロードは、プログラムを読みやすくすることができます。実行の方法は、密接に関連するタスクが同じ名前を使用する必要があります。
オーバーロードされたメソッドは、異なるパラメータリストを持っている必要があります。あなたは、単に修飾またはオーバーロードされたメソッドの戻り値の異なるタイプに基づいてすることはできません。
変数のスコープ
範囲変数は、プログラムの可変部分を参照することが可能です。
この方法で定義された変数はローカル変数として知られています。
それを含むブロックの終わりまで開始からローカル変数宣言のスコープ。
彼らは使用することができます前に、ローカル変数は、宣言されなければなりません。
パラメータの方法の全範囲をカバーする方法。パラメータは実際にはローカル変数です。
変数宣言のためのループ初期化部分、その範囲の全サイクル。
あなたは、同じ名前のローカル変数の異なる非複数のネストされたブロックの宣言方法かもしれないが、あなたは、2つのローカル変数宣言ブロックの巣はできません。
コマンドライン引数を使用します
時には、あなたはそれが、メッセージを渡されたときにプログラムを実行したいです。それは達成するためにmain()関数にコマンドライン引数を渡すことに依存します。
コマンドライン引数は、ときに、プログラム名の後ろのプログラムの実施に関する情報が続いています。
例
public class CommandLine {
public static void main(String args[]){
for(int i=0; i<args.length; i++){
System.out.println("args[" + i + "]: " + args[i]);
}
}
}
コンストラクタ
メソッドは、オブジェクトのコンストラクタを初期化するために使用されたときにオブジェクトが作成されたとき。クラスの名前の建設の方法と、それは同じですが、戻り値のないコンストラクタ。
典型的には、クラスインスタンス変数の初期値のコンストラクタを使用して、または完全なオブジェクトを作成するために必要な他の手順を行います。
Javaは自動的にデフォルトコンストラクタ、デフォルトコンストラクタと同じアクセス修飾子とクラスのアクセス修飾子(クラスのパブリックを提供するだけでなく、公共のコンストラクタのため、あなたのカスタムコンストラクタかどうか、全てのクラスは、コンストラクタを持っています;クラスのプライベートに、プライベートに変更コンストラクタ)。
あなたがあなた自身のコンストラクタを定義すると、デフォルトコンストラクタは失敗します。
例
// 一个简单的构造函数
class MyClass {
int x;
// 以下是构造函数
MyClass() {
x = 10;
}
}
オブジェクトを初期化するコンストラクタを呼び出します
public class ConsDemo {
public static void main(String args[]) {
MyClass t1 = new MyClass();
MyClass t2 = new MyClass();
System.out.println(t1.x + " " + t2.x);
}
}
可変パラメータ
JDK 1.5、メソッドに変数パラメータの同じタイプを渡すJavaサポートを開始します。
次のように可変パラメータ法の声明では、次のとおりです。
typeName... parameterName
例
public class VarargsDemo {
public static void main(String args[]) {
// 调用可变参数的方法
printMax(34, 3, 3, 2, 56.5);
printMax(new double[]{1, 2, 3});
}
public static void printMax( double... numbers) {
if (numbers.length == 0) {
System.out.println("No argument passed");
return;
}
double result = numbers[0];
for (int i = 1; i < numbers.length; i++){
if (numbers[i] > result) {
result = numbers[i];
}
}
System.out.println("The max value is " + result);
}
}
ファイナライズ()メソッド
Javaは、)この方法は、(ファイナライズと呼ばれる、オブジェクトデストラクタガベージコレクタ(リサイクル)の前に呼び出され、そのような方法の定義を可能にする回復されたオブジェクトをクリアするために使用されます。
たとえば、対象開いたファイルが閉じられたことを確認するために、ファイナライズを()を使用することができます。
ファイナライズ()メソッドでは、オブジェクトが破棄されたときに実行する操作を指定する必要があります。
ファイナライズは、()一般的なフォーマットです。
protected void finalize()
{
// 在这里终结代码
}
キーワードは、ファイナライズ()メソッドは、クラス外部のコードと呼ばれないことを保証し、修飾子で保護されています。
もちろん、Javaのガベージコレクションは、JVMによって自動的に行うことができます。あなたはマニュアルを使用する場合は、上記の方法を使用することができます。
例
public class FinalizationDemo {
public static void main(String[] args) {
Cake c1 = new Cake(1);
Cake c2 = new Cake(2);
Cake c3 = new Cake(3);
c2 = c3 = null;
System.gc(); //调用Java垃圾收集器
}
}
class Cake extends Object {
private int id;
public Cake(int id) {
this.id = id;
System.out.println("Cake Object " + id + "is created");
}
protected void finalize() throws java.lang.Throwable {
super.finalize();
System.out.println("Cake Object " + id + "is disposed");
}
}