流程控制就是对事物次序的布置和安排,在程序中就是对代码执行次序的安排和控制

程序中的流程控制主要有三种:顺序流程、选择流程、循环流程。

顺序流程:比如打印输出的代码按照指定的顺序结构依次排序,打印的结果按照代码的顺序执行打印;

循环流程:选择结构的代码实现;

循环流程:循环结构的代码实现;

一、顺序结果

顺序结构最容易理解也比较简单,执行顺序就是代码编写的顺序,从上到下执行。简单举个例子:

public static void main(String[] args){    //顺序执行,根据编写的顺序,从上到下运行    System.out.println(1);    System.out.println(2);    System.out.println(3);}输出:123

二、选择结构

Java代码中存在一种特殊的语句,叫做选择语句,这种选择语句也需要对一些条件作出判断,从而选择对应执行的代码。这种选择语句组成的代码结构就是选择结构。

选择语句分为两种:if条件语句、switch条件语句。

1. if语句

if语句是满足某种要求的条件就进行某种处理。格式:

if (布尔表达式) {  //它的结果只有true或false  语句体;//满足条件后执行的代码}

执行流程:首先判断布尔表达式,看其结果是true还是false

如果是true,执行语句体

如果是false就不执行语句体,

举例:

public static void main(String[] args){    System.out.println("小明出来玩了")    //int age=16;  int age=20;//20岁     if(age>=18){        System.out.println("小明去上网了");    }     System.out.println("小明回家了")}

2. if...else语句

if...else语句是指如果满足某种条件就进行某种处理,否则就进行另一种处理,格式:

if (布尔表达式){  语句体1;} else {  语句体2;}

执行流程:首先判断布尔表达式看结果

如果是true就执行语句体1

如果是false就执行语句体2

举例:

public static void main(String[] args){    // 判断给定的数据是奇数还是偶数    // 定义变量    int a = 1;    if(a % 2 == 0) {        System.out.println("a是偶数");    } else{        System.out.println("a是奇数");    }    System.out.println("结束");}

3. if...else if...else语句

if...else if ...else可以对多个条件进行判断,进行多种不同的处理。

格式:

if (判断条件1) {    执行语句1;}else if (判断条件2) {    执行语句2;}...}else if (判断条件n) {   执行语句n;} else {    执行语句n+1;}

执行流程首先判断布尔表达式1看其结果是true还是false

如果是true就执行语句体1

如果是false就继续判断布尔表达式2看其结果是true还是false

如果是true就执行语句体2

如果是false就继续判断布尔表达式…看其结果是true还是false

如果没有任何布尔表达式为true,就执行语句体n+1。

举例:

public static void main(String[] args) {       int socre=99;//定义变量记录分数     if(socre>=90&&socre<=100) {      System.out.println("成绩是优秀的!");    } else if(socre>=80&&socre<90) {      System.out.println("成绩很好!");    } else if(socre>=70&&socre<80) {      System.out.println("成绩良好!");    } else if(socre>=60&&socre<70) {      System.out.println("成绩及格!");    } else if(socre>=0&&socre<60) {      System.out.println("成绩不及格!");    } else {      System.out.println("不合法成绩");    }  }

4. switch语句

switch条件语句也是一种比较常用的选择语句,和if条件语句不同的是,switch只能针对某个表达式的值作出判断,从而决定程序执行那一段代码。

格式:

switch(表达式) {//具体的某个变量case 常量值1:语句体1;break;case 常量值2:语句体2;break;...default:语句体n+1;break;}

注意:switch的表达式只能是byte、short、int、char、Enum、String。

执行流程:首先计算出表达式的值

其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

举例:

public static void main(String[] args) {    //定义变量,判断是星期几    int weekday = 6;    //switch语句实现选择    switch(weekday) {        case 1:          System.out.println("星期一");          break;        case 2:          System.out.println("星期二");          break;        case 3:          System.out.println("星期三");          break;        case 4:          System.out.println("星期四");          break;        case 5:          System.out.println("星期五");          break;        case 6:          System.out.println("星期六");          break;        case 7:          System.out.println("星期日");          break;        default:          System.out.println("你输入的数字有误");          break;    }  }

特别注意:break不能漏写,漏写了会出现case穿透

其实case的穿透性不算是一个bug,用好了可以简练代码,实际开发中可以灵活运用case穿透性解决相应的需求,用的不好会改变代码逻辑。如果case的后边不写break,将出现穿透现象,不再判断下一个case值,直接向后运行直到遇见break;

举个简单的例子:

public static void main(String[] args) {    int week=1;  switch(week) {    case 1:    case 2:    case 3:    case 4:    case 5:      System.out.println("工作日");      break;    case 6:    case 7:      System.out.println("休息日");      break;    default :      System.out.println("数字不在1~7范围之内,请重新指定");  }}

三、循环结构

Java中一段代码重复执行的语句叫做循环语句,这种循环语句形成的结构就叫做循环结构。

循环语句有三种:for语句、while语句、do...while语句。

1. for语句

格式:

for ( 初始化语句① ; 判断条件语句② ; 控制条件语句④ ) {        循环体语句③                }

执行流程:执行顺序:①②③④>②③④>②③④…②不满足为止。

①负责完成循环变量初始化

②负责判断是否满足循环条件,不满足则跳出循环

③具体执行的语句

④循环后,循环条件所涉及变量的变化情况

举例:

public static void main(String[] args) {  //1.定义一个初始化变量,记录累加求和,初始值为0  int sum = 0;  //2.利用for循环获取1-100之间的数字  for (int i = 1; i <= 100; i++) {      //3.判断获取的数字是奇数还是偶数      if(i % 2==0){        //4.如果是偶数就累加求和        sum += i;      }  }    //5.循环结束之后,打印累加结果    System.out.println("sum:"+sum);}

注意:初始化语句i可以是任意的数字

判断语句一定要保证条件有边界,可以让程序停下来,否则就会出现死循环

控制语句可以变通,主要目的是让循环变量变化

循环变量出了循环结构就不能使用

2. 循环语句while

格式:

初始化语句① while ( 条件判断② ) {  循环体语句③    条件控制语句(步进表达式)④  }

和for循环功能一样,只不过关键字不一样,代码结构不一样。和选择结构中的if判断也有点类似,满足条件就执行 {} 内的语句,区别在于while语句会反复地执行,知道条件不成立。

执行流程:执行顺序:①②③④>②③④>②③④…②不满足为止。

①负责完成循环变量初始化。

②负责判断是否满足循环条件,不满足则跳出循环。

③具体执行的语句。

④循环后,循环变量的变化情况。

举例:

public static void main(String[] args) {    //使用while循环实现    //定义一个变量,记录累加求和    int sum = 0;    //定义初始化表达式    int i = 1;    //使用while循环让初始化表达式的值变化    while(i<=100){        //累加求和        sum += i ;        //步进表达式改变变量的值        i++;    }    //打印求和的变量    System.out.println("1-100的和是:"+sum);}

注意:控制变量语句不能忘记,否则会出现死循环。

3. do...while语句

格式:

初始化表达式①do{    循环体③    条件控制语句④ }while(条件判断语句 ②); //这里有分号结束

执行顺序:①③④>②③④>②③④…②不满足为止。

举例:

public static void main(String[] args) {    int x=1;    do {      System.out.println("HelloWorld");      x++;    }while(x<=10);}

注意:while后边一定要有分号结束

无论条件是否满足都会先执行一次循环体,然后再去根据判断是否继续执行。

4. 嵌套循环

嵌套循环是指一个循环语句中再定义一个循环语句的语法结构。

for嵌套循环格式:

for(初始化表达式①; 循环条件②; 控制条件语句⑦) {   //分针        for(初始化表达式③; 循环条件④; 控制条件语句⑥) {  //秒针                执行语句⑤;            }        }

执行流程:

假如外层循环执行2次,内循环执行次数2次执行顺序:

第一次循环:①②>③④⑤⑥>④⑤⑥>④

第二次循环:⑦②>③④⑤⑥>④⑤⑥>④>⑦②

5. 跳转语句

调整语句主要有两个:break和continue

break:

使用场景:终止switch或循环

这里主要说一下在循环语句中的作用,当出现在循环语句中,作用就是终止并跳出循环,继续执行循环结构后边的代码:

while循环举例:

public static void main(String[] args){    int x=1;    //定义变量x,初始值为1    while(x<=10){  //循环条件              if(x==3){  //跳出循环的条件是当x==3的时候            break;  //跳出循环        }        System.out.println("x="+x);//条件成立,打印x的值               x++;    //x进行自增    }}//不加break将会执行10次,加了break当x==3时候就跳出循环

for循环中举例:

public static void main(String[] args){    for(int x=1;x<=10;x++){          System.out.println("x="+x);//打印x的值        if(x==3){  //跳出循环的条件是当x==3的时候            break;  //跳出循环        }    }}

特别注意:当break语句出现在嵌套循环中的内层循环是,它只能跳出内层循环,如果想跳出到外层循环需要在外层循环的关键字前添加标记,然后跳转到标记,这样才能跳出外层循环。

public static void main(String[] args)   {    int y=1;    demo: while(y<10) {                             for(int x=1; x<=9; x++) {                         System.out.println("x="+x);//打印x的值                        if(y==3) {  //跳出循环的条件是当x==3的时候                            break demo;  //跳出demo循环        }                      }                            y++;    }  }

continue:

continue是结束本次循环,继续下一次循环。

//求1-100之间的奇数的和public static void main(String[] args) {    int sum=0;        for (int i = 1; i <= 100; i++) {        if(i % 2==0){             //如果是偶数,结束本次循环            continue;        }        sum+=i;//不断累加                    }    System.out.println(sum);}

java中的四个跳转语句_Java中的流程控制语句 (基础篇四)相关推荐

  1. c if语句多个条件判断顺序_Java中的流程控制语句 (基础篇四)

    流程控制就是对事物次序的布置和安排,在程序中就是对代码执行次序的安排和控制 程序中的流程控制主要有三种:顺序流程.选择流程.循环流程. 顺序流程:比如打印输出的代码按照指定的顺序结构依次排序,打印的结 ...

  2. java中的跳转语句_java中的跳转语句

    java中的跳转语句有两种:break和continue: 一.break语句 1. break语句适用于任何循环控制结构,从而是循环立即终止.当执行流程遇到break语句时,不管循环终止变量,或者布 ...

  3. java中的异常处理语句_Java中实现异常处理的基础知识

    Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...

  4. java中简单的if语句_java中if语句的写法

    if语句 if 语句的语法如下:if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. 免 ...

  5. java中的循环语句_Java中三种常用的循环语句,一看就懂~

    循环语句:满足一定条件的情况下反复执行一个操作. Java中提供三种常用的循环语句: 1.while循环语句 while先判断为真,再执行while循环语句,如果条件为假,则跳出循环 语法如下: Wh ...

  6. python中常用于输出信息的语句函数是print括号_第十四课我们研究一下常用的print()函数,翻看了一下Python宝典...

    很高兴又和大家见面了. 上一节课,我们学会了如何打通任督二脉,突破编程中的瓶颈,小K希望大家遇到问题时,能够冷静下来,认真分析,不要怂. 这两节课的主要内容是带大家探究"熟悉的陌生人&quo ...

  7. java do while 循环语句_java中do...while循环语句使用方法详解

    do..while循环语句也称为后测试循环语句,它的循环重复执行方式,也是利用一个条件来控制是否要继续重复执行这个语句.与while循环所不同的是,它先执行一次循环语句,然后再去判断 - do...w ...

  8. php中的几种跳转语句以及各自的特点,PHP中的跳转语句有且仅有break和continue两个语句。...

    不属的是行为于侵犯专利权,中转语项中在下列选. 被告为的行与原针对联系诉有,句有句选项以下于反中()属诉,反诉,在已中经提起的是指诉讼. 不管有效是否,且仅并影都会定时响其选择后的在一制度期内持续存在 ...

  9. java域的控制修饰符可分为_Java中的类和方法的修饰符

    java 中的类和方法的修饰符Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类 ...

最新文章

  1. oracle中SQL语句ge的用法,Oracle中SQL语句的几种用法
  2. 李航《统计学习方法》习题答案
  3. DataGrid 或 DataView 中删除项时告知是否删除
  4. 用时间分类能量再用能量分类时间
  5. HD 1003 Max Sum (最大字段和问题)
  6. install g++ 出现“g++ : Depends: g++-4.8 (= 4.8.2-5~) but it is not going to be installed...解决方法
  7. Mybatis源码阅读(二):动态节点解析2.2 —— SqlSourceBuilder与三种SqlSource
  8. 包含图片,复选框的ListView(转)
  9. gtihub第二次上传项目_国道岱山项目双合大桥墩柱桩基打桩施工突破100根
  10. mssql linux性能,MSSQL 的Top 和 MAX 效率测试
  11. 用Java简单实现单例模式
  12. 如何卸载office201032位_32位office2010卸载不彻底怎么办
  13. Mstar方案软件运行基本原理
  14. 多媒体技术计算机系统由组成,多媒体技术概述及多媒体计算机系统的组成
  15. 用Python爬取斗鱼各区的主播信息,并制作热度排行榜
  16. 网络流量一对多镜像配置
  17. 教你免费且快速地搭建个人网站
  18. JS方式实现隐藏手机号码中间4位数
  19. EasyExcel与POI
  20. matlab计算macd_[原创]基于MATLAB的一个简单的交易策略(基于MACD)的Matlab代码-经管之家官网!...

热门文章

  1. Linux网络协议栈:关闭一个还有没发送数据完的TCP连接
  2. 内核引导参数IOMMU与INTEL_IOMMU有何不同?
  3. NGINX内部:我们如何设计性能和规模
  4. VxWorks操作系统
  5. inside-the-linux-kernel-full
  6. VUE3组合api的钩子函数生命周期
  7. Voovan网络编程介绍
  8. 包头市民族中学2021高考成绩查询,2021庆阳高考成绩查询系统入口
  9. python中怎么取整数案例题_python中如何取整数
  10. 360软件管家独立版_【软件】360全家桶独立版