Java流程控制
顺序结构
Java的基本结构就是顺序结构 ,除非特别指明,否则就按照顺序一句一句的执行。
顺序结构是最简单的算法结构。
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
选择结构
if单选择结构
if(布尔表达式){
//如果布尔表达式为 ture 将执行的语句
};
常用的比较字符串的方式 变量名 . equals('与变量作比较的字符串');相同返回 true 否则返回 false
if双选择结构
if(布尔表达式){
//如果布尔表达式为 ture 将执行的语句
}else{
//如果布尔表达式为 false 将执行的语句
};
if多选择结构
if(布尔表达式1){
//如果布尔表达式为 ture 将执行的语句
}else if (布尔表达式2){
//如果布尔表达式2为 ture 将执行的语句
}else if (布尔表达式3){
//如果布尔表达式3为 ture 将执行的语句
}else {
//如果满足以上所有布尔表达式 为 false 将执行的语句
};
注意:if 语句至多有一个 else 语句 else 语句在所有 else if 语句之后
if 语句可以有多个若干个else if 语句,它们必须在 else语句之前 。一旦其中一个 else if 语句检测为 true ,其他的 else if 语句以及 else 语句都将被跳过
if嵌套语句
使用嵌套的 if ..... else 语句是合法的。也就是说你可以在另一个 if 或者 else 或者 else if 语句中使用 if 或者 else if 语句 你可以像 if 语句一样嵌套 else if ...else。
if(布尔表达式){
//如果布尔表达式为 ture 将执行的语句
if(布尔表达式1){
//如果布尔表达式1为 ture 将执行的语句
}
}
switch 多选择语句
多选择结构中还一个实现方式就是 switch case 语句。
switch case 语句判断一个变量与一系列中某个值是否相等,每个值称为一个分支。
switch语句中的变量类型可以是:
byte、short、int或者 char。
从Java SE 7 开始 switch支持字符串 String 类型了
同时 case标签必须为字符串常量
switch(expression){
case value :
//语句
case value :
//语句
break; // 可选 作用:跳出语句
default : // 可选 不符合语句中所有 case中的常量时执行
//语句
}
循环结构
while循环
while是最基本的循环,它的结构为:
while(布尔表达式){
// 循环语句内容
}
只要布尔表达式为 true ,循环就会一直执行下去。
我们多数情况是会让循环停下来的,我们只需要一个让表达式的方式来结束循环。
少部分情况下需要循环一直执行,比如服务器响应监听等
循环条件一直为 true 会造成 死循环 我们正常业务应该避免死循环。会影响程序性能或者造成程序卡死崩溃
do....while循环
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件也至少执行一次。do...while 循环和 while 循环相似,不同的是,do...while 循环会至少执行一次
do{
// 循环语句内容
}while(布尔表达式);
while 和 do ..while 的区别:
while 先判断后执行,,do...while 先执行后判断
do ...whlie 总是保证循环体至少执行一次
for循环
for循环语句是支持迭代的一种通用结构,是最有效最灵活的循环结构
for循环的执行次数是在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新(迭代因子)){
//循环语句内容
};
说明:初始化步骤可以声明一种类型,可以初始化一个或多个循环控制变量,也可以是空语句,然后检测布尔表达式,如果为 true 循环体被执行,如果为 false 循环终止。执行一次循环后更新循环的控制变量(迭代因子控制循环变量的增减)。随后再次检测布尔值,循环执行
增强 for循环
Java5 引入了一种主要用于数组或者集合的增强型 for 循环
for(声明语句:表达式){
//循环语句内容
};
声明语句:声明新的局部变量,该变量类型必须和数组元素类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break,continue语句
1、break用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环。
注意:
(1)只能在循环体内和switch语句体内使用break。
(2)不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
(3)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。
2、continue语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环。
注意:
(1)continue语句并没有使整个循环终止。
(2)continue 只能在循环语句中使用,即只能在 for、while 和 do…while 语句中使用。