JAVA学习day04

简介: 1、选择语句switch编写格式Switch( 表达式 ){Case 常量1: 要执行的语句;Break;Case 常量2: 要执行的语句;Break;Case 常量3: 要执行的语句;Break;Default: 要执行的语句;Break;...

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

image

目录
相关文章
|
17天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
1月前
|
安全 Java 程序员
学习Java类加载机制
在Java的世界里,每一个类或者接口,在经历编译器后,都会生成一个个.class文件。
18 0
|
17天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
1月前
|
Java 索引
Java中String方法学习总结_kaic
Java中String方法学习总结_kaic
|
2天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
2天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
2天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
2天前
|
Java API
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作
|
2天前
|
并行计算 算法 安全
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程