それは一部の人々を機能するようになるとして、Javaのを聞いてきますポイントであるものの機能の存在、それのは?
私はあなたが総括てみましょうJavaで存在するような機能の意味を:
1.主な解決策は、これらの反復の関数であり、コードセグメントは、個々の機能を有します
2.機能コードは再密封パッケージから独立したものになるかもしれ関数となります
メモリの最適化のために、主な機能が適切に分割し、メイン関数の符号量を減らすために再利用コードの冗長機能を低減する3非常に明確な利点
4.機能がモジュール化され
その存在の意味を持つ、我々は要約定義関数:
機能はまた、方法の関数として知られているクラスの特定の機能を有する別個のピースアプレットが定義されています。
どのような役割の機能を設定することは、それですか?、コード抽出のコードの再利用性を向上させるために。この部分は、別個の機能、再度カプセル化、または再度複数使用のためとして定義します。関数によって定義されたJavaの機能が実装されています。
他の方法と比較して、機能を設定する利点は何ですか?我々は、このようにメイン関数の符号量を減らす、および多重化機能が大幅にメモリの最適化のためのコードの冗長性を減らすことができ、以下の図は、コード関数が適切な解像度であってもよいがわかりました。
彼は加えました:
/*
* 函数的构成:修饰词 返回值 函数名(参数列表){//函数体
* 执行的代码
* return 返回值;
*
* }
*
* 修饰词:确定当前函数的使用范围,现在使用的是public,暂时不考虑
* 返回值类型:告诉别人当前函数返回值的类型,返回值可以没有,但是不能什么都不写,如果有返回值鞋型对应的类型,如果没有用void
* 函数名:是当前函数的名字,不能不写,命名规则:遵守小驼峰规则(可以由多个单词组成,除第一个单词外,其他每个单词首字母大写)
* 要求:尽量做到见名知意
* 参数列表:执行函数式传入函数的数据,可以有零个或多个,多个参数之间以,隔开,如果没有参数函数名后面的小括号不能省略
* 函数体:函数真正实现功能的地方
* 执行语句:实现的功能
* return:是一个动词,向函数外抛出返回值的意思,类型与返回值类型一致
* 注意:1.如果没有返回值,不用写return,如果有return后面只能返回一个值
* 2.还有结束的意思,return后面的代码不会执行
*/
概要:我々は関数を作成する場合、各関数は、関数の唯一の完了が必要です
ここでは、私たちはそれの機能を理解させるための簡単な例を持っています!
import java.util.Scanner;
// 求两个数的和?
//注意:
//1.函数的定义不能嵌套,函数的调用可以
//2.我们要想使用定义好的函数,必须通过调用实现
//3.函数调用的基本构成:函数名+()
//4.通常在面向过程语言中我们称为函数,在面向对象语言中我们称为方法
//函数的调用
class Test01{
public static void main(String[] args) {
int sum = qiuhe();
System.out.println(sum);
}
public static int qiuhe() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入a:");
int a = scanner.nextInt();// 输入a
System.out.println("请输入b:");
int b = scanner.nextInt();// 输入b
return a + b;
}
}
import java.util.Scanner;
/*
* 用函数求两个数的最大值
* 两个数最大值,使用三目运算符
*/
public class Test02{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入a:");
int a = scanner.nextInt();// 输入a
System.out.println("请输入b:");
int b = scanner.nextInt();// 输入b
int max = isMax(a, b);
System.out.println(max);
}
public static int isMax(int a, int b) {
int max = a > b ? a : b;
return max;
}
}
私はをご紹介しましょう分類機能:
- 戻り値のパラメータがあります。
- 戻り値のパラメータはありません
- 戻り値のパラメータありません
- パラメータなしなし戻り値
注意:
ノーリターン関数値のみ呼び出し、機能、操作、出力の割り当てに関与戻り値を持っています。
機能で見てみましょう質量参加:
パラメータ(仮パラメータ):関数を定義する際に、パラメータリストの間でデータは、パラメータが呼び出されています
引数(実パラメータ):関数を呼び出す際に、データ(定数、変数)に渡された関数は、引数と呼ばれています
引数は、パラメータに定数データの表面には渡されないが、定数プール内の定数アドレス(アドレス定数)は、パラメータに渡され、対象は、ヒープメモリに存在していますパラメータに送信されるアドレス。
それは関数であるので、その後、確かに変化があるだろう、私たちが作成した関数は、ローカル変数と呼ばれます。ローカル変数は、現在の機能で役割を果たしています。仮パラメータは、ローカル変数であるが、必ずしもそうではないローカル変数パラメータの形でなければなりません。
ここでは、基本的なプロセス・パラメータの受け渡しを見て、コードのシンプルな作品を使用します。
main(){
int a=4;
int b=4;
double c=pow(a,b);
}
pow(a,b){
...
return sum;
)
その他の機能は、実行が終了し、その後につながることであるリア主な機能、実行されるまでの機能は、他の関数を呼び出すとき、関数のスタックを。
Run関数は、スタックベースのメモリであり、
スタックJava言語は、知識ポイントで非常に重要である、スタックそれは何ですか?我々は、マガジンが順次上記弾丸からロードされ、その後、マガジンから上記弾丸下ためにチャンバに充填され、マガジンを例えスタックすることができる。そしてリターンに対応する機能が自然に放出された弾丸をつまり、我々は、関数が関数が値を返した後、その後、スタックメモリ機能をポップに実行されていることを言う - 飛び出ます。
ここでは、ポップさを理解するためにポップダイナミックなグラフィックを参照してください。
最後に、私たちは見てみましょうオーバーロード機能。
オーバーロードされた概念:
同じクラスで、限り、彼らができるパラメータまたはパラメータの種類の数が異なると、同じ名前の複数の関数を許可します。
ヘビーデューティ機能:
かかわらず、戻り値の型の、ちょうどパラメータのリストを見てください。
オーバーロードのメリット:
簡単に、最適化されたプログラミングを読むこと。
オーバーロードの例
//返回两个整数的和
int add(int x,int y){
return x+y;
}
//返回三个整数的和
int add(int x,int y,int z){
return x+y+z;
}
//返回两个小数的和
int add(double x,double y){
return x+y;
}