• Java编程基础——流程控制


    Java编程基础——流程控制

    摘要:本文主要介绍Java编程中的流程控制语句。

    分类

    流程控制指的是在程序运行的过程中控制程序运行走向的方式。主要分为以下三种:

    顺序结构:从上到下依次执行每条语句操作。

    分支结构:根据条件判断执行哪些语句操作。

    循环结构:根据循环初始条件和终结要求,执行循环体内的操作。

    分支结构

    Java提供两种分支结构:if和switch。其中if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,而switch语句则是使用整数,String类型,枚举类型。

    分支的各种情况要满足不重复,不遗漏的原则。即:相互独立,完全穷尽(MECE,Mutually Exclusive Collectively Exhaustive)。

    if分支结构

    if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,主要有三种结构。

    if 语句

    语法:

    1 if ( 条件 ) {
    2     语句;
    3 }

    执行:

    如果条件成立,执行大括号中的语句,如果条件不成立,跳过大括号,执行后面的语句。

    举例:

    判断一个数字是否是正数。

    1 int i = 1;
    2 if (i > 0) {
    3     System.out.println(i + "是正数!");
    4 }

    if … else 语句

    语法:

    1 if ( 条件 ) {
    2     语句;
    3 } else {
    4     语句;
    5 }

    执行:

    如果条件成立,执行大括号中的语句,如果条件不成立,执行else后面大括号中的语句。

    举例:

    判断成绩是否及格。

    1 int i = 58;
    2 if (i >= 60) {
    3     System.out.println("成绩及格了!");
    4 } else {
    5     System.out.println("成绩不及格!");
    6 }

    if … else if … else 语句

    语法:

    1 if ( 条件 ) {
    2     语句;
    3 } else if ( 条件 ) {
    4     语句;
    5 } else {
    6     语句;
    7 }

    执行:

    如果第一个条件成立,执行第一个条件后面大括号里的语句,如果第一个条件不成立,判断下一个条件,依次类推,如果所有条件都不成立,执行else中的语句。

    举例:

    判断成绩级别。

     1 int i = 78;
     2 if (i == 100) {
     3     System.out.println("满分!");
     4 } else if (i >= 90) {
     5     System.out.println("优秀!");
     6 } else if (i >= 80) {
     7     System.out.println("良好!");
     8 } else if (i >= 60) {
     9     System.out.println("及格!");
    10 } else {
    11     System.out.println("不及格!");
    12 }

    switch分支结构

    语法:

     1 switch ( 表达式 ) {
     2 case 常量:
     3     语句;
     4     break;
     5 case 常量:
     6     语句;
     7     break;
     8 default:
     9     语句;
    10     break;
    11 }

    执行:

    拿着变量或表达式得到的值,去和各个case后面常量的值做判断,看是否匹配,如果有一个匹配的,则执行当前常量后面的语句,遇见break则不再执行,如果没有遇见,则一直顺序往下执行。

    如果没有匹配的,则执行default后面的语句。

    举例:

    判断性别。

     1 int sex = 1;
     2 switch (sex) {
     3 case 1:
     4     System.out.println("性别男!");
     5     break;
     6 case 2:
     7     System.out.println("性别女!");
     8     break;
     9 default:
    10     System.out.println("无性别!");
    11     break;
    12 }

    注意:

    case后的常量值不可以重复。

    default可以省略,而且default位置也可以提到前面,只是不建议。

    break可以省略。

    switch只能做等值判断。

    if结构和switch结构的对比

    相同点:

    都可以实现分支结构。

    不同点:

    能用switch解决的题目肯定能用if解决;但能用if解决的题目不一定可以用switch解决。

    只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断。

    switch结构的效率比if结构的效率高。

    循环结构

    循环语句也称作迭代语句,循环语句可以在满足条件的情况下反复执行某一段代码。

    while循环结构

    语法:

    1 while ( 条件 ) {
    2     语句;
    3 }

    执行:

    先判断条件是否满足,如果不满足则跳出循环,如果满足则执行语句,然后再次判断,直到条件不满足或跳出循环。

    举例:

    循环打印从0到10的数字。

    1 int i = 0;
    2 while (i <= 10) {
    3     System.out.println(i);
    4     i++;
    5 }

    do-while循环结构

    语法:

    1 do {
    2     语句;
    3 } while ( 条件 );

    执行:

    先执行一次语句,然后判断条件是否满足,如果不满足则跳出循环,如果满足则执行循环语句,直到条件不满足或跳出循环。

    举例:

    循环打印从0到10的数字。

    1 int i = 0;
    2 do {
    3     System.out.println(i);
    4     i++;
    5 } while (i <= 10);

    for循环结构

    语法:

    1 for ( 初始化表达式 ; 条件 ; 变量更新 ) {
    2     语句;
    3 }

    执行:

    先执行一次初始化表达式,然后判断条件,如果不满足则跳出循环,如果满足则执行语句,然后执行变量更新。再判断条件是否满足,不满足则跳出,满足则执行语句和变量更新,直到条件不满足或跳出循环。

    举例:

    循环打印从0到10的数字。

    1 for (int i = 0; i <= 10; i++) {
    2     System.out.println(i);
    3 }

    注意事项:

    ◆ 两个分号必不可少。

    ◆ 三个表达式可以不写,但有可能造成死循环。

    ◆ 表达式1可以有多个变量初始化,要用逗号隔开。

    ◆ 表达式3可以有多个变量更新,要用逗号隔开。

    三种循环结构对比

    相同点:

    都具备循环的四要素:循环变量初始化,循环条件,循环操作(循环体),循环变量更新(迭代)。

    不同点:

    语法不同。

    执行顺序不同,while循环和for循环都是先判断后执行,do-while是先执行后判断。

    执行效率不同,do-while的执行效率最高。

    跳转结构

    跳转语句用于实现循环执行过程中程序流程的跳转。

    break语句

    在switch条件语句和循环语句中都可以使用break语句。

    当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。

    当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。

    举例:

    循环打印从0到10的数字,要求当要打印6时停止循环。

    1 for (int i = 0; i <= 10; i++) {
    2     if (i == 6) {
    3         break;
    4     }
    5     System.out.println(i);
    6 }

    结果:

    1 0
    2 1
    3 2
    4 3
    5 4
    6 5

    当条件判断i为6时,循环终止,不再打印6和之后的数字。

    continue语句

    只能用在循环语句中,它的作用是跳过本次循环,执行下一次循环。

    举例:

    循环打印从0到10的数字,要求当要打印6时跳过循环,即不要打印6。

    1 for (int i = 0; i <= 10; i++) {
    2     if (i == 6) {
    3         continue;
    4     }
    5     System.out.println(i);
    6 }

    结果:

     1 0
     2 1
     3 2
     4 3
     5 4
     6 5
     7 7
     8 8
     9 9
    10 10

    当条件判断i为6时,循环跳过,不再打印6,继续打印之后的数字。

    return语句

    用于跳出方法。

  • 相关阅读:
    AngularJS使用angular-formly进行表单验证
    AngularJS使用ngMessages进行表单验证
    AngularJS订阅API服务
    AngularJS中module的导入导出
    Gulp快速入门
    AngularJS过滤排序思路
    AngularJS表单验证,手动验证或自动验证
    AngularJS的增删改查、state嵌套案例,不涉及服务端
    前端使用AngularJS的$resource,后端ASP.NET Web API,实现分页、过滤
    前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查
  • 原文地址:https://www.cnblogs.com/shamao/p/10100027.html
Copyright © 2020-2023  润新知