第四天 數(shù)組【悟空教程】

第四天 數(shù)組【悟空教程】

第04天 Java基礎(chǔ)

第1章?數(shù)組

1.1?數(shù)組概念

軟件的基本功能是處理數(shù)據(jù)舌剂,而在處理數(shù)據(jù)時气破,必須先進行數(shù)據(jù)持有聊浅,將數(shù)據(jù)持有之后,再對數(shù)據(jù)進行處理现使。我們將程序中可以臨時存儲數(shù)據(jù)的部分叫做容器低匙。

Java當(dāng)中具有持有數(shù)據(jù)功能的容器中,數(shù)組是最基本的碳锈,也是運算速度最快的顽冶。

1.2?數(shù)組的定義格式

數(shù)組是引用類型的一種,其使用方式與引用類型類似售碳,均使用new關(guān)鍵字創(chuàng)建對象為變量賦值强重。

格式1:數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[元素個數(shù)或數(shù)組長度];

格式2:數(shù)據(jù)類型 數(shù)組名[]?= new 數(shù)據(jù)類型[元素個數(shù)或數(shù)組長度];

注意:這兩種定義做完了,數(shù)組中是沒有元素值的贸人。如何對數(shù)組的元素進行初始化呢?


示例:int[] arr = new int[5];

還有其他格式如下:

int[] arr = new int[]{20,5,100,30,5}

int[] arr = {20,5,100,30,5}

int arr[] = new int[4];//源碼中經(jīng)常會看到的定義方式

1.3?數(shù)組初始化

概述

Java中的數(shù)組必須先初始化,然后才能使用间景。

所謂初始化:就是為數(shù)組中的數(shù)組元素分配內(nèi)存空間,并為每個數(shù)組元素賦值艺智。

數(shù)組的初始化方式

動態(tài)初始化:初始化時只指定數(shù)組長度倘要,由系統(tǒng)為數(shù)組分配初始值。

靜態(tài)初始化:初始化時指定每個數(shù)組元素的初始值十拣,由系統(tǒng)決定數(shù)組長度封拧。


1.3.1?數(shù)組內(nèi)元素均有默認初始化值

在創(chuàng)建數(shù)組對象后志鹃,數(shù)組中元素會被自動賦予一個默認值,這個過程叫做默認初始化泽西。根據(jù)元素類型的不同曹铃,默認初始化的值也是不一樣的。具體如下表所示尝苇。

表2-1元素默認值

數(shù)據(jù)類型默認初始化值

byte、short埠胖、int糠溜、long0

float、double0.0

char一個空字符(空格)直撤,即’\u0000’

booleanfalse

引用數(shù)據(jù)類型null非竿,表示變量不引用任何對象

1.3.2?數(shù)組的初始化(動態(tài)初始化)

動態(tài)初始化:初始化時只指定數(shù)組長度,由系統(tǒng)為數(shù)組分配初始值谋竖。

格式:數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];

數(shù)組長度其實就是數(shù)組中元素的個數(shù)红柱。

舉例:

int[] arr = new int[3];

解釋:定義了一個int類型的數(shù)組,這個數(shù)組中可以存放3個int類型的值

1.4?訪問數(shù)組元素

直接打印數(shù)組名,打印的是數(shù)組堆內(nèi)存中的地址

數(shù)組中的每個元素都是有編號的蓖乘,編號是從0開始的锤悄,最大的編號就是數(shù)組的長度-1

用數(shù)組名和編號的配合我們就可以獲取數(shù)組中的指定編號的元素

數(shù)組底層是依次將數(shù)據(jù)進行編號后直接通過編號訪問(線性序列)的。這個編號叫做索引嘉抒。

格式:數(shù)組名[編號] -- 數(shù)組名[索引]

數(shù)組名稱為arr,索引為0,1,2

獲取數(shù)組中元素的格式:

arr[0]獲取數(shù)組中的第一個元素

arr[1]獲取數(shù)組中的第二個元素

arr[2]獲取數(shù)組中的第三個元素

如:

int[] arr = {20,5,100,30,5};

arr[0]訪問的為20零聚,arr[2]訪問的100。


這里的”訪問”包含以下兩個動作:獲取值與賦值些侍。如:

為元素賦值: arr[1] = 33; ?則第2個元素5會被33替代隶症。

獲取元素的值: ?int x = arr[3]; ?則x的值為30。


????使用數(shù)組名.length可以獲取數(shù)組長度岗宣。

/*

數(shù)組:它是引用數(shù)據(jù)類型的一種,它是存放同種數(shù)據(jù)類型數(shù)據(jù)的容器(集合)

數(shù)組定義格式:

數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)據(jù)長度/元素個數(shù)];

訪問數(shù)組中指定編號的元素:數(shù)組名[索引]

給數(shù)組中的元素賦值: 數(shù)組名[索引] = 數(shù)據(jù)值;

使用數(shù)組名.length可以獲取數(shù)組長度蚂会。

直接打印數(shù)組名是獲取了數(shù)組的堆內(nèi)存地址值(內(nèi)存圖詳細了解)

*/

public class Demo02Array{

public static void main(String[] args){

//定義一個長度為3的整數(shù)數(shù)組

int[] arr1 = new int[3];

//int[] arr2 = new int[]{1,2,3,4,5};//有幾個元素,長度就為幾

int[] arr2 = {1,2,3,4,5};

// ????索引 ??0 1 2 3 4

//訪問arr2數(shù)組中第一個元素

//System.out.println("數(shù)組的第一個元素: " +arr2[0]);

int x = arr2[0];

System.out.println("數(shù)組的第一個元素: " + x);

//給數(shù)組中的元素賦值: 數(shù)組名[索引] = 數(shù)據(jù)值;

arr2[1] = 100;

System.out.println("arr2[1]: " +arr2[1]);

int length1 = arr1.length;

System.out.println("數(shù)組arr1的長度:" +length1);

int length2 = arr2.length;

System.out.println("數(shù)組arr1的長度:" +length2);

System.out.println(arr1);//[I@104c575

System.out.println(arr2);//[I@3fa5ac

char[] ch = new char[4];

System.out.println(ch);//[I@3fa5ac

//定義一個長度為10的String類型數(shù)組

//String[] arr2 = new String[10];

}

}


直接打印數(shù)組名是獲取了數(shù)組的堆內(nèi)存地址值(內(nèi)存圖詳細了解)


1.5?數(shù)組的注意事項

1.5.1?數(shù)組的長度是固定的

數(shù)組在創(chuàng)建對象過程當(dāng)中,必須指定數(shù)組長度耗式,無法創(chuàng)建對象進而無法給變量賦值胁住。

1.5.2?一個數(shù)組中只能存儲一種類型的數(shù)據(jù)

在數(shù)組的定義格式中有顯式地寫出該數(shù)組中存儲的數(shù)據(jù)類型,所以一個數(shù)組只能存儲同一種數(shù)據(jù)類型刊咳。(在多態(tài)的講解后措嵌,我們會有新的理解)


1.5.3?數(shù)組運行期報錯

在使用數(shù)組時,因為不當(dāng)?shù)牟僮髀郑覀兛赡軙ㄟ^編譯企巢,但是在運行期間遇到一些程序報錯類似這樣編譯時不報錯,運行期報錯的錯誤叫運行時錯誤

數(shù)組最常見的兩個運行時錯誤:空指針異常和數(shù)組索引越界異常

1.5.3.1?空指針異常

編程語言中對空的處理與我們平常所理解的略有不同让蕾。這里我們區(qū)分兩種空的不同

變量完全沒有值:

定義了變量根本沒有值:int a; ?int[] b

這樣根本沒有賦值過的變量是無法使用的浪规。數(shù)組也是一種數(shù)據(jù)類型或听,可以指定變量,沒有賦值是不能使用的笋婿。


變量有值誉裆,但值為null:

定義了變量并且賦值了,但是值是空值缸濒,是常量足丢。這種情況只針對于引用數(shù)據(jù)類型,基本數(shù)據(jù)類型不成立庇配。

int a = null; 編譯失敗

int[] arr = null; 正常賦值

當(dāng)使用int[] arr = null給arr賦值時斩跌,變量arr作為數(shù)組名通過編號訪問數(shù)組元素時編譯不報錯,運行時報運行錯誤NullPointerException空指針異常

1.5.3.2?數(shù)組索引越界異常

當(dāng)數(shù)組中不存在該索引卻訪問該索引時捞慌,運行時報錯:

ArrayIndexOutOfBoundsException?數(shù)組索引越界

/*

數(shù)組的注意事項:

1.數(shù)組在創(chuàng)建對象過程當(dāng)中耀鸦,必須指定數(shù)組長度,否則無法創(chuàng)建對象進而無法給變量賦值啸澡。

2.在數(shù)組的定義格式中有顯式地寫出該數(shù)組中存儲的數(shù)據(jù)類型袖订,所以一個數(shù)組只能存儲同一種數(shù)據(jù)類型。(在多態(tài)的講解后嗅虏,我們會有新的理解)

3.在創(chuàng)建數(shù)組對象后洛姑,數(shù)組中元素會被自動賦予一個默認值,這個過程叫做默認初始化皮服。根據(jù)元素類型的不同吏口,默認初始化的值也是不一樣的。

數(shù)組運行期錯誤:

空指針異常:給數(shù)組變量賦值的時候,賦值成null,數(shù)組不指向一個堆內(nèi)存的地址,索引會報NullPointerException

數(shù)組索引越界:訪問了不存在的索引

*/

public class Demo03Array{

public static void main(String[] args){

//1.數(shù)組在創(chuàng)建對象過程當(dāng)中冰更,必須指定數(shù)組長度产徊,否則無法創(chuàng)建對象進而無法給變量賦值。

//定義一個長度為5的int類型數(shù)組

//int[] arr = new int[];//錯誤: 缺少數(shù)組維

int[] arr = new int[5];

//2.一個數(shù)組只能存儲同一種數(shù)據(jù)類型蜀细。

//arr[0] = "hello";//錯誤: 不兼容的類型

arr[0] = 18;

System.out.println(arr[0]);//18

//int有默認的初始化值 0

System.out.println(arr[1]);//0

System.out.println(arr[2]);//0

System.out.println(arr[3]);//0

System.out.println(arr[4]);//0

String[] arr2 = new String[3];

arr2[0] = "詹姆斯";

System.out.println(arr2[0]);//詹姆斯

//String有默認的初始化值 null

System.out.println(arr2[1]);//null

System.out.println(arr2[2]);//null

System.out.println(arr2[3]);//ArrayIndexOutOfBoundsException: 3

/*

double[] arr3;

System.out.println(arr3[0]);//錯誤: 可能尚未初始化變量arr3

*/

//int a = null;//錯誤: 不兼容的類型

//double[] arr3 = null;

//System.out.println(arr3[0]);//NullPointerException

}

}

1.6?數(shù)組的內(nèi)存解釋

1.6.1?內(nèi)存分區(qū)

內(nèi)存是計算機臨時存儲數(shù)據(jù)的區(qū)域舟铜,我們會將內(nèi)存在邏輯上分配成不同區(qū)域方便對數(shù)據(jù)進行分類高效管理。

寄存器:最快的存儲區(qū)域直接與CPU打交道奠衔,是程序員無法控制的計算區(qū)域谆刨。

堆棧:又叫棧,僅次于寄存器归斤。用于存儲局部變量痊夭。

堆:通用內(nèi)存池,用于存放所有引用數(shù)據(jù)類型對象脏里。每個對象均有地址她我,且有默認初始化值。

常量存儲區(qū)域:用于存放永遠不會被改變的值。


1.7?Java中的內(nèi)存分配

Java程序在運行時番舆,需要在內(nèi)存中的分配空間酝碳。

為了提高運算效率,就對空間進行了不同區(qū)域的劃分恨狈,因為每一片區(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式疏哗。

內(nèi)存分區(qū):

棧 又叫棧,僅次于寄存器禾怠。用于存儲局部變量

局部變量是定義在方法中或者語句中的變量

局部變量使用完畢返奉,立即回收

堆 通用內(nèi)存池,用于存放所有引用數(shù)據(jù)類型對象吗氏。每個對象均有地址芽偏,且有默認初始化值。New出來的東西牲证。

每一個對象都有首地址值,是一個十六進制的地址

每一個對象內(nèi)的數(shù)據(jù)都有默認值

byte,short,int,long 0

float,double 0.0

char ‘\u0000’,一個空格

boolean false

引用類型:null

使用完畢后哮针,會被垃圾回收器空閑的時候回收关面。

方法區(qū):(方法區(qū))又叫靜態(tài)區(qū)坦袍,存放所有的class和靜態(tài)變量,方法區(qū)存放的是整個程序中唯一的元素等太,如class和static變量捂齐。

本地方法區(qū) (和系統(tǒng)相關(guān))

寄存器 (給CPU使用)最快的存儲區(qū)域直接與CPU打交道,是程序員無法控制的計算區(qū)域

畫圖說明:數(shù)組的內(nèi)存圖


1.8?數(shù)組內(nèi)存圖解

定義一個數(shù)組缩抡,輸出數(shù)組名及元素奠宜。然后給數(shù)組中的元素賦值,再次輸出數(shù)組名及元素


定義兩個數(shù)組瞻想,分別輸出數(shù)組名及元素压真。然后分別給數(shù)組中的元素賦值,分別再次輸出數(shù)組名及元素蘑险。


定義兩個數(shù)組滴肿,先定義一個數(shù)組賦值,輸出佃迄。然后定義第二個數(shù)組的時候把第一個數(shù)組的地址賦值給第二個數(shù)組泼差。然后給第二個數(shù)組賦值,再次輸出兩個數(shù)組的名及元素呵俏。


1.9?數(shù)組的初始化(靜態(tài)初始化)

概述

????初始化時指定每個數(shù)組元素的初始值堆缘,由系統(tǒng)決定數(shù)組長度。

格式

????數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[]{元素1,元素2,…};

舉例

int[] arr = new int[]{1,2,3};

解釋:定義了一個int類型的數(shù)組普碎,這個數(shù)組中可以存放3個int類型的值吼肥,并且值分別是1,2,3。

簡化格式

????數(shù)據(jù)類型[] 數(shù)組名 = {元素1,元素2,...};

簡化格式舉例

????int[] arr = {1,2,3};

內(nèi)存圖


1.9.1?引用數(shù)據(jù)類型數(shù)組的內(nèi)存圖

數(shù)組是我們系統(tǒng)介紹的第一個引用數(shù)據(jù)類型,了解內(nèi)存結(jié)構(gòu)將有助于后期整個面向?qū)ο蟮膶W(xué)習(xí)潜沦。

int[] x = new int[100];


引用變量:數(shù)組屬于引用數(shù)據(jù)類型萄涯,引用數(shù)據(jù)類型定義的變量x存儲在棧內(nèi)存當(dāng)中,這個x變量叫做這個數(shù)組實例的引用變量唆鸡。

=:與數(shù)學(xué)當(dāng)中的意義不同涝影,是賦值的意思,并非相等争占。

真正的數(shù)組實例是通過new關(guān)鍵字創(chuàng)建出來燃逻,存儲于堆內(nèi)存中,并產(chǎn)生一個十六進制表示的內(nèi)存地址0x3000臂痕。

這個引用變量會指向這個數(shù)組的內(nèi)存地址

則引用變量的值是這個數(shù)組實例的地址值伯襟,引用變量通過地址可以表示這個數(shù)組對象

1.10?數(shù)組遍歷

在操作數(shù)組時,經(jīng)常需要依次訪問數(shù)組中的每個元素握童,這種操作稱作數(shù)組的遍歷姆怪。如:

public?class?Demo?{

public?static?void?main(String[] args) {

int[] arr = { 1, 2, 3, 4, 5 }; //定義數(shù)組

//使用for循環(huán)遍歷數(shù)組的元素

for?(int?i = 0; i < arr.length; i++) {

System.out.println(arr[i]); //通過索引訪問元素

}

}

}

運行結(jié)果如下圖所示。

圖1-1運行結(jié)果

上述代碼中澡绩,定義一個長度為5的數(shù)組arr稽揭,數(shù)組的角標(biāo)為0~4。由于for循環(huán)中定義的變量i的值在循環(huán)過程中為0~4肥卡,因此可以作為索引溪掀,依次去訪問數(shù)組中的元素,并將元素的值打印出來步鉴。

/*

數(shù)組遍歷:依次訪問數(shù)組中的每一次元素

*/

public class Demo04Array{

public static void main(String[] args){

String[] arr = {"柳巖","唐嫣","賈玲","韓紅","楊冪"};

System.out.println(arr[0]);

System.out.println(arr[1]);

System.out.println(arr[2]);

System.out.println(arr[3]);

System.out.println(arr[4]);

System.out.println("---------------------------");

for(int i=0; i<5; i++){//i = 0,1,2,3,4

System.out.println(arr[i]);

}

System.out.println("---------------------------");

for(int i=0; i

System.out.println(arr[i]);

}

/*

3:一個String數(shù)組中存儲一些人名揪胃,奇偶報數(shù)

String[] arr = {“張三”,”李四”,”王五”,”趙六”};

奇數(shù)同學(xué)為:張三, 王五

偶數(shù)同學(xué)為:李四, 趙六

*/

String name1 = "奇數(shù)同學(xué)為:";

String name2 = "偶數(shù)同學(xué)為:";

for(int i=0; i

if(i % 2 == 0){

name2 = name2 +"" + arr[i];//"偶數(shù)同學(xué)為:" + ""+ "柳巖" + "賈玲"

}else{

name1 = name1 +"" + arr[i];//"偶數(shù)同學(xué)為: " + "" + "唐嫣"

}

}

System.out.println(name1);

System.out.println(name2);

}

}

1.11?數(shù)組的參數(shù)傳遞

1.11.1?基本類型作為參數(shù)傳遞:

/*

基本類型作為參數(shù)傳遞:

當(dāng)調(diào)用方法時,如果傳入的數(shù)值為基本數(shù)據(jù)類型(包含String類型)氛琢,形式參數(shù)的改變對實際參數(shù)不影響

*/

public class Demo01{

public static void main(String[] args){

int a = 10;

int b = 20;

System.out.println("a = " + a);//10

System.out.println("b = " + b);//20

change(a,b);

System.out.println("a = " + a);//10

System.out.println("b = " + b);//20

}

//替換方法

public static void change(int a,int b){

a = 100;

b = 200;

System.out.println("a = " + a);//100

System.out.println("b = " + b);//200

}

}

1.11.2?引用數(shù)據(jù)類型作為參數(shù)傳遞:數(shù)組

/*

引用數(shù)據(jù)類型作為參數(shù)傳遞:數(shù)組

當(dāng)調(diào)用方法時喊递,如果傳入的數(shù)值為引用數(shù)據(jù)類型(String類型除外),形式參數(shù)的改變對實際參數(shù)有影響


*/

public class Demo02{

public static void main(String[] args){

int[] arr = {10,20};

System.out.println("arr[0] = " + arr[0]);//10

System.out.println("arr[1] = " + arr[1]);//20

change(arr);

System.out.println("arr[0] = " + arr[0]);//100

System.out.println("arr[1] = " + arr[1]);//200

}

//替換方法

public static void change(int[] arr){

arr[0] = 100;

arr[1] = 200;

System.out.println("arr[0] = " + arr[0]);//100

System.out.println("arr[1] = " + arr[1]);//200

}

}

1.12?練習(xí)

1.12.1?遍歷數(shù)組

依次輸出數(shù)組中的每一個元素

獲取數(shù)值長度:數(shù)值名.length

public?class?Demo07ArrayTest {

public?static?void?main(String[] args) {

//定義數(shù)組

int[] arr?= { 11, 22, 33, 44, 55 };


//原始做法

System.out.println(arr[0]);

System.out.println(arr[1]);

System.out.println(arr[2]);

System.out.println(arr[3]);

System.out.println(arr[4]);

System.out.println("--------------------");


//用for循環(huán)改進

for?(int?x?= 0; x?< 5; x++) {

System.out.println(arr[x]);

}

System.out.println("--------------------");

//為了解決我們?nèi)?shù)數(shù)組中元素個數(shù)的問題阳似,數(shù)組就提供了一個屬性:length

//用于獲取數(shù)組的長度

//格式:數(shù)組名.length

System.out.println("數(shù)組共有:"+arr.length+"個元素");

System.out.println("--------------------");

for(int?x=0; x

System.out.println(arr[x]);

}

}

}

1.12.2?獲取最值

獲取數(shù)組中的最大值最小值

public?class?Demo08ArrayTest {

public?static?void?main(String[] args) {

//定義數(shù)組

int[] arr?= {12,98,45,73,60};

//定義參照物

int?max?= arr[0];

//遍歷數(shù)組骚勘,獲取除了0以外的所有元素,進行比較

for(int?x=1; x

if(arr[x] > max) {

max?= arr[x];

}

}

System.out.println("數(shù)組中的最大值是:"+max);

}

}


1.13?二維數(shù)組

1.13.1?二維數(shù)組概念

當(dāng)數(shù)組中存儲的元素類型仍然為數(shù)組時障般,該數(shù)組稱為二維數(shù)組调鲸。

1.13.2?二維數(shù)組定義和使用格式

二維數(shù)組定義格式

數(shù)據(jù)類型[][] 數(shù)組名;

數(shù)據(jù)類型 數(shù)組名[][]; 不推薦

數(shù)據(jù)類型[] 數(shù)組名[]; 不推薦

初始化方式

數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[m][n];

數(shù)據(jù)類型[][] 變量名 = new 數(shù)據(jù)類型[][]{{元素…},{元素…},{元素…}};

簡化版格式:數(shù)據(jù)類型[][] 變量名 = {{元素…},{元素…},{元素…}};

public?class?Demo01ArrayArray {

public?static?void?main(String[] args) {

//數(shù)據(jù)類型[][] 數(shù)組名 = {{元素...},{元素...},{元素...},...};

int[][] arr?= { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };


System.out.println(arr); // [[I@104c575

System.out.println(arr.length); //二維數(shù)組中的一維數(shù)組的個數(shù)

System.out.println(arr[0]);// [I@3fa5ac

System.out.println(arr[0].length);

System.out.println(arr[1]);// [I@95cfbe

System.out.println(arr[2]);// [I@179dce4

//我如何獲取到一個二維數(shù)組的元素呢?

System.out.println(arr[0][0]);

System.out.println(arr[1][1]);

System.out.println(arr[2][0]);

}

}?

二維數(shù)組定義方式展示。

a)?第一種方式

?int[][] arr = new int[3][4];

?上面的代碼相當(dāng)于定義了一個3*4的二維數(shù)組挽荡,即二維數(shù)組的長度為3藐石,二維數(shù)組中的每個元素又是一個長度為4的數(shù)組,接下來通過一個圖來表示這種情況定拟,如下圖所示于微。

圖1-2二維數(shù)組

b)?第二種方式

int[][] arr = new int[3][];

第二種方式和第一種類似逗嫡,只是數(shù)組中每個元素的長度不確定,接下來通過一個圖來表示這種情況株依,如下圖所示驱证。

圖1-3?二維數(shù)組

c)?第三種方式

int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

上面的二維數(shù)組中定義了三個元素,這三個元素都是數(shù)組恋腕,分別為{1,2}抹锄、{3,4,5,6}、{7,8,9}荠藤,接下來通過一個圖來表示這種情況伙单,如圖2-54所示。

圖1-4?二維數(shù)組



1.13.3?二維數(shù)組的元素訪問

對二維數(shù)組中元素的訪問也是通過索引的方式哈肖,如需訪問二維數(shù)組中第一個元素數(shù)組的第二個元素吻育,具體代碼如下:

arr[0][1]; ?//訪問的為二維數(shù)組中第1個一維數(shù)組的第2個元素


請參照以為數(shù)組的遍歷求和,完成二維數(shù)組的遍歷求和淤井。

/*

二維數(shù)組:數(shù)組中的元素仍為一個一維數(shù)組

*/

public class Demo05ArrayArray{

public static void main(String[] args){

//定義一個長度為3,每個數(shù)組元素都是一個長度為4的數(shù)組的二維數(shù)組

int[][] a = new int[3][4];

System.out.println(a);//[[I@32784a

System.out.println(a.length);//3

System.out.println(a[0]);//[I@104c575

System.out.println(a[1]);//[I@3fa5ac

System.out.println(a[2]);//[I@95cfbe

//訪問二維數(shù)組中的第一個元素的第一個值

System.out.println(a[0][0]);//0

//賦值

a[0][0] = 100;

System.out.println(a[0][0]);//100

System.out.println("-------------------------");

int[][] b = {{1,2},{3,4,5,6},{7,8,9}};

System.out.println(b);//[[I@95cfbe

System.out.println(b.length);//3

System.out.println(b[0]);//[I@179dce4

System.out.println(b[1]);//[I@1950198

System.out.println(b[2]);//[I@19bb25a

System.out.println(b[0][0]);//1

System.out.println(b[2][2]);//9

//賦值

b[0][0] = 100;

System.out.println(b[0][0]);//100

System.out.println("-------------------------");

int[][] c = new int[3][];

System.out.println(c);//[[I@179935d

System.out.println(c.length);//3

System.out.println(c[0]);//null

System.out.println(c[1]);//null

System.out.println(c[2]);//null

//System.out.println(c[0][0]);//NullPointerException

c[0] = new int[]{1,2,3};

System.out.println(c[0][0]);//1

}

}

1.13.4?二維數(shù)組的遍歷

int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};

public?class?Demo02ArrayArrayTest {

public?static?void?main(String[] args) {

//定義二維數(shù)組

int[][] arr?= { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

//二維數(shù)組中的一維數(shù)組名稱:二維數(shù)組名[索引]

// arr[0]其實就是二維數(shù)組中的第一個一維數(shù)組的名稱

// arr[1]其實就是二維數(shù)組中的第二個一維數(shù)組的名稱

// arr[2]其實就是二維數(shù)組中的第三個一維數(shù)組的名稱

// for (int?x = 0; x < arr[0].length; x++) {

// System.out.println(arr[0][x]);

// }

// System.out.println("hello");//輸出內(nèi)容并換行

// System.out.println("world");//輸出內(nèi)容并換行

// System.out.print("hello");//輸出內(nèi)容不換行

// System.out.print("world");//輸出內(nèi)容不換行

/*

//第一個一維數(shù)組的元素

for (int?x = 0; x < arr[0].length; x++) {

System.out.print(arr[0][x] + " ?");

}

System.out.println();

//第二個一維數(shù)組的元素

for (int?x = 0; x < arr[1].length; x++) {

System.out.print(arr[1][x] + " ?");

}

System.out.println();

//第三個一維數(shù)組的元素

for (int?x = 0; x < arr[2].length; x++) {

System.out.print(arr[2][x] + " ?");

}

System.out.println();

*/

/*for(int?y=0; y<3; y++) {

for (int?x = 0; x < arr[y].length; x++) {

System.out.print(arr[y][x] + " ?");

}

System.out.println();

}*/

for(int?y=0; y

for?(int?x?= 0; x?< arr[y].length; x++) {

System.out.print(arr[y][x] + " ?");

}

System.out.println();//換行

}

}

}


1.14?數(shù)組案例---隨機點名器案例

1.14.1?案例介紹與演示

隨機點名器布疼,即在全班同學(xué)中隨機的打印出一名同學(xué)名字。

要做的隨機點名器币狠,它具備以下3個內(nèi)容:

存儲所有同學(xué)姓名

總覽全班同學(xué)姓名

隨機點名其中一人游两,打印到控制臺

1.14.2?案例分析

在全班同學(xué)中隨機的打印出一名同學(xué)名字。

我們對本案例進行分析总寻,得出如下分析結(jié)果器罐,共可以設(shè)計出三個步驟:

1.存儲全班同學(xué)名字

2.打印全班同學(xué)每一個人的名字

3.在班級總?cè)藬?shù)范圍內(nèi)梢为,隨機產(chǎn)生一個隨機數(shù)索引渐行,查找該隨機數(shù)索引所對應(yīng)的同學(xué)名字

a)?存儲所有同學(xué)姓名

在main方法中定義字符串?dāng)?shù)組類型的變量并創(chuàng)建對象(長度為5)為變量賦值,再向數(shù)組中添加5名同學(xué)姓名铸董。

String[] names = new String[5];

b)?總覽全班同學(xué)姓名

數(shù)組中存儲了所有同學(xué)的姓名祟印。在總覽全班同學(xué)姓名的方法中只要做到遍歷數(shù)組中的每一個名稱即可。

names[0] = “Lucy”;

names[1] = ”Lily”;

...

c)?隨機點名

通過隨機數(shù)類Random產(chǎn)生一個從0到數(shù)組長度的隨機索引粟害。而該索引對應(yīng)的值便是所求的隨機姓名蕴忆。

導(dǎo)包:所屬包java.util.?Random??

創(chuàng)建實例格式:Random ?random = new Random ();

調(diào)用方法,生成隨機索引:int ?randomIndex = random.nextInt(數(shù)組長度);

通過數(shù)組名[索引]的方式獲取該元素并打印悲幅。

/*

隨機點名器:


分析:

要做的隨機點名器套鹅,它具備以下3個內(nèi)容:

存儲所有同學(xué)姓名--> String[]

總覽全班同學(xué)姓名-->遍歷數(shù)組

隨機點名其中一人,打印到控制臺--> Random類

*/

import java.util.Random;


public class RandomName{

public static void main(String[] args){

//存儲所有同學(xué)姓名 --> String[]

String[] names = {"柳巖","唐嫣","賈玲","韓紅","楊冪"};

//總覽全班同學(xué)姓名 --> 遍歷數(shù)組

System.out.println("=============全班同學(xué)姓名==================");

for(int i=0; i

System.out.println("第"+(i+1)+"個同學(xué)的姓名是: " + names[i]);

}

/*

System.out.print("全班同學(xué)姓名: ");

for(int i=0; i

System.out.print("" + names[i]);

}

*/

//隨機點名其中一人汰具,打印到控制臺 --> Random類

Random r = new Random();

//System.out.println(r);//java.util.Random@1e58cb8

//在數(shù)組的范圍內(nèi)隨機產(chǎn)生一個數(shù)

int number = r.nextInt(names.length);//names.length = 5

//通過產(chǎn)生的隨機數(shù),在數(shù)組中查找對應(yīng)的元素(索引)

String name = names[number];//number 0,1,2,3,4

System.out.println("============================================");

System.out.println("隨機到的同學(xué)姓名是: " + name);

}

}


1.15?案例:一維數(shù)組所有元素求和&二維數(shù)組所有元素求和

/*

練習(xí)1:一維數(shù)組所有元素求和

練習(xí)2:二維數(shù)組所有元素求和

*/

public class Demo06Test{

public static void main(String[] args){

//練習(xí)1:一維數(shù)組所有元素求和

int[] a = {1,2,3,4,5};


int sum1 = 0;

//遍歷數(shù)組

for(int i=0; i

//System.out.println(i);

sum1 += a[i];

}

System.out.println("sum1 = " + sum1);

//練習(xí)2:二維數(shù)組所有元素求和

int[][] b = {{1,2},{3,4,5,6},{7,8,9}};

//b[0] = {1,2};

//b[1] = {3,4,5,6};

//b[2] = {7,8,9};?

int sum2 = 0;

/*

//遍歷二維數(shù)組

for(int j=0; j

//定義一個一維數(shù)組用來接收二維數(shù)組中的元素

int[] c = b[j];

//遍歷一維數(shù)組

for(int k=0; k

sum2 += c[k];

}

}

System.out.println("sum2 = " + sum2);

*/

//簡化寫法

for(int j=0; j

for(int k=0;k

sum2 += b[j][k];

}

}

System.out.println("sum2 = " + sum2);

}

}


第2章本日自習(xí)作業(yè):

1.求一個int數(shù)組中所有偶數(shù)的和

2.一個String數(shù)組中存儲一些人名卓鹿,奇偶報數(shù),將所有奇數(shù)的同學(xué)分配到一個數(shù)組中留荔,偶數(shù)的同學(xué)分配到另外數(shù)組中吟孙,并遍歷(兩種理解,兩種解法)(較復(fù)雜)

3.二維數(shù)組求和

4.簡單理解引用類型內(nèi)

5.模擬空指針異常與數(shù)組索引越界異常

6.什么是數(shù)組

7.是否可以不給數(shù)組中的元素賦值

8.直接打印數(shù)組變量,結(jié)果是什么杰妓,怎么理解藻治?


2.1?知識點相關(guān)題

2.1.1?一維數(shù)組定義三種數(shù)組巷挥,并遍歷

要求:

1)?熟練掌握一維數(shù)組的定義桩卵;

2)?熟練遍歷,匯總一維數(shù)組倍宾;

題目:

定義類:Test4吸占,定義main()方法,按以下要求編寫代碼:

A.請使用三種格式定義三個數(shù)組凿宾,都存儲5個數(shù)字:10,20,30,40,50

B.分別遍歷這三個數(shù)組矾屯,打印每個元素;


public?class?Test4 {

public?static?void?main(String[] args) {

int[] arr1 = new?int[5];

arr1[0] = 10;

arr1[1] = 20;

arr1[2] = 30;

arr1[3] = 40;

arr1[4] = 50;

int[] arr2 = new?int[]{10,20,30,40,50};

int[] arr3 = {10,20,30,40,50};

for?(int?i = 0; i < arr1.length; i++) {

System.out.println(arr1[i]);

}

for?(int?i = 0; i < arr2.length; i++) {

System.out.println(arr2[i]);

}

for?(int?i = 0; i < arr3.length; i++) {

System.out.println(arr3[i]);

}

}

}


2.1.2?計算這個數(shù)組中所有元素的和

定義類:Test5初厚,定義main()方法件蚕,按以下要求編寫代碼:

A.請定義一個數(shù)組,任意存儲幾個數(shù)字产禾;

B.計算這個數(shù)組中所有元素的和排作,并打印這個和;

public?class?Test05 {

public?static?void?main(String[] args) {

int[] arr = {10,20,30,40,50};

int?sum = 0;

for?(int?i = 0; i < arr.length; i++) {

sum+=arr[i];

}

System.out.println("數(shù)組中元素和為:"+sum);

}

}

2.1.3?定義數(shù)組亚情,存儲學(xué)員成績

定義類:Test6妄痪,定義main()方法,按以下要求編寫代碼:

A.定義一個數(shù)組楞件,存儲幾個學(xué)員的考試分數(shù):

88.5 ??96 ??97 ??74 ??88.2 ???58.5 ???77.9 ??90 ??99

B.計算這幾個學(xué)員的平均分衫生;

C.統(tǒng)計:成績在80分以上的一共有多少人

public?class?Test06 {

public?static?void?main(String[] args) {

double[] d = {88.5,96,97,74,88.2,58.5,77.9,90,99};

double?sum = 0;

int?count = 0;

for?(int?i = 0; i < d.length; i++) {

sum+= d[i];

if(d[i] >= 80){

count++;

}

}

System.out.println("平均分為:"+(sum/d.length));

System.out.println("成績在80分以上的一共有"+count+"人");

}

}


2.1.4?求數(shù)組中所有偶數(shù)和數(shù)組中偶數(shù)的數(shù)量

定義類:Test7,定義main()方法土浸,按以下要求編寫代碼:

A.定義一個數(shù)組罪针,存儲以下信息:

78 23 56 89 88 84 72 99 56 72 100 53 28

B.求數(shù)組中所有偶數(shù)的和

求數(shù)組中偶數(shù)的數(shù)量;

public?class?Test7 {

public?static?void?main(String[] args) {

int[] arr = {78,23,56,89,88,84,72,99,56,72,100,53,28};

int?sum = 0;

int?count = 0;

for?(int?i = 0; i < arr.length; i++) {

if(arr[i] % 2 == 0){

sum += arr[i];

count++;

}

}

System.out.println("數(shù)組中偶數(shù)和為:"+sum+"偶數(shù)數(shù)量為:"+count);

}

}


2.1.5?打印數(shù)組中所有偶數(shù)索引位置上的值

定義類:Test8黄伊,定義main()方法泪酱,按以下要求編寫代碼:

A.定義一個數(shù)組,存儲以下信息:

java ?oracle ?php ?mysql ?HTML ?android ?IOS ?JSP

B.打印數(shù)組中所有偶數(shù)索引位置上的值还最;


package?StudyJavaSEday04;

/**

*定義一個數(shù)組墓阀,存儲以下信息:

?* java ?oracle ?php??mysql??HTML ?android ?IOS ?JSP

*打印數(shù)組中所有偶數(shù)索引位置上的值;

?* @author奮斗蒙

?*

?*/

public?class?OuShusouyin {


public?static?void?main(String[] args) {

String [] s?= {"java","oracle","php","mysql","HTML","android","IOS","JSP"};

for?(int?i?= 0; i?< s.length; i++) {

if?(i%2==0) {

System.out.println(s[i]);

}

}

}

}


2.1.6?定義數(shù)組并打印拓轻,求所有數(shù)的累加和雨平均值

1?知識點:二維數(shù)組

要求:

1)?熟練掌握二維數(shù)組的定義斯撮;

2)?熟練遍歷,匯總二維數(shù)組悦即;

題目:

1)?定義類:Test9吮成,定義main()方法橱乱,按以下要求編寫代碼:

A.?定義二維數(shù)組存儲以下值:

10 11 12 13 14

20 21 22 23 24

30 31 32 33 34

40 41 42 43 44

50 51 52 53 54

B.?按上面的格式打印這個二維數(shù)組;

C.?求所有數(shù)的累加和粱甫;

D.?求所有數(shù)的平均值泳叠;

public?class?Test9 {

public?static?void?main(String[] args) {

int[][] arr = { { 10, 11, 12, 13, 14 }, { 20, 21, 22, 23, 24 },

{ 30, 31, 32, 33, 34 }, { 40, 41, 42, 43, 44 },

{ 50, 51, 52, 53, 54 } };

int?sum = 0;

int?count = 0;

for?(int?i = 0; i < arr.length; i++) {

for?(int?j = 0; j < arr[i].length; j++) {

sum += arr[i][j];

count++;

System.out.print(arr[i][j]+" ?");

}

System.out.println();

}

System.out.println("二維數(shù)組中所有元素累加和為:"+sum);

System.out.println("所有數(shù)的累加和為:"+(sum/count));

}

}

2.1.7?按照格式打印數(shù)組

2)?定義類:Test10,定義main()方法茶宵,按以下要求編寫代碼:

A.?定義二維數(shù)組存儲以下值(注:只對非0位置賦值):

0 ?0 ?12 ?5 ?0

1 ?0 ?7 ??0 ?8

0 ?6 ?0 ??0 ?0

9 ?0 ?4 ??2 ?1

B.?按上述格式打印數(shù)組危纫;

public?class?Test10 {

public?static?void?main(String[] args) {

int[][] arr = new?int[4][5];

arr[0][2] = 12;

arr[0][3] = 5;

arr[1][0] = 1;

arr[1][2] = 7;

arr[1][4] = 8;

arr[2][1] = 6;

arr[3][0] = 9;

arr[3][2] = 4;

arr[3][3] = 2;

arr[3][4] = 1;

for?(int?i = 0; i < arr.length; i++) {

for?(int?j = 0; j < arr[i].length; j++) {

System.out.print(arr[i][j]+" ?");

}

System.out.println();

}

}

}


2.2?代碼題

2.2.1?鍵盤錄入班級人數(shù),并用隨機數(shù)產(chǎn)生成績

第一題:分析以下需求乌庶,并用代碼實現(xiàn)

1.鍵盤錄入班級人數(shù)

2.根據(jù)錄入的班級人數(shù)創(chuàng)建數(shù)組

3.利用隨機數(shù)產(chǎn)生0-100的成績(包含0和100)

4.要求:

(1)打印該班級的不及格人數(shù)

(2)打印該班級的平均分

(3)演示格式如下:

請輸入班級人數(shù):

鍵盤錄入:100

控制臺輸出:

不及格人數(shù):19

班級平均分:87

import?java.util.Random;

import?java.util.Scanner;


public?class?Demo01 {

public?static?void?main(String[] args) {

Scanner sc = new?Scanner(System.in);

System.out.println("請輸入班級人數(shù):");

int?nextInt = sc.nextInt();

int[] arr = new?int[nextInt];

int?count = 0;

int?source = 0;

int?avg?= 0;

Random random = new?Random();

for(int?i = 0 ; i < arr.length; i++){

arr[i] = random.nextInt(101);

System.out.println(arr[i]);

if(arr[i] < 60){

count++;

}

source += arr[i];

}

System.out.println("不及格人數(shù):"+count);

System.out.println("班級平均分:"+(source/arr.length));

}

}

2.2.2?鍵盤錄入班級總共多少組?以及每組的學(xué)生數(shù)量?

第二題:分析以下需求种蝶,并用代碼實現(xiàn)

1.基礎(chǔ)班考試要進行分組,鍵盤錄入該班級總共多少組?以及每組的學(xué)生數(shù)量?

2.根據(jù)錄入的組數(shù)及每組學(xué)員的數(shù)量創(chuàng)建二維數(shù)組

3.利用隨機數(shù)產(chǎn)生0-100的成績(包含0和100)

4.要求:

(1)打印該班級中每組的不及格人數(shù)

(2)打印該班級中每組的平均分

(3)打印組的最高平均分

(4)打印班級中的不及格人數(shù)

(5)打印班級平均分

(6)演示格式如下:

請輸入班級總組數(shù):3

請輸入班級中每組的人數(shù):10

控制臺輸出:

第1組不及格人數(shù)為: 6 人

第1組平均分為: 52

第2組不及格人數(shù)為: 7 人

第2組平均分為: 46

第3組不及格人數(shù)為: 3 人

第3組平均分為: 69

班級中單組最高平均分為:69

班級中不及格人數(shù)為: 16人

班級總平均分為: 56

import?java.util.Random;

import?java.util.Scanner;


public?class?Demo02 {

public?static?void?main(String[] args) {

Scanner sc = new?Scanner(System.in);

System.out.println("請輸入班級總組數(shù):");

int?a = sc.nextInt();

System.out.println("請輸入班級中每組的人數(shù):");

int?b = sc.nextInt();

int[][] arr = new?int[a][b];

Random r = new?Random();

int?avg = 0;

for?(int?i = 0; i < arr.length; i++) {

int?count = 0;

int?source = 0;

for?(int?j = 0; j < arr[i].length; j++) {

arr[i][j] = r.nextInt(101);

if(arr[i][j]<60){

count++;

}

source+=arr[i][j];

}

int?avg1 = source/arr[i].length;

System.out.println("第"+(i+1)+"組不及格人數(shù)為:"+count+"人");

System.out.println("第"+(i+1)+"組平均分為:"+avg1);

if(avg1>avg){

avg = avg1;

}

}

System.out.println("班級中單組最高平均分為:"+avg);

}

}


2.2.3?第三題:看程序說結(jié)果,請不要提前運行瞒大?

public class Test03_01 {

public static void main(String[] args) {

int[] arr1 = {1,2,3,4,5};

int[] temp1 = arr1;

int[] temp2 = arr1;

System.out.println("通過temp1取出數(shù)組值: ");

for(int i = 0;i

System.out.print(temp1[i]+" ");

}

System.out.println();

System.out.println("通過temp2取出數(shù)組值: ");

for(int i = 0;i

System.out.print(temp2[i]+" ");

}

System.out.println();

temp1[2] = 9;

System.out.println("通過temp1取出數(shù)組值: ");

for(int i = 0;i

System.out.print(temp1[i]+" ");

}

System.out.println();

System.out.println("通過temp2取出數(shù)組值: ");

for(int i = 0;i

System.out.print(temp2[i]+" ");

}

System.out.println();

}

}

public class Test03_02 {

public static void main(String[] args) {

int[] arr1 = {1,2,3,4,5};

int[] arr2 = {5,6,7};

int[] temp = arr1;

System.out.println("通過temp取出arr1中的元素: ");

for(int i = 0;i

System.out.print(temp[i]+" ");

}

temp = arr2;

System.out.println("通過temp取出arr2中的元素: ");

for(int i = 0;i

System.out.print(temp[i]+" ");

}

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末螃征,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子透敌,更是在濱河造成了極大的恐慌盯滚,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酗电,死亡現(xiàn)場離奇詭異魄藕,居然都是意外死亡,警方通過查閱死者的電腦和手機撵术,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門背率,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嫩与,你說我怎么就攤上這事寝姿。” “怎么了蕴纳?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵会油,是天一觀的道長个粱。 經(jīng)常有香客問我古毛,道長,這世上最難降的妖魔是什么都许? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任稻薇,我火速辦了婚禮,結(jié)果婚禮上胶征,老公的妹妹穿的比我還像新娘塞椎。我一直安慰自己,他們只是感情好睛低,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布案狠。 她就那樣靜靜地躺著服傍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪骂铁。 梳的紋絲不亂的頭發(fā)上吹零,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音拉庵,去河邊找鬼灿椅。 笑死,一個胖子當(dāng)著我的面吹牛钞支,可吹牛的內(nèi)容都是我干的茫蛹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼烁挟,長吁一口氣:“原來是場噩夢啊……” “哼婴洼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起撼嗓,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤窃蹋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后静稻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體警没,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年振湾,在試婚紗的時候發(fā)現(xiàn)自己被綠了铸敏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡衣厘,死狀恐怖捺典,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情大州,我是刑警寧澤续语,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站厦画,受9級特大地震影響疮茄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜根暑,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一力试、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧排嫌,春花似錦畸裳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帅容。三九已至,卻和暖如春伍伤,著一層夾襖步出監(jiān)牢的瞬間丰嘉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工嚷缭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饮亏,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓阅爽,卻偏偏與公主長得像路幸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子付翁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 【程序1】 題目:古典問題:有一對兔子简肴,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一...
    阿里高級軟件架構(gòu)師閱讀 3,278評論 0 19
  • 【程序1】 題目:古典問題:有一對兔子百侧,從出生后第3個月起每個月都生一對兔子砰识,小兔子長到第三個月后每個月又生一對兔...
    葉總韓閱讀 5,126評論 0 41
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法佣渴,內(nèi)部類的語法辫狼,繼承相關(guān)的語法,異常的語法辛润,線程的語...
    子非魚_t_閱讀 31,587評論 18 399
  • 每日橙思 要想保持內(nèi)心的寧靜專注的做一件事膨处,那就不能太注重結(jié)果,如果急功近利會在看不到未來的情況下放棄目前所做的事...
    cf85ea560887閱讀 127評論 0 0
  • 寫給自己得日記 和平常一樣砂竖,六點鐘睜開了雙眼真椿,無精打采,內(nèi)心很空乎澄⊥幌酰看著旁邊熟睡的人兒,不由得發(fā)起了呆置济。 這個時候解恰,...
    d6d9e65c61fa閱讀 115評論 0 0