1、選擇語句switch
編寫格式
Switch( 表達式 ){
Case 常量1:
要執行的語句;
Break;
Case 常量2:
要執行的語句;
Break;
Case 常量3:
要執行的語句;
Break;
Default:
要執行的語句;
Break;
}
執行流程:表達式,和case後面的常量進行比較
和哪個case後的常量相同,就執行哪個case後面的程式,遇到break,就全部結束;
2、case的穿透性
案例:星期1-5 工作日 星期6-7 輸出休息日
case 1 case 2 case 3 case 4 case 5 輸出結果相同
case後面的常量,和switch中資料相同,沒有break,一直向下穿透
case後面沒有break,程式就會一直向下穿透
3、數組
資料多了存數組(原因:資料太多,定義變量,容易造成代碼重複)
定義數組容器
定義數組容器,要素,強制資料類型的語言
必須要有資料類型,大小,就是存儲資料的個數
定義數組公式:
數組類型 [] 變量名 = new 資料類型 [存儲元素的個數]
資料類型:數組中存儲元素的資料類型
[] 表示數組的意思
變量 自定義辨別符
New 建立容器關鍵字
資料類型:數組中存儲元素的資料類型
[] 表示數組的意思
元素個數,就是數組中,可以存儲多少個資料(恒定,數組是定長型)
數組是一個容器:存儲到數組中的每個元素,都有自己的額自動編号
自動編号,最小值是0,最大值,長度-1
自動編号專業名詞,索引(index),下表,角标
通路數組存儲的元素,必須依賴于索引,公式 數組名[索引]
JAVA提供了一個屬性,操作索引的
數組的一個屬性,就是數組的長度,屬性的名字 Length
使用屬性: 數組名.length 資料類型 Int
數組的最小索引是0 最大索引是數組.length-1
4、JVM的記憶體劃分
5、
其中:
arr引用類型,儲存的資料,實質上是記憶體中的位址;
6、為數組的元素指派
Arr[1]=5
7、數組的定義
數組的兩個定義方式
資料類型[] 變量名 = new 資料類型[]{元素1,元素2,元素3} ;
Int[] arr =new int[] {1,2,3,4,5,6,7}
資料類型[] 變量名 ={勻速1,元素2,元素3};
//定義數組,直接大括号指派這種方式推薦使用
int[]arr2={1,2,3,4,5,8};
System.out.println(arr2.length);//列印數組的長度
System.out.println(arr2[5]);//索引從0開始
8、數組的周遊
通過索引的方式将數組中的每個元素,分别擷取出來
要依靠索引才能實作
//如下方式是周遊數組最常用的方式
for(inti=0;i<arr.length;i++){
System.out.println(arr[i]);
}
9、數組中常見的異常
數組的索引越界異常
空指針異常
10、數組擷取最值得原理思想
1)定義變量,儲存在數組中
Int max =arr[0];
2)max和數組中的其他元素進行比較
A 數組周遊
B max比其他索引上的元素小
max記錄下較大的數
3)數組周遊完成後
max記錄的就是數組的最大值
publicclassArrayDemo_5{
publicstaticvoidmain(String[]args){
//定義數組,Intleixing
int[]arr={5,2,3,5,8,9,0,4};
//定義變量,記錄數組中0索引上的元素
intmax=arr[0];
//周遊數組,擷取所有的元素,和變量max比較
for(inti=1;i<arr.length;i++){
//變量max,和數組中的每個元素進行比較
//如果Max小于了數組中的一個元素,将較大的元素指派給max
if(arr[i]>max){
max=arr[i];
}
}
//周遊完成,變量max就是數組的最大值
System.out.println(max);
}
}
11、二維數組的定義
11、二維數組的定義和通路
12、二維數組的周遊
13、維數組的周遊求和
/*
二維數組的周遊求和
第一小組銷售額為{11,12}萬元
第二小組銷售額為{21,22,23}萬元
第三小組銷售額為{31,32,33,34}萬元。
每個小組就是一個數組,三個數組存儲到一個數組中,形成二維數組
求和:
每個小組求和
所有元素求和
*/
publicclassArrayArrayDemo_3{
publicstaticvoidmain(String[]args){
int[][]arr={{11,12},{21,22,23},{31,32,33,34}};
//定義變量,儲存2個求和的值
intsum=0;//所有元素的求和
intgroupSum=0;//每個一維數組的求和
for(inti=0;i<arr.length;i++){
for(intj=0;j<arr[i].length;j++){
//将一維數組的元素求和
groupSum+=arr[i][j];
}
System.out.println("每個小組總金額"+groupSum);
//将每個一維數組的總和在相加
sum+=groupSum;
//每個唯一數組求和,清空
groupSum=0;
}
System.out.println("本公司總金額"+sum);
}
}
14、随機點名器
packagecom.ghy.study;
/*
随機點名器:
1存儲姓名
2.預覽所有人的姓名
3.随機出一個人的姓名
*/
importjava.util.Random;
publicclassCallName{
publicstaticvoidmain(String[]args){
//存儲姓名,姓名存儲到數組中
//數組存儲姓名,姓名的資料類型,String
String[]names={"張三","李四","王五","李蕾","韓梅梅","小名","老王","小華","約翰遜","愛麗絲"};
//預覽:周遊數組,列印所有姓名
for(inti=0;i<names.length;i++){
System.out.println(names[i]);
}
System.out.println(names.length);
System.out.println("=============");
//随機出一個人的名
//利用随機數,生成一個整數,作為索引,到數組中找到對應的元素
Randomran=newRandom();
//随機數,範圍必須是0-數組的最大索引
//nextInt是0-這個數,但不包含這個數
intindex=ran.nextInt(names.length);//index就是随機數,作為索引
System.out.println(names[index]);
}
}
