JAVA20231205
141142break课堂练习
String实现判断是否相等 equals类
import java.util.Scanner;
public class BreakExercise02 {
//编写一个 main 方法
public static void main(String[] args) {
//实现登录验证,有 3 次机会,如果用户名为"丁真" ,密码"666"提示登录成功,
//否则提示还有几次机会,请使用 for+break 完成
//
// 思路分析
// 1. 创建 Scanner 对象接收用户输入
// 2. 定义 String name ; String passwd; 保存用户名和密码
// 3. 最多循环 3 次[登录 3 次],如果 满足条件就提前退出
// 4. 定义一般变量 int chance 记录还有几次登录机会
//
// 代码实现
Scanner myScanner = new Scanner(System.in);
String name = "";
String passwd = "";
int chance = 3; //登录一次 ,就减少一次
for( int i = 1; i <= 3; i++) {//3次登录机会
System.out.println("请输入名字");
name = myScanner.next();
System.out.println("请输入密码");
passwd = myScanner.next();
//比较输入的名字和密码是否正确
//补充说明字符串 的内容 比较 使用的 方法 equals
if("丁真".equals(name) && "666".equals(passwd)) {
System.out.println("恭喜你,登录成功~");
break;
}
//登录的机会就减少一次
chance--;
System.out.println("你还有" + chance + "次登录机会");
}
}
}
143144145跳转控制语句continue
基本介绍:
- continue语句用于结束本次循环,继续执行下一个循环
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用规则一样
基本语法:
{ …
continue;
…
}
以while使用continue为例,画出示意图
快速入门案例:
细节案例分析和说明:
label1:
for(int j = 0; j < 4; j++){
label2:
for(int i = 0; i < 10; i++){
if(i == 2){
//看看分别输出什么值,并分析
//continue ;
//continue label2;
continue label1;
}
System.out.println("i = " + i);
}
}
146跳转控制语句return
基本介绍:return使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。
注意:如果return写在main方法,则退出程序
147148149150151152本章作业
153本章内容梳理
154听懂和会做?
155156数组
数组介绍:数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型
157158159160数组使用
-
使用方式1
数组定义:
数据类型 数组名[ ] = new 数据类型 [大小]
int a [ ] = new int [5]//创建了一个数组,名字a,存放5个int数组的引用(使用/访问/获取数组元素):
数组名[下标/索引/index]比如:你要使用a数组的第3个数 a[2],数组的下标从0开始
快速入门案例:import java.util.Scanner; public class Array02 { //编写一个 main 方法 public static void main(String[] args) { //演示 数据类型 数组名[]=new 数据类型[大小] //循环输入 5 个成绩,保存到 double 数组并输出 //步骤 //1. 创建一个 double 数组,大小 5 //(1) 第一种动态分配方式 //double scores[] = new double[5]; //(2) 第 2 种动态分配方式, 先声明数组,再 new 分配空间 double scores[] ; //声明数组, 这时 scores 是 null scores = new double[5]; // 分配内存空间,可以存放数据 //2. 循环输入 // scores.length 表示数组的大小/长度 // Scanner myScanner = new Scanner(System.in); for( int i = 0; i < scores.length; i++) { System.out.println("请输入第"+ (i+1) +"个元素的值"); scores[i] = myScanner.nextDouble(); } //输出,遍历数组 System.out.println("==数组的元素/值的情况如下:==="); for( int i = 0; i < scores.length; i++) { System.out.println("第"+ (i+1) +"个元素的值=" + scores[i]); } } }
-
使用方式2-动态初始化
先声明数组:语法:数据类型 数据名[ ] ; 也可以 数据类型[ ] 数据名;
int a[ ] ; int [ ] a;
创建数组:
语法:数组名 = new 数据类型 [ 大小 ]
a = new int [10]
-
使用方式3-静态初始化
初始化数组语法:数据类型 数组名[ ] = {元素值,元素值…}
int a [ ] = { 2,5,6,7,8,89,90,34,56}适合用于知道数组有多少元素的具体值
-
数组使用的细节和注意事项
-
数组是多个相同类型数据的组合,实现对这些数据的统一管理
-
数组中的元素可以是任何数据类型,包括基本数据类型和引用类型,但是不能混用。
-
数组创建后,如果没有赋值,有默认值
int 0, short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000, boolean false, String null
-
使用数组的步骤1.声明数组并开辟空间2.给数组各个元素赋值3.使用数组
-
数组的下标是从0开始的
-
数组下标必须在指定范围内使用,否则报:下标越界异常
比如: int [ ] arr = new int [5]; 则有效下标为0-4 -
数组属引用类型,数组型数据是对象(object)
public class ArrayDetail { //编写一个 main 方法 public static void main(String[] args) { //1. 数组是多个相同类型数据的组合,实现对这些数据的统一管理 //int[] arr1 = {1, 2, 3, 60,"hello"};//String ->int double[] arr2 = {1.1, 2.2, 3.3, 60.6, 100};//int ->double //2. 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用 String[] arr3 = {"北京","jack","milan"}; //3. 数组创建后,如果没有赋值,有默认值 //int 0,short 0, byte 0, long 0, //float 0.0,double 0.0,char \u0000, //boolean false,String null // short[] arr4 = new short[3]; System.out.println("=====数组 arr4====="); for(int i = 0; i < arr4.length; i++) { System.out.println(arr4[i]); } //6. 数组下标必须在指定范围内使用,否则报:下标越界异常,比如 //int [] arr=new int[5]; 则有效下标为 0-4 //即数组的下标/索引 最小 0 最大 数组长度-1(4) int [] arr = new int[5]; //System.out.println(arr[5]);//数组越界 } }
-