在jdk1.5之後,如果我們定義乙個方法時,此時某個形參的型別可以確定,但是形參的個數不確定,那麼我們可以使用可變引數。
格式:
修飾符 返回值型別 方法名(【非可變引數部分的形參列表,】引數型別... 形參名)要求:
(1)乙個方法只能有乙個可變引數
(2)可變引數必須是形參列表的最後乙個
(3)其實這個書寫「等價於」
修飾符 返回值型別 方法名(【非可變引數部分的形參列表,】引數型別 形參名)只是後面這種定義,在呼叫時必須傳遞陣列,而前者更靈活,既可以傳遞陣列,又可以直接傳遞陣列的元素,其實編譯成的class檔案,將這些元素先封裝到乙個陣列中,在進行傳遞。這些動作都在編譯.class檔案時,自動完成了。
好處:同樣是代表陣列,但是在呼叫這個帶有可變引數的方法時,不用建立陣列(這就是簡單之處),直接將陣列中的元素作為實際引數進行傳遞,其實編譯成的class檔案,將這些元素先封裝到乙個陣列中,在進行傳遞。這些動作都在編譯.class檔案時,自動完成了。
**演示:
public class changeargs ;
int sum1 = c.getsum1(arr);
system.out.println(sum1);
int sum2 = c.getsum2(arr);
system.out.println(sum2);
int sum3 = c.getsum2(1, 4, 62, 431, 2);
system.out.println(sum3); }}
class count
return sum;
} // 可變引數寫法
public int getsum2(int... arr)
return sum;
}}
方法過載練習一:比較兩個資料是否相等
比較兩個資料是否相等。引數型別分別為兩個byte
型別,兩個short
型別,兩個int
型別,兩個long
型別,並在main
方法中進行測試。
public class method_demo6
}class count
// 兩個short型別的
public boolean compare(short a, short b)
// 兩個int型別的
public boolean compare(int a, int b)
// 兩個long型別的
public boolean compare(long a, long b)
}
注意事項:
語法案例演示一:計算1-100之間所有自然數的和
練習1:求n!
練習2:計算斐波那契數列(fibonacci)的第n個值
規律:乙個數等於前兩個數之和,
陣列是用來儲存一組資料的容器,一組基本資料型別的資料可以用數組裝,那麼一組物件也可以使用陣列來裝。
即陣列的元素可以是基本資料型別,也可以是引用資料型別。當元素是引用資料型別是,我們稱為物件陣列。
注意:物件陣列,首先要建立陣列物件本身,即確定陣列的長度,然後再建立每乙個元素物件,如果不建立,陣列的元素的預設值就是null,所以很容易出現空指標異常nullpointerexception。
class mydate
class test{
public static void main(string args){
mydate arr = new mydate[3];//建立陣列物件本身,指定陣列的長度
for(int i=0; i
第六章 物件導向的程式設計
ecmascipt有兩種屬性 資料屬性和訪問屬性。資料屬性 資料屬性有四個特性 configurable 表示能否通過delete刪除屬性從而重新定義屬性 enumerable 表示能否通過for in迴圈返回屬性 writeable 表示能否修改屬性的值 value 屬性的值 要修改屬性預設的特性...
java筆記第六章之物件導向
第六章 物件導向 物件 什麼是物件 一切客觀 不一定看的見摸的著 存在的事物都是物件,物件的組成部分 1,屬性 2,方法 物件的屬性可以又是乙個物件 計算機中的物件 一塊連續的儲存空間 類是什麼 1.類是大量物件共性的抽象 2,類是客觀事物在人腦中的主觀反映 3,類是建立物件的模板 類是主觀存在,物...
mysql第六章 第六章 mysql日誌
第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...