流程控制指的是在程序运行的过程当中控制程序运行走向的方式。主要分为如下几种:spa
顺序结构,顾名思义,是指程序从上往下逐步顺序执行。中间没有任何的判断和跳转。blog
Java提供两种分支结构:if和switch,其中if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,而switch语句则是使用整数,String类型,枚举类型。it
if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,主要有下面三种结构:for循环
if(条件){ //语句 }
执行走向变量
例:循环
int score = 65; if(score >= 60){ System.out.println("您及格了"); }
if ( 条件 ) { //语句1 } else { //语句2 }
程序执行走向程序
例:im
int score = 65; if(score >= 60){ System.out.println("您及格了,恭喜"); } else { System.out.println("没及格,打扫厕所三个月"); }
if ( 条件 ) { //语句 } else if ( 条件 ) { //语句 } else { //语句 }
程序走向图db
例:img
对学员的结业考试成绩评测
成绩>=90 :优秀
成绩>=80 :良好
成绩>=60 :中等
成绩<60 :差
int score = 70; //考试成绩 if ( score >= 90 ) { System.out.println("优秀"); } else if (score >= 80 ) { System.out.println("良好"); } else if (score >= 60 ) { System.out.println("中等"); } else { System.out.println("差"); }
If(条件1){ if(条件2){ if(条件3){ }else{ } }…...... }
一般状况下,这几种判断语句的语句块都有{}括号包裹,但若是语句只有一句,能够不使用花括号,例如
boolean b = true; if(b) System.out.println("能够不使用花括号"); else System.out.println("建议打上花括号");
若是判断语句中只有一个语句,是能够不使用花括号的,可是建议你们依然使用花括号。
switch (表达式) //计算表达式的值 { case 常量 1: //若是等于常量1 语句; break; case 常量 2: //若是等于常量2 语句; break; default: //若是没有找到匹配的值 语句 break; }
和if语句不一样的是,switch语句的表达式中能够传的是byte、short、int、long、String类型的值。
String s = "及格了"; switch(s){ case "及格了": System.out.println("表现不错"); break; case "不及格": System.out.println("打扫厕所"); break; default: System.out.println("没来考试吗?把家长叫来"); break; }
int i = 1; switch(i){ case 1: System.out.println("得到第一名"); break; case 2: System.out.println("得到第二名"); break; case 3: System.out.println("得到第三名"); break; default: System.out.println("您不是前三名"); break; }
使用时注意break语句,若是漏掉的话,嘿嘿!
相同点:
均可以实现多分支结构
不一样点:
switch:只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断
多重if:处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的状况
循环语句也称做迭代语句,循环语句能够在知足条件的状况下反复执行某一段代码,循环语句包括:
while ( 循环条件 ) { //符合条件,循环继续执行;不然,循环退出 循环操做 //循环中被重复执行的操做 }
特色:先判断,再执行
例句:打印出30个Hello
int i = 1; while(i <= 30){ System.out.println("Hello"); i++; }
do { 循环操做 //先执行一遍循环操做 } while ( 循环条件 ); //符合条件,循环继续执行;不然,循环退出
特色:先执行,再判断
//无论有没有及格,先打扫一遍厕所,再看他到底有没有及格。 int i = 65; do{ System.out.println("倒霉,要打扫厕所"); } while(i < 60)
死循环问题:全部的循环控制语句,若是没有一个退出的条件,将会进入到一个死循环状态,上面一个例子,若是i小于60,将会一直在“打扫厕所”,没法继续往下执行。
for(参数初始化; 条件判断; 更新循环变量){ 循环操做; }
特色:先初始化参数,在判断条件,若是成立,执行循环体,而后更新循环变量,再回到条件判断,不成立则直接退出循环。
for (int i = 0 ; i < 100 ; i++) { System.out.println("我最棒"); }
在某些时候,咱们须要在某种条件出现时强行终止循环,即可以使用break来完成这个功能。好比:
for(int i = 1; i <= 10; i++){ if(i == 8){ break; } System.out.println("完成一圈"); }
上面一个例子,本该完成10圈,可是到地8圈的时候坚持不下了,break了,后面剩下的便不会再执行。
continue和break的功能有点相似,区别是continue只是跳过这一次循环,后面的循环依然会执行。例如:
for(int i = 1; i <= 10; i++){ if(i == 8){ continue; } System.out.println("完成一圈"); }
本该跑10圈,而他实际上只跑了9圈。