Java基础之流程控制语句

流程控制语句

流程控制,顾名思义在程序流程中进行控制操作。其实对于流程控制,大多数人在高中的数学中就见到过,只不过那个时候叫做“流程图”。如图,

 

Java中的流程控制语句按结构分为:顺序结构、选择结构、循环结构(不分先后顺序)。

循环结构:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件改为false,从而结束循环,否则循环将一直执行下去,形成死循环

    *. 循环语句的组成:

    • 初始化语句:
      • 一条或者多条语句,这些语句完成一些初始化操作。
    • 判断条件语句:
      • 这是一个boolean 表达式,这个表达式能决定是否执行循环体。
    • 循环体语句:
      • 这个部分是循环体语句,也就是我们要多次做的事情。
    • 控制条件语句:
      • 这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

Java提供的三种循环语句:

        for                 while               do…while

模块化讲解

1.顺序结构:

 

从上到下依次顺序

选择结构(if语句):

 

if语句格式1: if(关系表达式){语句体}

    执行流程:a. 首先计算关系表达式的值,看是true或者false

              b. 如果是true就执行语句体

              c. 如果是false就不执行语句体

if语句格式2:if(关系表达式){语句体1}else{语句体2}

    执行流程:a. 首先判断关系表达式看其结果是true或者false

              b. 如果是true就执行语句体1

              c. 如果是false就执行语句体2

 

       if语句格式1/2(主体代码):

int score = 85;
if
(score > 90){
    System.
out.println("奖励一个苹果");
}else{
    System.
out.println("奖励一本五年高考三年模拟");
}

 

 

解析:该段代码的含义是,定义int型变量score并赋值85,进入if判断语句,首先对关系表达式(score>90)进行计算,如果score大于90那么输出"奖励一个苹果",否则输出"奖励一本五年高考三年模拟"。因为85<90,结果为false,进入下一个语句体并打印结果

运行结果:"奖励一本五年高考三年模拟"

 

if语句格式3:if(关系表达式1){语句体1}else if(关系表达式2){语句体2}else{语句体n}

    执行流程:a. 首先判断关系表达式看其结果是true或者false

              b. 如果是true就执行语句体1

              c. 如果是false,就继续计算关系表达式2的值,看其结果是true或者false

              d.如果是false就继续计算表达式3的是,依次类推

注:格式3一般是在需要多重判断的情况下使用

 

if语句格式3(主体代码):

int score = 85;

if(score > 90){

    System.out.println("奖励一个苹果");

  }else if(score > 70){

    System.out.println("奖励一块橡皮");

  }else{

    System.out.println("奖励一本五年高考三年模拟");

  }

 

解析:该段代码的含义是,定义int型变量score并赋值85,进入if判断语句,首先对关系表达式1(score > 90)进行计算,如果 score 值大于90,则输出“奖励一个苹果”,否则进入关系表达式2(score > 70)进行计算,如果score 是介于 70--90 之间,则输出“奖励一块橡皮”,如果成绩小于等于 70 ,则输出"奖励一本五年高考三年模拟"

运行结果:奖励一块橡皮

 

案例:

String today = "周末";

  String weather = "晴朗";

if(today.equals("周末")){

    if(weather.equals("晴朗")){

        System.out.println("去游乐场玩");

    }else{

        System.out.println("看电影");

    }

}else{

    System.out.println("在家写作业");

  }

 

 运行结果:去游乐场玩

 

 

选择结构(switch语句):

switch(表达式){

    case值1:

            语句体1

            break;

case值1:

            语句体1

            break;

    …

    default:

            语句体n+1:

            break;

}

格式解释:

    表达式():byte short int char

            JDK5以后可以是枚举

            JDK7以后可以是字符串

    case后面的值:就是用来和表达式的值进行匹配的内容

    break:表示中断的意思,跳出该循环

    default:所有的值都不匹配的时候,就用default

执行流程:

  1. 首先计算表达式的值
  2. 拿着该表达式的值,依次和case后面的值进行比较,就执行对应的语句体,遇到break就结束
  3. 如果所有的case都不匹配,就执行语句体n+1

注:case语句下没有break,会导致case穿透

 

案例1(有break):

 

int num = 1;

switch (num) {

    case 1:

        System.out.println("奖励一部手机");

        break;

    case 2:

        System.out.println("奖励一个IPad");

        break;

    case 3:

        System.out.println("奖励一顿美食");

        break;

        default:

            System.out.println("做作业");

  }

运行结果:奖励一部手机

案例2(无break):

int num = 1;

switch (num) {

    case 1:

        System.out.println("奖励一部手机");

        //break;

    case 2:

        System.out.println("奖励一个IPad");

        //break;

    case 3:

        System.out.println("奖励一顿美食");

        //break;

        default:

            System.out.println("做作业");

  }

运行结果:

奖励一部手机

奖励一个IPad

奖励一顿美食

做作业

“穿透式的结果”

循环结构(for循环):

 

    • for(初始化语句;判断条件语句;控制条件语句) {

         循环体语句;

    }

    • 执行流程

a:执行初始化语句

b:执行判断条件语句,看其结果是true还是false

        • 如果是false,循环结束。
        • 如果是true,继续执行。

c:执行循环体语句

d:执行控制条件语句

e:回到B继续

 

      案例1:

for(int i = 0;i < 5;i++){

    System.out.println("我爱编程,更爱Java");

  }

      解析:该段代码的含义是,初始化一个int型变量i,如果i < 5,就执行i++并打印出,我爱编程,更爱Java,直到不满足条件循环体执行结束

      运行结果:

我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

值得注意的几点:

for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。

    a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作,如:

int i = 0;//变量i在for循环语句之前赋值

  for(;i < 10;i++){//省略初始化变量

    System.out.println("我爱编程,更爱Java");

  }

 b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如:

for(int i = 0;;i++){//省略循环条件

    System.out.println("我爱编程,更爱Java");

  }

   注:对于死循环的情况,一般采取break方法强制结束循环

2、 for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如:

for(int i = 0,j = 5;i < 5;i++,j--){

    System.out.println(i+"+"+j+"="+(i+j));

  }

     运行结果:

    0+5=5

1+4=5

2+3=5

3+2=5

4+1=5

3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级,如:

for(int i = 0;i < 10 && i !=5;i++){//省略循环条件

    System.out.println(i);

  }

运行结果:0  1  2  3  4

  这里可能会有疑问,大家可以复习一下&&的语法哦,同时呢希望大家自己可以写一些更复杂的表达式来加强自己的编程能力哦!

循环结构(while循环):

 

格式:

    • 基本格式

                while(判断条件语句) {

                循环体语句;

   }   

    • 扩展格式

                初始化语句;

                while(判断条件语句) {

                循环体语句;

                控制条件语句;

}

案例:

int i = 1;

while(i < 5){

    System.out.println("我爱编程,更爱Java");

    i++;

  }

运行结果:该段代码的含义是,定义int型变量i并赋值1,进入条件语句,i < 5 并打印一次“我爱编程,更爱Java”,之后执行i++,依次循环下去直到I >= 5不能再次进入循环

        我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

 

循环结构(do…while循环):

 

格式:

    • 基本格式

                 do {

                         循环体语句;

                    }while((判断条件语句);

    • 扩展格式

                初始化语句;

                do {

                        循环体语句;

                         控制条件语句;

                    } while((判断条件语句);

   案例:

int i = 1;

do{

    System.out.println("我爱编程,更爱Java");

    i++;

  }while (i <= 5);

解析:先执行一遍循环操作,然后判断循环条件是否成立,如果成立继续执行循环,直到不满足i<=5的判断条件

运行结果:

我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

我爱编程,更爱Java

 

 

三种循环的差别

虽然可以完成同样的功能,但是还是有小区别:

    • do…while循环至少会执行一次循环体。
    • for循环和while循环只有在条件成立的时候才会去执行循环体

for循环语句和while循环语句的小区别:

    • 使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

跳转控制语句

     break 中断:用于结束循环

案例:

for(int i = 0;i < 10;i++){
  
if((i > 1)&&(i % 2 == 0)){
      
break;
  
}
    System.
out.print(i+"\t");
}
System.
out.println("执行break之后,跳出循环,执行这句话");

   解析:使用循环输出 0--9的数值,其中,如果数值大于 1 ,并且为 2 的倍数则停止输出。

   运行结果:0   1     执行break之后,跳出循环,执行这句话

 

continue 继续:结束一次循环继续下一次循环

案例:

for(int i = 0;i < 10;i++){
  
if(i % 2 != 0){
      
continue;
  
}
    System.
out.print(i+"\t");
}

 

    解析:打印 0--9 之间所有的偶数,通过continue结束本次循环,执行下一次循环:

    运行结果:0 2   4   6   8

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息数据从传统到当代,是一直在变革当,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的高校科研信息管理系统实现了操作日志管理、字典管理、反馈管理、公告管理、科研成果管理、科研项目管理、通知管理、学术活动管理、学院部门管理、科研人员管理、管理员管理等功能。系统用到了关系型数据库王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让高校科研信息管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值