zoukankan      html  css  js  c++  java
  • 【Java初探03】——流程控制语句

    做任何事情都应当遵守一定的原则,程序设计也是如此,需要有流程控制语言来实现与用户的交流。流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段,如果没有流程控制语句,整个程序将按照线性顺序执行,不能根据用户的输入决定的序列。


    • Java语言的流程控制语句

    • 复合语句
    • 条件语句
    • 循环语句
    • 循环控制

    • 复合语句

    与c语言及其他语言相同,Java语言的复合语句是整个代码块为单位的语句,所以又称块语句。复合语句使用一对{}表示。

    复合语句其实非常常见,我们在类的创建,及方法的定义上,类体就是以{}作为开始与结束的,复合语句中每个语句都是从上往下被执行的,复合语句以整块为单位,能够在任何一个单独语句可以使用到的地方,并且在复合语句中还可以嵌套复合语句。

    需要注意的是,在复合语句的使用中,复合语句为局部变量创建一个作用域,如果在该域外调用局部变量则会发生错误。

    public class class_structure {  // 主类
        public static void main(String[] args) {  // 主方法。
        }
    }
    
    
    • 条件语句

    条件语句有两种,if..else条件语句与switch多分支语句,条件语句也是我们日常经常会使用到的条件判断语句。

    • if条件语句
      if是一个非常重要的编程语句,用于告诉程序在某个条件成立的情况下执行的某段语句,而在另一种情况下执行另外的语句。
      if条件语句可分为三种:简单的if语句,正常的if...else语句,可以持续嵌套的if...else if,多分支语句,if...else if语句的效果和sweitch多分支语句是相同的。
    if(布尔表达式){// 如果条件为true,则执行该复合语句体
    
    
    }else{ // 如果条件为false,则执行该复合语句体
    
    }
    
    • switch多分支语句
      在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不符合,再用另一个值来检查依次类推,这就需要使用到switch多分支语句了,当然使用多个if语句,或if..else if语句嵌套也可以实现,但太麻烦和臃肿。
    Swicth(表达式){
     case 常量值1:
     语句块(也可以使用复合语句)
     break;
     case:常量值2:
     语句块
     break; 
    ...
    default:
    语句块
    break;
    } 
    

    需要注意的是,swicth语句中表达式的值必须是一个整型,字符型,或字符串型,这一点就和if语句不同了。Swicth首先计算出表达式的值,然后一次与case相比较,相同则执行case下语句块,否则有break就跳出,没有就再对比下一个case。

    • 循环语句
      循环语句就是满足一定条件的情况反复执行某一操作。在Java中提供了三种常用的循环语句,分别是while循环语句,do...while循环语句,和for循环语句。

    • while语句
      也称条件判断语句,它的循环方式利用一个条件来控制是否继续反复执行这个语句。

    while(条件表达式){
    执行语句
    }
    

    当while语句表达式为true时,执行{}语句块,当执行完成后,再判断表达式的返回值,知道返回值为false时,推出循环。

    2019-4-2-03.png

    当while(x==5);这样使用时,并不代表接下来while不进行循环,而是判断为空语句,而进入无限循环,而编译器不会报错。

    • do while循环语句

    do..while语句与while语句一样,他们之间的区别是while语句为先判断条件是否成立,再执行循环体,而do..whille语句是先执行一次循环后再判断条件是否成立,也就是说,do while语句中,循环至少运行要运行一次。

    do{
    执行语句
    }
    while(条件表达式);
    

    2019-4-2-04.png

    • for循环语句

    for 循环时Java程序设计中最有用的循环语句之一,一个for循环可以用来重复执行某条数据。直到某个条件得到满足在Java5以后,增加了foreach语法,常用来遍历数组。

    • for语句
    int sum=0;
    for(int i=2;i<=100;i+=2){
    sum = sum +i;
    }
    

    表达式1:初始化表达式式.
    表达式2:循环表达式,值为Boolean型的表达式。指定循环条件。
    表达式3:循环后操作表达式,负责休整变量,改变循环条件 。

    在执行for循环的时候,首先执行表达式1,完成某一变量的初始化,下一步判断表达式2,若2的值为true,则进入循环体;在执行完循环体后紧跟着计算表达式3;这部分通常是增加或减少循环控制变量的一个表达式,这样一轮循环就结束了,第二轮循环从计算表达式2开始,若表达式2返回true,则继续循环,否则跳出for语句。

    2019-4-2-05.png

    // for语句也可以使用这种方式实现无限循环,在这种循环中,可以使用break跳出循环。
    for(;;){
    ....
    break;
    }
    
    • foreach语句

    foreach语句是for语句的特殊简化版本,不能完全取代for语句,但任何foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。foreach语句在遍历数组等方面为程序员提供了很大的方便。

    for(元素变量x:遍历对象 obj){
    引用了x的Java语句;
    }
    

    foreach语句中的元素变量x,不必对其进行初始化。

    int a[]={1,2,3}; // 声明数组a。
    foreach(int b:a){
    system.out.println(x); // foreach语句,int b引用变量,a指定要循环的数组。最后将b输出
    }
    
    • 循环控制

    • break语句
      使用break语句可以跳出switch语句结构,同样也可以用break语句跳出当前的循环体,从而中断循环。

    需要注意的是,在循环嵌套中,break只能跳出当前循环体,只能跳出一层循环,而不能跳出整个嵌套的循环体。

    当然,Java语言中提供了标签机制来配合break机制跳出任意一层循环,只需要将循环体打上标签,然后在使用break的时候使用对应的标签,就可以跳出对应标签的循环体。

    Loop:for(int i=0;i<3;i++){ // 在for循环前用标签标记循环体。
    for(int j=0;j<6;j++){ // 嵌套循环。
    if(j==4){
    break Loop; // 直接跳出Loop标签的循环体
        }
    System.out.println("i="+i+"j="+j)
      }
    }
    

    最后会在j=4时,跳出循环。

    • continue语句

    continue语句时针对break语句的补充,Continue语句不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始循环,在for循环语句中遇到continue语句使控制直接回到条件测试部分。

    当然的continue语句也一样可以使用标签跳出指定循环体。


    学习了流程控制语句后,我们直到了可以使用复合语句为变量定义一个有效区域,通过if和switch语句,可以基于布尔类型的测试,将一个程序分成不同的部分;通过while,do...while循环语句和for循环语句,可以让程序的一部分重复的执行。直到满足某个终止循环的条件。


    关于流程控制 完
    更新时间:
    2019-4-2
    21:41

  • 相关阅读:
    Python入门11 —— 基本数据类型的操作
    Win10安装7 —— 系统的优化
    Win10安装6 —— 系统的激活
    Win10安装5 —— 系统安装步骤
    Win10安装4 —— 通过BIOS进入PE
    Win10安装2 —— 版本的选择与下载
    Win10安装1 —— 引言与目录
    Win10安装3 —— U盘启动工具安装
    虚拟机 —— VMware Workstation15安装教程
    Python入门10 —— for循环
  • 原文地址:https://www.cnblogs.com/gemuxiaoshe/p/10645619.html
Copyright © 2011-2022 走看看