Java學習筆記之函數和參數
函數是什麼?
是一塊代碼,接受零個或是多個參數,做一件事,並返回零個或一個值
函數定義
public static void sum(int a ,int b)//函數頭
{
int i; /
int sum;
sum = 0;
for(i = a;i<=b;i++)
{
sum +=i;
}
System.out.println(a+"到"+b+"的和是"+sum);/函數體
} 調用函數
函數名(參數值)
()起到了表示函數調用的重要性
即使沒有參數也需要()
public static void f()
{
System.out.println("f()");
} 如果有參數,則需要給出正確的數量和順序
這些值會被按照順序依次用來初始化函數中的參數
public static void main(String[] args) {
// TODO 自動生成的方法存根
f();
sum(1,10);
sum(20,30);
sum(35,45);
} 函數返回值
return:停止函數的執行,並且返回一個值
1. return;
2. return 表達式;
public static int max(int a ,int b )
{
int ret;
if(a>b)
{
ret=a;
}
else
{
ret=b;
}
return ret;
} 函數調用
如果函數有參數,調用函數時必須傳遞給它數量、類型正確的值
可以傳遞給函數的值是表達式的結果,包括:
字面值
變量
函數返回值
計算的結果
public static void main(String[] args) {
// TODO 自動生成的方法存根
f();
sum(1,10);
sum(20,30);
sum(35,45);
int a = 5;
int b = 6;
int c;
c = max(10,12);
c = max(a,b);
c = max(a,23);
c = max(c,23);
c = max(max(c,a),max(5,b));
} 類型不匹配
當函數期望的參數類型比調用函數時給的值的類型寬的時候,編譯器能悄悄替你把類型轉換好
char-->int-->double
public static int max(double a ,int b )//參數
{
int ret;
if(a>b)
{
ret=(int)a;
}
} public static void main(String[] args) {
int a = 5;
int b = 6;
int c;
c = max(10,12);
c = max(a,b);
}
傳值
每個函數每一次運行有自己的變量空間,參數也位於這個獨立的空間中,和其他函數沒有關係
public static int max(double a ,int b )//參數
c = max(10,12);
c = max(a,b);//值
變量的生存期和作用域
生存期:什麼時候這個變量開始出現。到什麼時候消亡
作用域:在(代碼的)什麼範圍內可以訪問這個變量
大括號內
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.