JAVA06
1.break和continue
(1)break
break作用:
在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。
代码示例:
图1
打印结果:
图2
(2)continue
continue作用:
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
注意:
1)continue用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。
2)continue用在for循环中,跳到for循环的迭代因子部分。
代码示例:
图3
打印结果:
图4
2.带标签的break和continue
(1)标签:“标签”是指后面跟一个冒号的标识符,例如:“label:”。对Java来说唯一用到标签的地方是在循环语句之前。
(2)带标签的break和continue作用:
而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
代码示例:
图5
打印结果:
图6
3.语句块
(1)语句块的定义:
语句块有时叫做复合语句,使用花括号扩起的任意数量的简单Java语句。
(2)语句块作用域问题:
1)块确定了局部变量的作用域。块中的程序代码,作为一个整体,是要被一起执行的。
2)块可以被嵌套在另一个块中,但是不能在两个嵌套的块内声明同名的变量。
3)语句块可以使用外部的变量,而外部不能使用语句块中定义的变量,因为语句块中定义的变量作用域只限于语句块。
代码示例:
图7
4.方法
(1)方法的定义:
1)方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数。
(2)方法的深化了解:
1)法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。
2)面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。
(3)方法声明格式:
[修饰符1,修饰符1...] 返回值 方法名(形参列表){
java语句;... ;...;
}
(4)方法格式说明:
1)形式参数:在方法声明时用于接收外界传入的数据。
2) 实参:调用方法时实际传给方法的数据。
3)返回值:方法在执行完毕后返还给调用它的环境的数据。
4)返回值类型:事先约定的返回值的数据类型,如无返回值,必须显示指定为为void。
(5)方法的调用方式:
1)创建实例化对象
2)对象名.方法名(实参列表)
代码示例:
图8
打印结果:
图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){}
代码示例:
图10
打印结果:
图11
6.递归结构
(1)递归的基本思想:
”自己调用自己“,一个使用递归技术的方法将会直接或者间接的调用自己。
(2)组成递归的两个部分:
1)定义递归头:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。
2)递归体:什么时候需要调用自身方法。
(3)递归的优缺点:
优点:简单的程序是递归的优点之一。
缺点:递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多,所以在使用递归时要慎重。
代码示例:
图12
打印结果:
图13
注意偏侧点:
1)任何能用递归解决的问题也能使用迭代解决。当递归方法可以更加自然地反映问题,并且易于理解和调试,并且不强调效率问题时,可以采用递归。
2)在要求高性能的情况下尽量避免使用递归,递归调用既花时间又耗内存。