嵌套循环
概念:一次循环的循环体又是一个循环。循环中定义循环 格式:
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支持重载的好处:
如果不支持重载:
如果有一些方法,这些方法都属于同一类功能。需要给这些方法起不同的名字,后 续想要使用这些方法,需要去查询方法的名字。这样做太麻烦。
支持重载:
如果有一些方法,这些方法都属于同一类功能,可以给这些方法起一个共同的名字, 后续想要使用这些方法,不需要查询不同的名字,名字都是一样的直接使用即可。