java跳出递归函数 java递归如何退出_代码示例


JAVA06

1.break和continue

(1)break

break作用:

在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。

代码示例:


java跳出递归函数 java递归如何退出_代码示例_02

图1


打印结果:


java跳出递归函数 java递归如何退出_方法名_03

图2

(2)continue

continue作用:

continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

注意:

1)continue用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。

2)continue用在for循环中,跳到for循环的迭代因子部分。

代码示例:


java跳出递归函数 java递归如何退出_代码示例_04

图3

打印结果:


java跳出递归函数 java递归如何退出_方法名_05

图4

2.带标签的break和continue

(1)标签:“标签”是指后面跟一个冒号的标识符,例如:“label:”。对Java来说唯一用到标签的地方是在循环语句之前。

(2)带标签的break和continue作用:

而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

代码示例:


java跳出递归函数 java递归如何退出_java跳出递归函数_06

图5

打印结果:


java跳出递归函数 java递归如何退出_递归_07

图6

3.语句块

(1)语句块的定义:

语句块有时叫做复合语句,使用花括号扩起的任意数量的简单Java语句。

(2)语句块作用域问题:

1)块确定了局部变量的作用域。块中的程序代码,作为一个整体,是要被一起执行的。

2)块可以被嵌套在另一个块中,但是不能在两个嵌套的块内声明同名的变量。

3)语句块可以使用外部的变量,而外部不能使用语句块中定义的变量,因为语句块中定义的变量作用域只限于语句块

代码示例:


java跳出递归函数 java递归如何退出_递归_08

图7

4.方法

(1)方法的定义:

1)方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数。

(2)方法的深化了解:

1)法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。

2)面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。

(3)方法声明格式:

[修饰符1,修饰符1...] 返回值 方法名(形参列表){

java语句;... ;...;

}

(4)方法格式说明:

1)形式参数:在方法声明时用于接收外界传入的数据。

2) 实参:调用方法时实际传给方法的数据。

3)返回值:方法在执行完毕后返还给调用它的环境的数据。

4)返回值类型:事先约定的返回值的数据类型,如无返回值,必须显示指定为为void。

(5)方法的调用方式:

1)创建实例化对象

2)对象名.方法名(实参列表)

代码示例:


java跳出递归函数 java递归如何退出_java 全局变量 跳出递归循环_09

图8

打印结果:


java跳出递归函数 java递归如何退出_方法名_10

图9

注意点:

1)实参的数目、数据类型和次序必须和所调用的方法声明的形式参数列表匹配。

2)return 语句终止方法的运行指定要返回的数据

3)基本类型传递的是该数据值的copy值。

4)引用类型传递的是该对象引用的copy值,但指向的是同一个对象。

5.方法的重载(overload)

(1)方法重载的定义:

方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。

(2)重载的本质:

重载的方法,实际是完全不同的方法,只是名称相同而已!

(3)构成方法重载的条件:

1)方法名相同,而形参类型不同;

2)方法名相同,形参个数不同;

3)方法名相同,形参顺序不同的三种情况。

(4)不构成重载的方法:

1)只有返回值不同,不构成方法重载。

例如:int a(String str){}与 void a(String str){}

2)只有形参名称不同,不构成方法的重载。

例如:int a(String str){}与 int a(String s){}

代码示例:


java跳出递归函数 java递归如何退出_java 全局变量 跳出递归循环_11

图10

打印结果:


java跳出递归函数 java递归如何退出_代码示例_12

图11

6.递归结构

(1)递归的基本思想:

”自己调用自己“,一个使用递归技术的方法将会直接或者间接的调用自己。

(2)组成递归的两个部分:

1)定义递归头:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。

2)递归体:什么时候需要调用自身方法。

(3)递归的优缺点:

优点:简单的程序是递归的优点之一。

缺点:递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多,所以在使用递归时要慎重。

代码示例:


java跳出递归函数 java递归如何退出_java跳出递归函数_13

图12

打印结果:


java跳出递归函数 java递归如何退出_方法名_14

图13

注意偏侧点:

1)任何能用递归解决的问题也能使用迭代解决。当递归方法可以更加自然地反映问题,并且易于理解和调试,并且不强调效率问题时,可以采用递归。

2)在要求高性能的情况下尽量避免使用递归,递归调用既花时间又耗内存。