参数说明:   valid"> 3.分支结构与循环结构 - 11GX
首页 > 3.分支结构与循环结构

3.分支结构与循环结构

1 程序结构

  程序结构分为顺序结构、分支结构、循环结构。分支结构有:if结构,if....else结构if...else if....else ,if...else结构,switch结构;循环结构有:while循环,do....while循环,for循环。

 

2 分支结构

  ①if结构  语法:

  if(布尔表达式){

     //语句;

  }

  执行过程:如果布尔表达式为true执行其下语句,布尔表达式为false时不执行其下语句。

  {}可以省略,如果省略将执行第一个语句块。为了程序的可读性推荐不要省略{}

  ②if...else结构 语法:

  if(布尔表达式){

      //语句1

  }else{

     //语句2;

  } 

  执行过程:如果布尔表达式值为true,执行语句1,否则执行语句2.

  {}也是可以省略的,省略之后只执行第一个语句块。

示例1:根据用户输入的年份,加上一个[0,10]随机数后,判断该年是否为闰年。

  分析:

  1.获取用户输入的年份:Scanner

  2.产生一个[0,10]之间的随机整数:Math.random()-->(0,1)之间的随机小数

  3.判断该年是为闰年,闰年的判断条件:能被4整除并且不能100整除;或者能被400整除。

  public class TestIfElse2{

    public static void main(String[] args){

      Scanner input = new Scanner(System.in);

      System.out.println("请输入一个年份:");

      int year = input.nextInt();

      //产生[0,10]之间的随机整数

      int random = (int)(Math.random()*11);

      year = year+random;

      //判断是否为闰年

      if((year%4==0&&year%100!=0)||year%400==0){

        System.out.println(year+"为闰年,共366天!");

      }else{

      System.out.println(year+"为平年,共365天!");

      }

    }

  }

示例2:(if嵌套)

  if嵌套:一个if语句包含了其他的if语句。

  if(条件1){

    if(条件2){

      //语句;

    }

  }

 

  ③if....else if....else结构 语法:

  if(条件1){

     //语句1;

  }else if(条件2){

     //语句2;

  }else if(条件3){

    //语句3

  }....{

  }else{

    //语句N;

  }

  执行过程:先判断条件1是否成立,如果条件1成立执行语句1并跳出条件结构;如果条件1不成立继续判断其下的条件2,如果条件2成立执行语句2....,所有条件都不成立执行else中语句N.

  注意:条件的位置有可能影响执行结构,条件位置一般需要满足从范围小的条件到范围大的条件逐次摆放。

  ④switch结构

  switch可以代替多重if条件结构中等值判断。

  语法:

  switch(表达式){

      case 值1:

    语句1;

         [break];

      case 值2:

    语句2;

         [break];

     ....

     default

    语句N;

         [break];

  }

  执行过程:将表达式的值与case中的常量值挨个进行比较,如果匹配成功将执行其下语句,直到遇到break关键字跳出switch结构。

  注意:

  1)swtich中传入的表达式可以是byte,short,int,char,从JDK1.7以后支持String类型

  2)case后的常量值不能重复

  3)case语句中的break是可以省略的,但如果省略break将出现case穿透。

  4)default语句也是可以省略的。

3 循环结构

  如果遇到需要反复做的事情,可以利用循环进行解决。

  ①while循环 语法:

  while(布尔表达式){

     //循环体

  }

  执行过程:

  步骤1:先判断布尔表达式值是否为true,如果为true进入步骤2

  步骤2:执行while中循环体,执行结束后回到步骤1

  注意:检查循环是否能退出(检查循环条件是否不满足的时候)

  特点:先判断,后执行,有可能一次都不执行。

 

  ②do...while循环 语法:

  do{

     //循环体;

  }while(布尔表达式);

  执行过程

  步骤1:先执行循环体,进入步骤2

  步骤2:判断布尔表达式是否为true,如果值为true,执行步骤1,否则退出循环。

  特点:先执行,后判断。执行会执行1次。

 

  ③for循环 语法:

  for(表达式1;表达式2;表达式3){

      //循环体;

  }

  表达式1:循环变量的初始化,只会执行1次

  表达式2:循环条件

  表达式3:更改循环变量(步进)

  注意:从语法的角度上说表达式1,表达式2,表达式3都可以省略,分号不能省略。但是如果省略了表达式2和表达式3经常会造成死循环。终止执行:ctrl+c

  特点:先判断,后执行。有可能一次都不执行。

 

  执行过程:

  步骤1:先执行表达式1进行循环变量的初始化工作

  步骤2:执行表达式2进行循环条件的判断,如果条件为true,执行步骤3,否则退出循环。

  步骤3:执行循环体;

  步骤4:执行表达式3进行更改循环变量,然后执行步骤2。

 

4 break和continue

    ①break关键字可以用于switch结构和循环结构

  作用: 1.如果用于switch结构,跳出当前的case语句

      2.如果用于循环结构中,跳出当前循环结构。

 ②continue关键字只能用于循环结构。

  作用:跳过本次循环,重新开始下一趟循环。

 

5 return

  可以使用return关键字结束当前函数的执行。

  在函数中只要遇到了return关键字,终止当前函数(方法),并回调函数(方法)的被调用处。

 

转载于:https://www.cnblogs.com/nicepanda/p/6921883.html

更多相关:

  • 在某些情况下(例如通过网络访问数据),常常不希望程序卡住而占用太多时间以至于造成界面假死。在这时、我们可以通过Thread、Thread + Invoke(UI)或者是 delegate.BeginInvoke 来避免界面假死,但是这样做时,某些代码或者是某个方法的执行超时的时间还是无法操控的。那么我们又是否有一种比较通用的方法、来设...

  • 传参 如果程序执行的时候需要加入参数,如 ./sample aa bb 使用 gdb 的时候可以使用如下方式 gdb --args ./sample aa bb 执行 启动 gdb 之后,直接使用 r,就是 run 的意思,或者可以使用 b 加一个断点进行调试。处理信号 如果在使用的时候,遇到类似下面的报错 Threa...

  • 进程的图文形象表示 阮一峰–进程与线程的一个简单解释 多进程实质 现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的,那么,单核CPU是怎么执行多任务的呢? 答案就是操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务...

  • redis 事物: Redis 事物的实现: 首先 wath监控键值 myKey开启批量执行 multi,执行命令入列,执行 exec 。如果监控的键值mykey 没有被修改过,则exec 中批量执行的命令成功,否则执行失败。无论执行成功与否,都会执行取消wath的执行  Redis multi 批量执行,是先把批量中的命令放入队列...

  • 一、准备工作: 1.登录服务器,切换到root用户(su - root,然后输入密码,按enter),进入根目录:cd / 2.进入要安装jdk的目录,自己可以创建一个java目录,执行命令如下: cd /usr/local/ mkdir java 二、下载安装包 1.打开官网下载界面:https://www.oracle.com/...

  • 展开全部 当两个或2113多个循环语句嵌套时,执行5261顺序按照一下步骤: 1、先判断最外4102层循环条件,若1653满足条件则进入第一层循环体。 2、进入第一层循环体后再次遇到循环语句进行第二层循环条件判断,若符合判断条件,进入第二层循环体。 3、若有更多层的循环体嵌套,依照上述方法依次判断是否进入循环体。 4、由内而外执行循环...

  • 一.  结构的基本知识 聚合数据类型能够存储多个数据,C语言提供了两种类型的聚合数据类型,数组和结构。数组是相同的数据,结构是不同类型的数据聚合。结构也是一些值得集合,这些值成为它的成员,每个结构都有它的名字,他们是通过名字来访问的。 1.      结构声明 在结构声明时,必须列出它包含的所有成员,这个列表包括每个成员的类型和...

  •   在前面认识C中的结构体中我介绍了结构体的基础知识,下面通过这段代码来回顾一下: 1 #include 2 #define LEN 20 3 4 struct Student{ //定义结构体 5 char name[LEN]; 6 char address[...

  • Hibernate 配置参数hibernate.hbm2ddl.auto  Hibernate中的配置文件:              参数说明:   valid...