関数呼び出し
package hello;
import java.util.Scanner;
public class Main{
public static int fun(int n, int m) {
int sum = 0;
for(int i = n; i <= m ;i ++)
{
sum += i;
}
return sum;
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
System.out.println(fun(n, m));//调用
}
}
パラメータの受け渡し
渡されたパラメーターの型は一致する必要があります。
関数が呼び出し時に指定された型よりも広いパラメーター型を予期する場合、コンパイラーは型を適切に変換します;
char —> int —> double
package hello;
import java.util.Scanner;
public class Main{
public static int fun(double n, double m) {
int sum = 0;
for(int i = (int)n; i <= m ;i ++)
{
sum += i;
}
return sum;
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
fun(n, m);
System.out.println(fun(n, m));
}
}
関数への再帰呼び出し
package hello;
import java.util.Scanner;
public class Main{
public static int factor(int n) {
if(n == 1)
return 1;
return n * factor(n - 1);
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(factor(n));
}
}
関数が実行されるたびに、独立した変数スペースが生成されます。このスペース内の変数は、関数のこの実行に固有であり、ローカル変数と呼ばれます。
関数内で定義された変数はローカル変数です。
パラメーターもローカル変数です
。ローカル変数、変数の有効期間とスコープは中括弧です。
ローカル変数はデフォルトでは初期化されず、パラメーターは関数に入るときに初期化されます。