首先是陣列的建立格式,今天考試遇到了後幾種格式,以為是錯的,沒想到也可以,所以當時全部選錯了,希望各位能引以為戒。
int arr=new int[10];
int arr =;
int arr =new int
以下幾種
int arr =new int[4];
int arr =;
int arr =new int;
int arr = new int [2][3];
陣列的反**
int arr= ;
最好理解的方式
int min =0;
int max =arr.length-1;
for(min =0,max =arr.length-1;minarr.length-1;i++)
二維陣列
方式一:
陣列的資料型別 陣列名稱=new 陣列的資料型別[長度1][長度2];
長度1:不可省略,代表該二維陣列裡面儲存的元素個數
長度2:可省略,代表該二維陣列裡面的元素(陣列裡面的元素個數),而且它裡面的陣列元素個數一樣
如: int arr=new arr[3][2];
長度3:該二維陣列裡面有3個陣列
長度2;該二維陣列裡面的每乙個陣列元素都有2個元素
相當於:int arr=,,};
方式二:
陣列的資料型別 陣列名稱=new 陣列的資料型別,,…};
方式三:
陣列的資料型別 陣列名稱=,,…}
二維陣列元素訪問方式:
陣列名稱[索引]-----訪問的是二維陣列的元素
陣列名稱[一維陣列的索引值][一維陣列裡面的索引值]
int arr=,,};
arr[0][0]=10;
//訪問陣列的 80
arr[1][2];
方法:public static void main(stringargs)
方法比喻成工廠
蒙牛工廠
產出物:奶製品
void 空的,無效的
string args 引數-----變數
方法定義的完整格式:修飾符 返回值型別 方法名稱(引數型別1,引數名稱1,引數型別2,引數名稱2…){}
修飾符 :public static
返回值型別 :void 方法最終生產的資料結果是什麼樣的
方法名稱:main 方法的名字(不是關鍵字)—自定義遵循識別符號規範
引數型別:string[ ],進入方法當中的資料是什麼型別
引數名稱:進入方法當中的資料對於的變數名稱
方法體:方法需要執行的功能,由若干行**來組成的。
return;一般認為有兩個作用。第一,將後面的返回值返回給程式。第二停止當前正在執行的方法
返回值:就是方法執行最終產生的資料結果
備註:1. return後面的「返回值」必須和方法宣告上的「返回值型別」保持一致
方法只能並列,必須指定在類的裡面
三種呼叫格式:
1.單獨呼叫:方法名稱(引數具體值);
2.列印呼叫:system.out.println(方法名稱(引數具體值));
3.賦值呼叫:資料型別 變數名稱=方法名稱(引數具體值);
備註:當返回值為void的時候,只能使用單獨呼叫,不能進行列印呼叫或者賦值呼叫
返回指型別:一般可以理解為資料型別(基本資料型別,引用資料型別),此外還包含一種型別 void型別
當方法執行完畢不需要給程式的呼叫者返回任何的資料結果時,可以指定該方法的返回值型別為 void。此時只能單獨呼叫
注意事項:
1.方法定義的先後順序無所謂
2.方法定義不能巢狀,不能在乙個方法內部定義另外乙個方法
3.方法定義之後,自己不會執行。如果希望執行,一定要進行方法呼叫
對於功能類似的方法來說,因為引數列表不一致,卻需要定義不同的方法名稱,對於開發者來說,記憶那麼多的功能類似的不同方法名非常麻煩,所以就出現了方法過載。
例如求兩個數的和通過:
public class methoddemo
//計算兩個數的和
//計算兩個整數的和
public static int sum01(int a,int b)
public static double sum02(double a,double b)
public static double sum03(int a,double b)
public static double sum04(double a,int b)
}方法過載與那些因素有關:
引數個數不同
引數型別不同
引數的多型別順序不同
方法過載域哪些因素:
1.與方法的引數名稱無關
2.與方法的返回值型別無關
3.與方法的修飾符無關
陣列作為方法引數和返回值
陣列作為方法引數
陣列作為引用型別能否當成方法的引數進行傳遞???當然可以
陣列作為方法引數傳遞,傳遞的引數是陣列記憶體位址
public static void main(string args);
//呼叫方法傳遞陣列
println(arr);}/*
建立乙個方法,方法接收陣列型別的引數,進行陣列遍歷
*/public static void println(int arr)
}陣列作為方法的返回值,返回值也是陣列的記憶體位址
public static void main(string args)
//建立乙個方法,返回值是陣列型別
//return 返回數字的記憶體位址
public static int getarray();
//此時返回陣列的記憶體位址,返回給呼叫者
return arr;
}乙個方法可以有0個,1個,多個引數;但是只能有0個或者1個返回值,不能有多個返回值,
如果我們希望乙個方法有多個結果資料,這些結果資料同時需要返回。
解決方案:使用乙個容器(陣列)作為方法的返回值型別即可
public static void main(string args)
}這裡的a和b值都傳到了方法裡,並且在方法裡給值改變了,但是實際上在main方法裡輸出a和b,並沒有改變a和b值。是因為這裡方法接收的是可以理解為常量,它只在方法裡作用,並不會改變實際在main裡面的值,但是如果我們傳的不是常量,而是乙個容器,例如陣列,集合,等等,並不是乙個固定的值,這時在方法裡做改變量值,main方法裡在輸出時就會改變,因為這時傳給方法時的值是個位址值,我們在方法裡修改它的值,是在記憶體位址裡修改了它的值,雖然最後這個方法執行結束後陣列就消失了,但是記憶體裡面的值也已經改變了。而判斷是不是傳遞的記憶體和常量其實也很簡單,從方法能看出來你傳過來的量有幾個並且是什麼型別,那就一定是常量,如果我們看不出來是幾個量,只知道用什麼型別的集合來接收,那這時就是傳遞的位址值,如果修改就是在記憶體位址裡修改了值,其他的也跟著修改了,這就是引用傳遞。
陣列的定義與使用
宣告陣列 資料型別 陣列名稱 null 或者 資料型別 陣列名稱 null 開闢陣列 陣列名稱 new 資料型別 陣列長度 int data new int 100 陣列屬於引用資料型別,也需要進行記憶體分配,與物件儲存的唯一區別在於 物件中的堆記憶體儲存的是屬性,陣列中的堆記憶體儲存的是一組資訊。...
OC中的陣列定義和方法使用
字串的建立 1 建立乙個空字串 nsstring str nsstring alloc init nsstring str nsstring string 2 以字串建立新的字串 相當於字面量 nsstring str nssting alloc initwithstring newstr nsst...
陣列的定義和使用
說到陣列,首先我們需要知道我們為什麼要定義陣列?方法返回值的時候只能返回乙個值,但是如果我們要返回多個值怎麼辦呢?這時候就需要用到陣列,可以把多個資料放在乙個陣列中,然後返回陣列,從而達到返回多個值的作用。那麼什麼是陣列呢?陣列是 相同資料型別的資料按 順序組成的一種 引用資料型別。陣列的定義分為兩...