循环结构
while循环
-
while是最基本的循环,他的结构为:
while(布尔表达式){ //循环内容 }
-
只要布尔表达式为ture,循环就会一直执行下去
-
我们大部分情况都会让循环停下来,我们需要一个让表达式失效的方式来结束循环
-
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
-
循环条件一直为true就会造成无限循环{死循环},我们正常的业务编程中应尽量避免死循环,会影响程序性能或造成程序卡死崩溃!
do...while循环
-
对于while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件也至少一次。
-
do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。
do{ //代码语句 }while(布尔表达式);
-
while和do...while的区别
-
while先判断后执行。do..while是先执行后判断!
-
Do...while总是保证循环体会被至少执行一次!这是他们主要的差别。
-
for
-
虽然所有循环结构都可以用while或者do...while表示,但java提供了另外一种语句——for循环,使一些循环变得更加简单。
-
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
-
for循环执行的次数是在执行之前就确定的。语法格式如下:
for(初始值;布尔表达式;更新){ //代码语句 }
-
增强for
for(声明语句:表达式){ //代码句子### }
break and continue
-
break在任何循环语句的主体部分,均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句。
-
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体总尚未执行的语句,接着进行下一次执行循环的判定。
-
关于goto关键字
-
goto关键字很早以前就在程序设计语言中出现。尽管goto仍是java关键字。
-
标签是后面跟的一个标签;
-
Java方法
何谓方法
-
System.out.println(),那么他是什么呢?
-
java方法是语句的集合,它们在一起执行某个功能
-
方法是解决一类问题的步骤的有序组合。
-
方法包含于类或对象中。
-
方法在程序中被创建,在其他地方被引用。
-
-
设计方法的原则:方法本意就是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保存方法的原子性,就是一个方法只能完成一个功能,这样有利于我们后期的扩展。
-
方法的命名规则
-
方法的定义与调试
-
JAVA的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
-
方法包含一个方法名和一个方法体。下面是一个方法的所有部分:
-
修饰符:修饰符,这是可选的 ,告诉编译器如何调用该方法。定义了该方法的访问类型。
-
返回值类型:方法可能会返回值,有些方法执行所需要的操作,但没有返回值,这种情况下,关键字为void。
-
方法名:是方法的实际名称。
-
参数类型:参数就像一个占位符,参数是可选的,方法可以不含任何参数。
-
形式参数:在方法被调用时用于接受外界输入是数据
-
实参:调用方法实际传给方法的数据
-
-
方法体:方法包含具体的语句,定义该方法的功能。
-
修饰符 返回类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; }
-
调用方法:对象名,方法名(实参列表)
-
java支持两种调用的方法的方式,根据是否返回值来选择。
-
当方法返回一个值的时候,方法调用通常被当做一个值,例如:
int larger=max(20,19);
-
如果方法返回值是void,方法调用一定是一条语句。
System.out.println("hsugf");
-
扩展:值传递(java)和引用传递
方法重载
-
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
-
方法的重载的规则:
-
方法名称必须相同。
-
参数列表必须不同(个数不同,或者类型不同,参数排序顺序不同等)
-
方法的返回类型 可以相同也可以不相同。
-
仅仅返回类型不同不足以成为方法的重载。
-
-
实现理论:
-
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器会报错。
-
命令行传参
-
有时候希望运行一个程序时候再传递给它消息。这要拷传递命令行传参
可变参数
-
JDK1.5开始,java支持传递同类型的可变参数给一个方法。
-
在方法声明中,在在指定参数类型后加一个省略号(……)
-
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数都必须在它之前声明。
public staic void printMax(double...number){ }
递归
-
A方法调用B方法,我们很容易理解。
-
递归就是:A方法调用A方法!就是自己调用自己。
-
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型的问题层层转化为一个与原问题规模相似的小规模的问题来解决,递归策略只需要少量的程序就可描述出解题工程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
-
递归结构包括两部分:
-
递归头:什么时候不调用自身方法。然后没有头,将陷入死循环。
-
递归体:什么时候需要调用自身方法。栈机制
-