1.あなたはなぜな方法が必要なのですか
ゲームプログラムを想像し、プログラムが発射シェル(ゾンビ)を維持するために、実行されています。
アクションは、砲弾がコードの100行を記述する必要が解雇、あなたはそれぞれを達成するための場所で、この書き込みにコードの100行を繰り返す必要があるプログラムは非常に肥大化し、非常に貧しい可読性なりそうという、砲弾を発射しました。
焼成された砲弾コード書かれたコードの重複の問題を解決するために、{}内に抽出し、コードの名前は、例えば、
それぞれが発射場所ので砲弾は名前によって、このコードを呼び出すために砲弾を発射それは。上述したプロセス、抽出されたコードは、プログラムで定義された方法とみなすことができる
シェルのニーズが送信されるときにメソッドが呼び出されてもよいです。
2.方法は何ですか
特定の機能ブロックを達成するためにある
関数が定義されている多くの言語で、私たちJAVA言語、我々はメソッドを呼び出します。
3.定義されたメソッド
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){
方法体;
return 返回值;
}
細部
(1)改質剤:より、後に詳述します。現在、静的公開使用
(2)戻り値型:戻り値用に定義されたデータ型は、
(3)メソッド名:名前である、それは我々がメソッドを呼び出す便宜のために存在している
着信コールメソッドが定義されたとき:(4)パラメータ・タイプパラメータのデータ型
(5)パラメータ名:メソッドのパラメータときの着信コールを受ける変数であり
、その役割は、実際のパラメータを受信することで、実際にはこのパラメータは、専門的な用語を持っているが、正式なパラメータと呼ばれています。
( 6)手順:完了コード機能
(7)リターン:プロセスとタイプ指定された値のメソッドの戻り端部
(8)戻り値:呼び出し元に戻って、機能、リターンバックの結果であります
注意4の方法
:何呼出しは、メソッドません
Bが:方法と同じレベルの関係はない、ネストされた定義である
コンマメソッド定義された時間パラメータによって分離された:C
D:タイプのデータを送信しないメソッド呼び出し
E:メソッドを持つ場合明示的な戻り値は、戻り値を戻すようにしてください
案例 方法调用:根据键盘录入的数据输出对应的乘法表
public class print {
public static void main(String[] args) {
Multable(9);
}
public static void Multable(int a){
for(int x=1;x<a;x++){
for(int y=1;y<=x;y++){
System.out.print(x+"*"+y+"="+x*y+" ");
}
System.out.println();
}
}
}
5.メソッドのオーバーロード
- この方法は、オーバーロード
同じクラスで、本発明の方法にかかわらず、戻り値の、であれば、パラメータリストとは異なるように、同じ名前の複数のを可能にします。 - 異なるパラメータリスト:
A:異なるのパラメータの数
B:異なるパラメータを入力します
案例:求和案例 2个整数 3个整数 4个整数
public class print {
public static void main(String[] args) {
//下面是针对求和方法的调用
int sum1 = add(1,2);
int sum2 = add(1,2,3);
int sum3 = add(1,2,4,5);
//下面是打印求和的结果
System.out.println("sum1="+sum1);
System.out.println("sum2="+sum2);
System.out.println("sum3="+sum3);
}
//下面的方法实现了两个整数相加
public static int add(int x,int y) {
return x+y;
}
//下面的方法实现了三个整数相加
public static int add(int x,int y,int z) {
return x+y+z;
}
//下面的方法实现了四个整数相加
public static int add(int x,int y,int z,int h) {
return x+y+z+h;
}
}
6.再帰
callメソッド定義された現象そのもので
- 再帰的な予防策は
、それ以外の場合は、再帰的に死んでいる、エクスポートする必要があり
、数があまりにも多くのことができないそうでない場合は、メモリ・オーバーフロー
6.1再帰的問題解決のためのアイデアやイラスト
5!
6.2には、5を求めて!
ケースプレゼンテーション:
需要:階乗5
循环实现
public class print {
public static void main(String[] args) {
//定义最终结果变量
int jc = 1;
for (int x = 1; x <= 5; x++) {
jc = jc * x;
}
System.out.println("5的阶乘是:" + jc);
}
}
递归实现
public class print {
public static void main(String[] args) {
System.out.println(factorial(5));
}
public static int factorial(int n){
if(n==1){
return 1;
}
return n*factorial(n-1);
}
}