知识点:
方法重载 数组的定义和规范
一、方法的重载
1.1 概述
方法重载是指在一个类中定义多个同名的方法,但每个方法的参数列表不同(也就是参数的个数和类型不同)
程序调用方法时,可以通过传递给它们的不同个数和类型的参数来决定具体调用哪个方法
1.2 练习 1:测试方法重载
创建 Java 工程: DAY03
创建包: cn.tedu.method
创建类: Test1_MethodReload.java
package cn.mbh.method;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午1:46:50
*/
/**本类用于测试方法的重载*/
public class Test1_MethodReload {
public static void main(String[] args) {
//重载:在一个类中有多个同名的方法+方法的参数列表不同(个数不同/类型不同)
//参数列表指的是参数的类型顺序和个数,而不是参数名
//(int a,int b)和(int b,int a)不属于重载
//(int a,String b)和(String b,int a)属于重载
//方法的调用:根据方法名与参数列表进行调用
method();
method(10);
method("海绵宝宝",3);
method(100,100);
}
//创建method(int num1,int num2)
public static void method(int num1, int num2) {
System.out.println(num1+num2);
}
//创建method(String name,int age)
public static void method(String name, int age) {
System.out.println(name+"今年"+age+"岁");
}
//创建method(int num)
public static void method(int num) {
System.out.println(num*num);
}
//创建method()
public static void method() {
System.out.println("哈哈哈哈我没有参数");
}
}
二、break 与 continue
2.1 形式
break: 直接结束当前循环,跳出循环体,简单粗暴TIPS: break 以后的循环体中的语句不会继续执行,循环体外面的会执行continue:跳出本次循环,继续下一轮循环TIPS: continue 后本轮循环体中的语句不会继续执行,但会继续执行下轮循环,循环体外面的也会执行return:结束本方法,直接返回调用位置TIPS:一旦在循环体内执行 return ,将会结束该方法,循环自然也随之结束。与 continue 和 break 不同的是, return 直接结束整个方法,不管这个 return 处于多少层循环之内。
2.2 练习 2:找数字 88
创建类: Test2_BreakAndContinue.java
需求:
接收用户输入的
100
次数字,如果不是
88
继续输入,找到
88
就结束
package cn.mbh.method;
import java.util.Scanner;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午1:56:54
*/
/**需求: 接收用户输入的100次数字,如果不是88继续输入,找到88就结束*/
public class Test2_BreakAndContinue {
public static void main(String[] args) {
//调用method()方法
method();
}
//创建method()
public static void method() {
//提示用户输入数字
System.out.println("请输入你的数字:");
for (int i = 1; i <= 100; i++) {
//接收用户输入的100次数字
int input = new Scanner(System.in).nextInt();
if (input != 88) { //如果不是88
continue;//继续输入
//System.out.println(0);break或者continue之后都不允许写代码,都是不可到达的代码
} else if(input == 88){
System.out.println("恭喜您,猜对了!");
break;//结束
//System.out.println(1);
}
}
}
}
三、循环结构 2:while
3.1 形式(先判断,再执行)
while ( 执行条件 ){循环体;}
3.2 练习 3-1:猜数字之 while 练习
创建类: Test3_While.java
需求:
产生一个随机数,和用户一直在输入的数字比较
package cn.mbh.method;
import java.util.Random;
import java.util.Scanner;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午2:09:04
*/
/**本类用于练习while循环
* 需求:产生一个随机数,和用户一直在输入的数字做比较
* */
public class Test3_While {
public static void main(String[] args) {
//1.让程序产生一个随机数
int random = new Random().nextInt();
// System.out.println("打个小抄:"+random);//不想打小抄可以注释这句话
//2.调用猜数字方法
method(random);
}
//创建猜数字方法
public static void method(int random) {
//1.写一个死循环
while(true) {
//2.提示并接收用户输入的值
System.out.println("请输入你猜到的数字:");
int input = new Scanner(System.in).nextInt();
//3.判断是否猜对(用户猜的数与生成的随机数做比较)
if (input > random) {//猜大了
System.out.println("猜大了!");
} else if(input < random){//猜小了
System.out.println("猜小了!");
}else if(input == random) {//猜对了
System.out.println("恭喜你猜对了!");
//设置程序出口!!!
break;
}
}
}
}
四、循环结构 3:do-while
4.1 形式(先执行,再判断,循环体代码保证最少执行一次)
do {循环体;} while ( 判断条件 )
4.2 练习 3-2:猜数字之 do-while 练习
package cn.mbh.method;
import java.util.Random;
import java.util.Scanner;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午2:09:04
*/
/**本类用于练习while循环
* 需求:产生一个随机数,和用户一直在输入的数字做比较
* */
public class Test3_While {
public static void main(String[] args) {
//1.让程序产生一个随机数
//nextInt(n) - 产生n以内的随机数,从0开始
// int random = new Random().nextInt();
// System.out.println("打个小抄:"+random);//不想打小抄可以注释这句话
int random = new Random().nextInt(100);//[0,100)
// System.out.println(random);
//2.调用猜数字方法
method(random);
}
//创建猜数字方法
public static void method(int random) {
//1.写一个死循环
// while(true) {
// //2.提示并接收用户输入的值
// System.out.println("请输入你猜到的数字:");
// int input = new Scanner(System.in).nextInt();
// //3.判断是否猜对(用户猜的数与生成的随机数做比较)
// if (input > random) {//猜大了
// System.out.println("猜大了!");
// } else if(input < random){//猜小了
// System.out.println("猜小了!");
// }else if(input == random) {//猜对了
// System.out.println("恭喜你猜对了!");
// //设置程序出口!!!
// break;
// }
// }
do {//先执行一次,再执行判断
//2.接收用户输入的值
System.out.println("请输入你猜的数字:");
int input = new Scanner(System.in).nextInt();
//3.判断是否猜对(用户猜的数与生成的随机数做比较)
if(input>random) {//猜大了
System.out.println("猜大了!");
}else if(input<random) {//猜小了
System.out.println("猜小了!");
}else if(input == random) {//猜对了
System.out.println("恭喜你猜对了!");
//设置程序出口!!!
break;
}
}while(true);//死循环 -- 需要设置程序的出口
}
}
五、数组
5.1 概念
数组 Array,标志是[ ]是用于储存多个相同类型数据的集合想要获取数组中的元素值,可以通过脚标(下标)来获取,下标是从 0 开始的
5.2 创建数组
一般分为动态初始化和静态初始化
//1. 静态初始化int [ ] c = {1,2,3,4,5};int [ ] b = new int [ ]{1,2,3,4,5};//2. 动态初始化int [ ] a = new int [5];
5.3 练习 4:数组中存入 hello
创建类: Test4_CreateArray.java
package cn.mbh.method;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午2:41:13
*/
/**本类用于练习数组的创建
* 需求:将单词hello存储到数组中
* */
public class Test4_CreateArray {
public static void main(String[] args) {
//1.创建数组
//1.1静态创建--已经规定好了数组中的数据
char[] c = {'h','e','l','l','o'};
char[] c2 = new char[] {'h','e','l','l','o'};
System.out.println(c);
System.out.println(c2);
//1.2动态创建--只定义数组的大小,未放入数据
char[] c3 = new char[5];
//通过数组下标来操作数组
c3[0] = 'h';//给数组中的第1个元素赋值,注意,数组下标从0开始!!!!
c3[1]='e';//给数组中的第2个元素赋值
c3[2]='l';//给数组中的第3个元素赋值
c3[3]='l';//给数组中的第4个元素赋值
c3[4]='o';//给数组中的第5个元素赋值
System.out.println(c3);
}
}
5.4 数组的长度
数组的长度用 length 属性来表示,数组一旦创建,长度不可改变,数组的长度允许为 0
六、拓展
6.1 循环总结
1) 顺序结构的程序语句只能被执行一次,如果想要同样的操作执行多次,就需要使用循环结构2) 循环结构的优点:执行代码的重复步骤,减少代码的冗余,使代码简洁明了3) java 中有三种主要的循环结构:for 循环、while 循环、do...while 循环4) 循环四要素:循环初始化(开始条件):一条或多条语句,这些语句完成一些初始化操作,让循环开始执行循环继续条件(循环条件):控制循环是否继续或结束的条件循环体:需要被循环执行的代码循环步长(更改条件):当前循环和下一次循环之间的差量5) 循环语句的特点:循环语句可以在满足循环条件的情况下,反复执行,当反复执行这个循环体时,我们需要在合适的时候把循环判断 条件修改为 false,从而结束循环,否则循环将一直执行下去,会形成死循环。
6.2 三种循环的区别
三种循环都可以互相代替
1、for:明确知道循环次数
2、while/do while:当循环次数不确定时
3、while:先判断,不符合规则,不执行代码
4、do while:代码最少被执行一次,再去判断,符合规则,再次执行代码
for( 开始条件 ; 循环条件 ; 更改条件 ){循环体;}while( 循环条件 ){循环体; 更改条件 ;}do{循环体; 更改条件 ;}while( 循环条件 );
TIPS
:
while
循环中一定要把初始化放在循环之外,否则每当执行一次循环,就会初始化一个变量,占用空间。
TIPS
:
do-while
循环与前边两者的循环有一个很大的不同,循环体在判断循环条件之前
先无条件执行一次