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

目录
相关文章
|
29天前
|
Java 调度 开发者
Java线程池ExecutorService学习和使用
通过学习和使用Java中的 `ExecutorService`,可以显著提升并发编程的效率和代码的可维护性。合理配置线程池参数,结合实际应用场景,可以实现高效、可靠的并发处理。希望本文提供的示例和思路能够帮助开发者深入理解并应用 `ExecutorService`,实现更高效的并发程序。
34 10
|
1月前
|
Java 数据库连接 数据库
【潜意识Java】深度分析黑马项目《苍穹外卖》在Java学习中的重要性
《苍穹外卖》项目对Java学习至关重要。它涵盖了用户管理、商品查询、订单处理等模块,涉及Spring Boot、MyBatis、Redis等技术栈。
92 4
|
1月前
|
前端开发 Java 数据库连接
【潜意识Java】深度解读JavaWeb开发在Java学习中的重要性
深度解读JavaWeb开发在Java学习中的重要性
30 4
|
1月前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
53 1
|
3月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
3月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
4月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
124 43
Java学习十六—掌握注解:让编程更简单
|
4月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
49 0
|
4月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
67 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
4月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
81 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用