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]);
}
}