陣列定義的格式和方法的使用與定義

2021-10-10 13:11:39 字數 3439 閱讀 4105

首先是陣列的建立格式,今天考試遇到了後幾種格式,以為是錯的,沒想到也可以,所以當時全部選錯了,希望各位能引以為戒。

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...

陣列的定義和使用

說到陣列,首先我們需要知道我們為什麼要定義陣列?方法返回值的時候只能返回乙個值,但是如果我們要返回多個值怎麼辦呢?這時候就需要用到陣列,可以把多個資料放在乙個陣列中,然後返回陣列,從而達到返回多個值的作用。那麼什麼是陣列呢?陣列是 相同資料型別的資料按 順序組成的一種 引用資料型別。陣列的定義分為兩...