正文之前
CCF考完了踩窖。抓緊把Java看完吧坡氯,昨晚狠下心來跟老師說要去實驗室干活,鬼知道自在日子啥時候就沒了洋腮。所以還是有點(diǎn)危機(jī)感箫柳,先把Java學(xué)好。另外這幾天看圖論覺得好有意思啥供,等學(xué)完Java就去多看點(diǎn)圖的算法~~ Python也丟了一陣子悯恍,不行啊伙狐!機(jī)器視覺還要做課程大作業(yè)~~ 想想就雞兒疼涮毫!
正文
數(shù)組對于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語言對數(shù)組的實現(xiàn)及處理也不盡相同贷屎。Java 語言中提供的數(shù)組是用來存儲--固定--大小的同類型元素罢防。
1、 聲明數(shù)組變量
首先必須聲明數(shù)組變量豫尽,才能在程序中使用數(shù)組篙梢。下面是聲明數(shù)組變量的語法:
dataType[] arrayRefVar; // 首選的方法
or
dataType arrayRefVar[];
// 效果相同,但不是首選方法 這是來自C/C++的風(fēng)格遺留美旧。但是我覺得這樣也蠻好看的啊渤滞。而且Java沒有指針,難道還要這么顧慮重重榴嗅?
2 妄呕、創(chuàng)建數(shù)組
arrayRefVar = new dataType[arraySize];
上面的語法語句做了兩件事:
一、使用 dataType[arraySize] 創(chuàng)建了一個數(shù)組嗽测。
二绪励、把新創(chuàng)建的數(shù)組的引用賦值給變量 arrayRefVar。
數(shù)組變量的聲明唠粥,和創(chuàng)建數(shù)組可以用一條語句完成疏魏,如下所示:
dataType[] arrayRefVar = new dataType[arraySize];
另外,你還可以使用如下的方式創(chuàng)建數(shù)組晤愧。
dataType[] arrayRefVar = {value0, value1, ..., valuek};
數(shù)組的元素是通過索引訪問的大莫。數(shù)組索引從 0 開始,所以索引值從 0 到 arrayRefVar.length-1官份。
public class TestArray {
public static void main(String[] args) {
// 數(shù)組大小
int size = 10;
// 定義數(shù)組
double[] myList = new double[size];
myList[0] = 5.6;
myList[1] = 4.5;
myList[2] = 3.3;
myList[3] = 13.2;
myList[4] = 4.0;
myList[5] = 34.33;
myList[6] = 34.0;
myList[7] = 45.45;
myList[8] = 99.993;
myList[9] = 11123;
// 計算所有元素的總和
double total = 0;
for (int i = 0; i < size; i++) {
total += myList[i];
}
System.out.println("總和為: " + total);
}
}
以上實例輸出結(jié)果為:
總和為: 11367.373
3只厘、 foreach 循環(huán)
JDK 1.5 引進(jìn)了一種新的循環(huán)類型烙丛,被稱為 foreach 循環(huán)或者加強(qiáng)型循環(huán),它能在不使用下標(biāo)的情況下遍歷數(shù)組羔味。
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// 打印所有數(shù)組元素
for (double element: myList) {
System.out.println(element);
}
}
}
4河咽、數(shù)組作為函數(shù)的參數(shù)
定義:
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
調(diào)用:
printArray(new int[]{3, 1, 2, 6, 4, 2});
5、 數(shù)組作為函數(shù)的返回值
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
6赋元、 多維數(shù)組
String str[][] = new String[3][4];
發(fā)現(xiàn)一種騷操作M贰!:
String s[][] = new String[2][];
s[0] = new String[2];// 這操作 騷氣的·~~
s[1] = new String[3]; // 這操作 騷氣的·~~
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");
s[0]=new String[2] 和 s[1]=new String[3] 是為最高維分配引用空間搁凸,也就是為最高維限制其能保存數(shù)據(jù)的最長的長度寒瓦,然后再為其每個數(shù)組元素單獨(dú)分配空間 s[0][0]=new String("Good") 等操作.
正文之后
ok ??本期的Java數(shù)組講完了~ 接下來容我先學(xué)點(diǎn)新東西再來寫文章。學(xué)完Java我也不知道路在何方坪仇,先學(xué)吧~ 老師不管我我就自己琢磨杂腰,姑且暫定為下一步學(xué)算法吧!這次考試發(fā)現(xiàn)自己的算法基礎(chǔ)簡直薄弱椅文,計算機(jī)組成原理也沒看完喂很,編譯原理,操作系統(tǒng)干脆沒動皆刺,心痛I倮薄!另外可以學(xué)學(xué)API的通信等等~ 慢慢來吧羡蛾!妹子在漓帅,完全可以管住自己了~~