java基本知識 5 陣列

2021-08-23 14:19:47 字數 3972 閱讀 3468

陣列是相同資料型別的資料按順序組成的一種引用資料型別。

說明:宣告一維陣列:陣列元素資料型別 [ ] 陣列名;

string  countryarray;
宣告二維陣列:陣列元素資料型別[ ][ ] 陣列名;

double

wagesarray;

宣告陣列僅僅給出了元素的資料型別和陣列名字,要使用陣列就必須為它分配記憶體空間,即例項化陣列。當例項化乙個陣列時就申請了一段連續的記憶體空間儲存陣列中的元素。例項化陣列的方法有兩種:

①陣列分配記憶體空間時指明陣列長度;

語法格式:陣列名 = new 陣列元素資料型別 [陣列元素個數];

例如:

double  scores = new double [3];

string accounts =new string [3][2];

②採用窮舉法例項化陣列:

例如:

double  scores = ;

double scores;

scores=new

double ;

double scores=new

double ;

string accounts = ,,};

string accounts = new string ,,};

錯誤示例:

public

static

void

main(string[ ] args);

int[ ] agearray;

agearray = ;

}

`編譯階段出錯,上面這種窮舉法只能用於初始化陣列,即必須和宣告陣列**放在一條語句中完成。

通過陣列名和陣列下標來運算元據,下標從0開始:

有兩種方法遍歷陣列,傳統方法簡單,不作闡述,第二種方法語法如下:

for (集合中元素資料型別 元素名 : 陣列名)
示例如下:

double  scores = new

double[3];

//如何賦值

scores[0] = 99.0;

scores[1] = 66.6;

scores[2] = 88;

//如何遍歷陣列

for(int i=0;i//如何獲取值

system.out.println(scores[i]);

}//方法1

for(double score:scores) //方法2

值傳遞(pass by value)是指在呼叫函式時將實際引數 複製 乙份傳遞到函式中,這樣在函式中如果對 引數 進行修改,將不會影響到實際引數。

public

class test

public

static

void

test(int y)

}

引用傳遞(pass by reference)是指在呼叫函式時將實際引數的位址 直接 傳遞到函式中,那麼在函式中對 引數 所進行的修改,將影響到實際引數。

public

class test ;

test(x);

system.out.println(x[0]);//輸出0

}public

static

void

test(int y)

}

氣泡排序法是最基本的排序法之一,氣泡排序法的執行機制是通過迴圈遍歷元素並調整相鄰元素順序來實現的一種簡單排序方法。

以陣列 公升序排列為例演示氣泡排序的原理:

**如下:

int temp;

int numbers = new int ;

for(int

time=1;time

length;time++)

}for(int i=0;ilength;i++)

system.out.print(numbers[i]+"\t");

int  numbers = ;

int i=4;//3的位置

int data = numbers[i];

//1、找位置

int j=0;

for(;jif(numbers[j]>numbers[i])

}//2、做移動

for(int k=i;k>j;k--)

//3、插入資料

numbers[j]=data;

//遍歷陣列

for(int number:numbers)

語法結構及解釋闡述如下:

例如陣列**如下:

int  numbers = ;

for(int i=1;ilength;i++)

}//2、做移動

for(int k=i;k>j;k--)

//3、插入資料

numbers[j]=data;

}//遍歷陣列

for(int number:numbers)

效能提公升小方法:如果比較的兩個數字大小相同,那麼就會多執行下面的移動和插入資料步驟,因此在找位置和做移動之間加入continue去掉不必要的迴圈,如下圖:

插入排序的實質:將陣列分為有序區和無序區,定義乙個標記無序區第乙個元素的定位變數,將該元素與前面的有序區內元素遍歷比較,找到該元素應該插入位置,然後將應插入位置到待插入元素所在位置之間的元素後移一位,最後再將待插入元素插入到應插入的位置,有序區擴增一位,無序區減少一位,定位變數再次後移,鎖定後面無序區第一位元素位置。

普通查詢法:直接遍歷陣列的每個元素與要查詢的元素相比較,若相同,輸出所在位置並結束迴圈遍歷(陣列中不含相同元素且可以無序);

二分法查詢:搜尋資料與有序陣列(比如公升序)中間元素比較以確定在中間元素左邊還是右邊,如果在右邊,則調整最小搜尋索引值,然後進入下次迴圈;如果在左邊,則調整最大搜尋索引值,然後進入下次迴圈;如果相等則當前位置就是查詢資料所在位置,停止迴圈;

語法結構及例子如下:

例如在陣列中查詢資料2

int  numbers = new

int ;

int data=2;//要查詢的資料

int middle;

int low = 0;

int high = numbers.length-1;

while(low<=high) else

if(data1;

}else

}

Java基本知識

一 建構函式 建構函式 構建創造物件時呼叫的函式。作用 可以給物件進行初始化。建立物件都必須要通過建構函式初始化。乙個類中如果沒有定義過建構函式,那麼該類中會有乙個預設的空引數建構函式。如果在類中定義了指定的建構函式,那麼類中預設的建構函式就沒有了。一般函式和建構函式有什麼區別呢?建構函式 物件建立...

陣列基本知識

陣列 一維陣列 二維陣列的初始化 1 按行連續賦值,即將所有資料寫在乙個大括號內,按照陣列元素排列順序對元素賦值。2 再為所有元素賦初值時,可以省略行下標,但是不可以省略列下標。3 按行分段賦值,可以分行給陣列元素賦值。字元陣列的初始化 1 逐個字元賦給陣列的各個元素。初始化利用大括號,每個字元用單...

陣列基本知識總結

我們在學習了c語言基礎知識後,應該對陣列有基本的了解與掌握,現在對陣列基本知識進行總結,如下所示 1.一維陣列 1 建立和初始化 建立 陣列是一類相同型別元素的集合 建立方式 type t arr name const n 初始化 在建立陣列的同時給陣列內容一些合理的初始值,元素個數按初始化內容決定...