Day07
一、特殊的流程控制语句
1、概念: 特殊的流程控制语句是指在编程中用于改变程序执行流程的语句 。
2、分类:
2.1 break
:用于终止循环或开关语句,并跳出当前代码块。通常与循环语句(如 for
、while
)或开关语句(如 switch
)配合使用。
2.2 continue
:用于跳过当前循环中剩余的代码,并开始下一次循环迭代。通常与循环语句(如 for
、while
)配合使用。
2.3 return:用于结束函数的执行,并返回一个值(可选)。当遇到 return
语句时,函数将立即停止执行,并返回指定的值给调用者。
2.4 throw:用于抛出异常。
当遇到
throw` 语句时,会中断当前代码块的执行,并将异常抛出给上层调用栈处理。
2.5 try-catch-finally:用于捕获和处理异常。
try
块中的代码尝试执行,如果发生异常,则会跳转到对应的 catch
块进行异常处理。
finally` 块中的代码无论是否发生异常都会执行。
2.6 goto:用于无条件跳转到程序中的标记位置。goto
语句可以使程序执行流程跳转到指定的标记位置,但过度使用 goto
可能会导致代码难以理解和维护,因此在大多数编程语言中已经被弃用或限制使用。
注意: 特殊流程控制语句应谨慎使用,过度使用可能会导致代码逻辑混乱、可读性差,并增加调试和维护的困难。在编写代码时,应尽量遵循良好的编码规范和结构化的程序设计原则,以提高代码的可读性和可维护性。
3、特殊的流程控制语句 - break
理解:作用在循环中,表示跳出整个循环语句
实验:
while(true){
System.out.println("111");
System.out.println("222");
if(true){
break;
}
System.out.println("333");
}
4、continue
理解:作用于循环中,表示跳过循环体剩余的部分,进入到下一次循环
实验:
while(true){
System.out.println("111");
System.out.println("222");
if(true){
continue;
}
System.out.println("333");
}
5、return
理解:作用于方法中,表示结束该方法
实验:
System.out.println("111");
System.out.println("222");
if(true){
return;
}
System.out.println("333");
6、label
理解:给循环取名字(做标记)
实验:
public class LabelExample {
public static void main(String[] args) {
outerLoop: // 定义标签
for (int i = 1; i <= 3; i++) {
System.out.println("Outer loop iteration: " + i);
innerLoop:
for (int j = 1; j <= 3; j++) {
System.out.println("Inner loop iteration: " + j);
if (i == 2 && j == 2) {
break outerLoop; // 使用标签进行跳出外层循环
}
}
}
System.out.println("End of program");
}
}
二、Java方法
1、概念:特定功能的代码块
2、好处:减少了代码的冗余
3、分类:
无参数无返回值的方法
带参数的方法
带返回值的方法
4、理解:
参数是方法调用时传入的数据
返回值是方法执行完毕后返回的数据
5、无参数无返回值的方法
语法结构:
public static void 方法名(){
…代码块…
}
注意:
public表示公有的,意味着该方法在哪都可以调用
static表示该方法为静态方法,静态方法直接使用类名调用
void表示无返回值,该方法执行完毕后不会返回数据
方法写在类里,方法与方法之间是平级关系,方法必须被调用,不然永远是个摆设,方法可以重复调用。
6、带参数的方法
语法结构:
public static void 方法名(参数列表){
…代码块…
}
注意:
形式参数-形参:方法声明时设置的参数
形参必须设置类型
多个形参使用逗号分隔
局部变量表示方法里的变量,其作用域只能在方法中使用
形参也是局部变量
实际参数-实参:调用方法时传入的具体参数
多个实参使用逗号分隔
实参与形参的个数必须一致,并且类型必须兼容
7、带返回值的方法
语法结构:
public static 返回值类型 方法名([参数列表]){
…代码块…
return 具体数据;
}
注意:
方法声明时规定返回值类型
返回的具体数据必须和方法声明时返回值类型兼容
方法功能的单一性(不要让一个方法的功能太强大)