嵌套循环
概念:一次循环的循环体又是一个循环。循环中定义循环 格式:
for(初始化语句1;条件表达式1;初始语句1的变化){
for(初始化语句2;条件表达式2;初始化语句2的变化){
循环体语句;
}
}
执行流程: (1)初始化语句1 (2)条件表达式1,结果要么为真,要么为假 (3)如果条件表达式1结果为假,结束整个嵌套循环 (4)如果条件表达式1结果为真, (5)进入内层循环,执行初始化语句2 (6)条件表达式2,结果要么为真,要么为假 (7)如果条件表达式2的结果为假,结束内层循环 (8)执行初始化语句1的变化 (9)回到第二步,重新执行条件表达式1 (10)如果条件表达式2的结果为真,执行循环体语句 (11)执行初始化语句2的变化 (12)回到第6步 图示: 总结: (1)外层循环依次,内层循环5次 (2)整个循环结束的条件:外层的条件表达式为假
代码
class Demo01 {
public static void main(String[] args) {
//外层循环一共循环3次
for(int i = 1;i <= 3;i++){
//内层循环一共循环了3遍,每一遍循环5次
for(int j = 1;j <= 5;j++){
System.out.println("i = " + i + " ,j = " + j);
}
}
}
}
案例1
class Demo02 {
public static void main(String[] args) {
//使用嵌套循环,打印如下图形
/*
*****
*****
*****
*****
*/
//外层循环控制行数,内层循环控制列数
//外层循环循环4次,一共4行
for(int i = 1;i <= 4;i++){
//内层循环每次循环5次,每行5个
for(int j = 1;j <= 5;j++){
System.out.print("*");
}
System.out.println();
}
}
}
方法
概述:用来表示某一个功能的代码段 原因: 如果有一段功能经常使用,就可以使用一个大括号将这段代码括起来,并且给这段代码 起一个名字;下次想要使用这段代码,只需要使用这个名字就可以。
方法的定义
格式: 修饰符 返回值类型 方法名称 (参数列表){ 方法体语句; return语句; } 说明: (1)修饰符:统一写为public static (2)返回值类型:方法表示某一个功能, 这个功能有可能有些数据的产出,将来方法 产出的数据是哪一个类型,返回值类型定义为哪一个类型。 (3)方法名称:给方法起一个名字(以后调用方法使用的名字) 小驼峰命名法 (4)参数列表:方法表示某一个功能,想要调用该功能,就需要提供对应的数据 一般定义变量来表示定义参数列表 (5)方法体语句:完成方法所需功能,对应的逻辑代码 (6)return语句:返回数据 补充: 方法定义之后,不会自动执行。需要自己调用
方法的使用
格式: 方法名称(参数); 分类: (1)直接调用:直接使用方法的名字,传递对应的参数 当方法没有返回值的时候 (2)输出调用:将方法的调用,定义在一个输出语句中 方法有返回值,只需要将返回的值进行打印 (3)赋值调用:方法有返回值,使用一个变量接收这个返回值 方法返回的数据,后续需要多次使用,可以使用一个变量存储
代码
class Demo03 {
public static void main(String[] args) {
int a = 10;
int b = 20;
//输出调用
System.out.println(getMax(a,b));
System.out.println(getMax(1000,2000));
//直接调用
getMax(1,2);
//赋值调用
int max = getMax(10,20);
//后续可以多次使用max最大值
}
//定义一个方法,可以求出两个整数的最大值
//修饰符:public static
//返回值类型:int
//方法名称:getMax
//参数列表:int a int b
//方法体:获取最大值的代码
//return语句:return max
public static int getMax(int a,int b){
int max;
if(a > b){
max = a;
}else{
max = b;
}
return max;
}
}
方法的注意事项
方法的定义: (1)方法之间是平级关系,不能嵌套定义 (2)方法可以嵌套使用 (3)方法定义的先后没有任何区别 方法的执行的顺序,跟使用的顺序有关, 先使用方法先执行,后使用方法后执行 参数列表: 形式参数:在定义方法时,需要传递给方法的数据 实际参数:在使用方法时,传递的一些具体数据 实际参数和形式参数,是按照顺序传递的(按照顺序对应) return语句: (1)作用一:结束方法 作用二:给方法返回数据 (2)如果方法有返回值,return后面跟着的数据的类型必须和定义的返回值类型一致 (3)如果方法没有返回值,方法的返回值类型就定义为void return语句可以写为:return; 也可以省略不写 (4)return返回的数据返回给谁?谁调用返回给谁(在哪调用的,就返回到哪一个地 方) (5)如果需要返回数据,return语句必须定义在方法的最后一行
方法的执行图示
方法的重载
重载:Overload 超载 方法的重载: 在同一个类中,多个方法的方法名相同,参数列表不同,与返回值类型无关 说明: (1)在同一个类中:方法的重载只能出现在同一个类中 (2)多个方法的名字相同:方法名一模一样,大小写都一样 (3)参数列表不同:参数的个数不同、参数的类型不同、参数类型的顺序不同 (4)返回值类型无关:方法之间是不是重载,跟返回值类型没有关系 Java支持重载的好处: 如果不支持重载: 如果有一些方法,这些方法都属于同一类功能。需要给这些方法起不同的名字,后 续想要使用这些方法,需要去查询方法的名字。这样做太麻烦。 支持重载: 如果有一些方法,这些方法都属于同一类功能,可以给这些方法起一个共同的名字, 后续想要使用这些方法,不需要查询不同的名字,名字都是一样的直接使用即可。