目录
1、分支语句
1.1、if - else结构
1、if-else使用说明:
-
条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量;
-
语句块只有一条执行语句时,一对{}可以省略,但建议保留;
-
if-else语句结构,根据需要可以嵌套使用;
-
当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略;
-
当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓当多个条件是“包含”关系时,“小上大下/ 子上父下”。
1.2、switch-case结构
注意: switch结构中的表达式,只能是如下的六种数据类型之一:byte、short、char、int、枚举类型(JDK5.0)、String类型(JDK7.0)
不能是:long,float,double,boolean
/* 分支结构之二:switch-case 1.格式 switch(表达式){ case 常量1: 执行语句1; //break; case 常量2: 执行语句2; //break; ... default: 执行语句n: //break; } 2.说明: ① 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,进入相应case结构中,执行相关语句。 当调用完执行语句后,则仍然继续向下执行其他case语句,直到遇到break关键字或末尾结束为止。 ② break, 可以使用switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构。 ③ switch结构中的表达式,只能是如下的六种数据类型之一:byte、short、char、int、枚举类型(JDK5.0)、String类型(JDK7.0) ④ case 之后之能声明常量。不能声明范围。 ⑤ break关键字是可选的。 ⑥ default:相当于if-else结构中的else。 default 结构是可选的,而且位置是灵活的。 */ class SwitchTest{ public static void main(String[] args){ int number = 2; switch(number){ case 0: System.out.println("zero"); break; case 1: System.out.println("one"); break; case 2: System.out.println("twe"); break; case 3: System.out.println("three"); break; default: System.out.println("other"); break; } //********************************* //运行报错,不能运行boolean类型 /* boolean isHandSome = true; switch(isHandSome){ case true: System.out.println("可乐吗??"); break; case false: System.out.println("薯条吗??"); break; default: System.out.println("输入有误!!!"); } */ //********************************* String season= "summer"; switch(season) { case"spring": System.out.println("春暖花开"); break; case"summer": System.out.println("夏日炎炎"); break; case"autumn": System.out.println("秋高气爽"); break; case"winter": System.out.println("冬雪皑皑"); break; default: System.out.println("季节输入有误"); break; } //************************************** //运行报错 /* int age = 10; switch(age){ case age > 18: System.out.println("成年了"); break; default: System.out.println("未成年"); } */ } }
2、循环结构
在某些条件满足的情况下,反复执行特定代码的功能
分类:
-
for 循环
-
while 循环
-
do-while 循环
2.1、for循环
语法格式 for(①初始化部分;②循环条件部分;④迭代部分){ ③循环体部分; } 执行过程:①-②-③-④-②-③-④-②-③-④-.....-② 说明: ②循环条件部分为boolean类型表达式,当值为false时,退出循环 ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔 ④可以有多个变量更新,用逗号分隔
2.2、while循环
①初始化部分 while(②循环条件部分){ ③循环体部分; ④迭代部分; }
-
注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环。
-
for循环和while循环可以相互转换
public class WhileLoop { public static void main(String args[]) { int result = 0; int i= 1; while(i<= 100) { result += i; i++; } System.out.println("result="+ result); } }
2.3、do-while循环
do-while循环结构的使用 一、循环结构的四个要素 ① 初始化条件 ② 循环条件 --->是boolean类型 ③ 循环体 ④ 迭代条件 二、do-while循环的结构 ① do{ ③; ④; }while(②); 执行过程:① - ③ - ④ - ② - ① - ③ - ④ - ... - ② 说明:do-while循环至少执行一次循环体。
3、break continue
3.1、break的使用
break语句用于终止某个语句块的执行 { ...... break; ...... }
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块 label1: { ...... label2: { ...... label3: { ...... break label2; ...... } } }
3.2、continue的使用
2、continue的使用
-
continue 语句
-
continue只能使用在循环结构中
-
continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
-
continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
3.3、return的使用
return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。 与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
3.4特殊流程控制语句说明
-
break只能用于switch语句和循环语句中。
-
continue 只能用于循环语句中。
-
二者功能类似,但continue是终止本次循环,break是终止本层循环。
-
break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。
-
标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
-
很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它。但使程序容易出错。Java中的break和continue是不同于goto的
/* break和countinue关键字的使用 使用范围 循环中使用的作用(不同点) 相同点 break: switch-case 结束当前循环 关键字后面不能声明执行语句 循环结构中 countinue: 循环结构中 结束当次循环 关键字后面不能声明执行语句 */ class BreakContinueTest{ public static void main(String[] args){ for(int i = 1;i <= 10;i++){ if(i % 4 == 0){ // break; //1、2、3 continue; //1、2、3、5、6、7、9、10 // System.out.println("该吃饭了!!!"); } // System.out.println(i); } //******************************** for(int i = 1;i <= 4;i++){ for(int j = 1;j <= 10; j++){ if(i % 4 == 0){ // break; //默认跳出包裹此关键字最近的一层的循环 continue; } System.out.print(j); } System.out.println(); } } }