「小馬java」12、數組(欲吃之罪,何患無辭?)

課前小談

最近看到網上十分火熱的【華農兄弟】非常有意思。視頻不多,人氣卻一路飆升、積累了大量的粉絲。視頻非常有意思,找各種理由吃竹鼠。這隻好像受傷了,我們把它烤了吧...(竹鼠心中肯定一萬隻草擬嗎,難道不能搶救一下嘛??)。哈哈~~除了受傷,還有貪吃、抑鬱、中暑...最後沒有理由了,長得太漂亮了 也成為了被吃的理由...

「小馬java」12、數組(欲吃之罪,何患無辭?)

那麼問題來了:為什麼簡單的視頻,會如此吸引人樂此不彼的觀看呢?

我想道理很簡單:就是三種“真實”。

真實的鄉村氣息:搗馬蜂窩、逗狗、烤魚、抓蛇、製作食材。沒有鏡頭佈景、編排。沒有特意渲染的BGM和鏡頭特效。將我們從高樓林立的城市拉到了充滿泥土氣息的鄉村。

真實的生活:為了吃竹鼠想盡辦法的他們,搞笑又顯得不那麼靠譜。好像養幾隻還不夠自己吃的。但實際,他們對待養竹鼠十分認真。竹鼠的吃什麼,什麼習性,戀愛情況都清清楚楚。

真實的人:搗馬蜂窩、抓蜈蚣泡酒、品嚐做好的竹鼠、高興地就像一個勝利的孩子。他們展現的,是我們本可以觸手可及 卻正在遠離我們的簡單而且充實的生活瞬間。

課程內容

今天我們來講一講數組。

問:什麼是數組呢?

答:當我們需要放1組相同類型的數,比如一個班的學生成績。假如這個班10個人,我們要聲明10個變量嗎?沒那麼麻煩。這裡我們聲明一個數組就可以了。數組就像下面的調料盒一樣,這個調料盒有4個格子,對應的可以保存4個數字。我們聲明一個有10個格子的數組。就能保存這個班級所有人的成績了。

「小馬java」12、數組(欲吃之罪,何患無辭?)

調料盒

下面我們來看看數組的樣子。

int 是數組要存放的數據類型。[] 表示這是一個數組變量、{ }中的內容是數組中的元素。

「小馬java」12、數組(欲吃之罪,何患無辭?)

數組

數組初始化有兩種方式:

1、靜態初始化:我們不用規定數組的長度,將數組中的元素全部放在數組中。系統自動幫我們計算數組的長度,並將數組中的元素放入數組中。這裡我們把8這個元素放在第一個格子中,6放在第二個格子中,4放在第三個格子中..以此類推。

int[] a = {8,6,4,2,5};

2、動態初始化:這裡我們只規定數組的長度。數組中的元素系統分配默認值。這裡我們聲明一個長度是5的數組。表示b這個數組只能保存5個int類型的整數。

需要注意的是:我們聲明瞭長度,數組中的元素並不是什麼都沒有。系統會幫我們默認給每個元素一個值。byte short int long 類型的數組 默認值是0、float double 默認值是0.0、

char 默認值是空字符、boolean 默認值是false、其他類型默認值是null。

int[] b = new int[5];

畫個圖說明一下。

「小馬java」12、數組(欲吃之罪,何患無辭?)

紅色是數組的角標。通過第一種靜態初始化的方式我們得到如上圖所示的數組。第二種動態初始化我們得到的數組中的元素全部都是0。

操作數組

1、設置數組的值

「小馬java」12、數組(欲吃之罪,何患無辭?)

操作數組

很簡單 直接變量名加上中括號,中括號中間寫上角標就可以了。

注意:數組角標都是從0開始的,不是從1開始的!

a數組0角標位置(第一個格子),保存的數字原來是8。通過a[0] = 10 。這個操作,將8改成了10。

b數組0角標的元素是系統默認初始化的(是0),這裡賦值成了3。

2、取數組中的值

直接使用 a[角標] 就可以取出數組中的值了。

如圖打印出來數組中的值。

「小馬java」12、數組(欲吃之罪,何患無辭?)

打印數組中的值

計算a數組數字的總和。

「小馬java」12、數組(欲吃之罪,何患無辭?)

計算並打印總和

3、注意點

  • 數組的角標的最大值 是 數組長度 -1,因為角標是從0開始,不是從1開始。
  • 數組一旦聲明好了,長度是固定的,不能改變。
  • 其他類型的數組與int類型的數組類似,這裡就不囉嗦了。
「小馬java」12、數組(欲吃之罪,何患無辭?)

其他類型的數組

二維數組

以上我們講解的是一維數組,下面我們說一下二維數組。

二維數組像下面這個收納盒一樣,並不是一排,而是多排。

「小馬java」12、數組(欲吃之罪,何患無辭?)

收納盒

二維數組初始化

1、與一維數組相同有兩種方式。靜態初始化、動態初始化。

「小馬java」12、數組(欲吃之罪,何患無辭?)

二維數組初始化

二維數組的保存示意圖

「小馬java」12、數組(欲吃之罪,何患無辭?)

二維數組示意圖

2、設置數組中的值

直接使用 a[行角標][列角標] 就可以設置數組中的值。

a[0][1] 表示第1行 第2列 就是上圖中的數字2。

b[0][0] 表示第1行 第1列

「小馬java」12、數組(欲吃之罪,何患無辭?)

設置二維數組的值

3、取數組中的值

直接使用 a[行角標][列角標] 就可以取出數組中的值了。

如圖打印出來數組中的值。

「小馬java」12、數組(欲吃之罪,何患無辭?)

課後開動腦筋

打印數組的時候,我們現在是一個一個打印的,很麻煩。

問:怎麼才能一口氣全部打印出來呢?

提示:利用for循環。數組名稱.length 表示數組的長度 (如:a.length)

答案:

「小馬java」12、數組(欲吃之罪,何患無辭?)

第一題答案

問:二維數組怎麼全部打印呢?

答案:

「小馬java」12、數組(欲吃之罪,何患無辭?)

第二題答案

問:一維數組 int[] a={1,2,3,4,5,6,7,8,9,10} 如果是偶數就加1,奇數減1,怎麼寫?

答案:

「小馬java」12、數組(欲吃之罪,何患無辭?)

第三題答案

今天你又進步了!加油


分享到:


相關文章: