条件分支语句
Java 语言提供了两种判断语句:if 语句和 switch 语句。这两种语句用于实现判断,当符合某些条件时执行某段代码,否则将不执行
- if-else语句
if(条件表达式){
代码块; //0条到多条可执行语句,含义是当【条件表达式】返回值为true时执行这里,如果返回为false这里不执行
}
if(条件表达式){
代码块1; //0条到多条可执行语句,含义是当【条件表达式】返回值为true时执行这里
}else{
代码块2; //当条件为true时执行[代码块1],否则执行【代码块2】,不可能出现都执行或者都不执行的情况
}
if(条件表达式1){
代码块1;
}else if(条件表达式2){ //允许多次出现
代码块2;
}else{ //当上面所有条件都不成立时执行
代码块n;
}
循环结构
循环就是重复做某一件事情。在Java程序中,循环控制即在某一情况下,控制程序重复执行某一条或多条语句,直到遇到终止条件为止
循环语句也称迭代语句,在Java语言中存在的 while、for 和 do-while循环语句
while循环
while是Java中最基本的循环语句,满足条件才执行循环体,如果不满足条件则不执行。所以有可能循环体一次都不执行。
语法格式:
while (继续循环的条件){ //当【条件】成立时反复执行【代码块】,每循环一次执行一次条件判断,直到条件为false,则退出循环,执行后续语句
循环所执行的代码;
}
do-while 循环
do-while循环执行某些语句,直到指定的条件为假。此循环确保循环体至少执行一次。
语法格式: do{
循环所执行的逻辑;
} while(继续循环的条件);
while和do/while结构的区别:
do/while是无论如何循环体代码都会被执行一次;while循环可能会出现循环根本不执行
for循环
for循环主要用于按预定的次数执行语句或语句块
语法:
for( 语句 1,一般用于初始化循环控制变量; 语句 2是循环继续执行的条件; 语句 3是每次循环执行结束后必须执行的语句){
循环体语句;
}
三种循环的选择
1、如果不能提前预知循环次数,则使用while或者do/while循环,而for循环一般用在可以提前预知循环次数的场景下
2、while 循环可以出现一次都不执行的情况,但是 do/while 循环无论如何循环体都会被执行一次
循环中使用的跳转语句
Java 提供了三种跳转语句:break、continue以及return,用来强制转移程序执行的顺序
- break 语句
break语句除了与switch结合使用外,还用来强制中断当前的循环,不再执行循环体中break后面的语句而退出循环。譬如在后续将学到从数据库里循环取出数据,用来验证用户的用户名是否正确。如果当用户名符合某一条数据时,就需要用到break语句来结束当前的循环验证。
- continue语句
continue语句的功能是,在循环语句中,当碰到continue时,将不再执行循环体continue之后的语句,而重新判断循环控制的条件,继续循环,直到循环条件的值为假时退出循环
递归调用
递归调用指在方法执行过程中允许出现直接或者间接的该方法本身的调用 。(斐波那契数列,汉诺塔问题,猴子吃桃)
递归调用的特征:
Java语言支持方法的递归调用
使用递归调用时必须可以逐渐接近结束点,不能发散
递归调用比较符合正常人的思维方式,但是相当的浪费内存,所以如果能使用其他方式解决就不要使用递归。
Java数组
数组是表示多个相同类型变量的集合(在一个数组中所存放的所有元素的类型必须一致),可以使用共同的名字引用它
属于复杂数据类型
由类型相同的元素组成的有顺序的数据集合
Java数组是固定的不能扩展[长度一旦声明,不能修改]
可以存储基本数据类型或对象
数组可以定义为任意数据类型,并且可分为一维数组或多维数组
一维数组
一维数组实质上是相同类型变量的列表。要创建一个数组,你必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:
元素的数据类型type 数组变量名称var-name[ ];
元素的数据类型type[ ] 数组变量名称var-name;
可以定义任何类型(基本类型或类)的数组。Java中数组是对象
使用运算符new来分配数组,必须指定数组元素的类型和数组元素的个数。用运算符new分配数组后,数组中的元素将会被自动初始化为一个值,这个值具体是什么和类型相关。如果是数值类型【整数、浮点数、char类型】其中自动初始值为0,如果boolean类型则自动初始值为false 。