zoukankan      html  css  js  c++  java
  • Java流程控制语句结构之分支结构

    /**
    * Java流程控制语句结构(一)
    * 流程控制语句结构分为:
    * 1、顺序结构:从上到下依次执行
    * 2、分支结构:多个分支选择其中一个分支执行
    * 3、循环结构:重复执行某些代码
    *
    * 分支结构:根据条件选择性的执行某些代码
    * 1、条件判断:if...else系列
    * 2、选择结构:switch...case系列
    *
    * 1、分支结构:
    * 1.1、单分支结构:一个 if 语句包含一个布尔表达式和一条或多条语句。
    * 语法格式:
    * if(条件表达式){
    * 当条件表达式成立(true)时需要执行的语句块;
    * }
    * 执行过程:条件成立,就执行{}其中的语句块,不成立就不执行。
    * 注意:
    * (1)if(条件表达式)中的条件表达式的结果必须是boolean类型
    * (2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{},但是我们不建议省略
    *
    * 1.2、双分支结构:if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行
    * 语法格式:
    * if(条件表达式){
    * 当条件表达式成立(true)时需要执行的语句块1;
    * }else{
    * 当条件表达式不成立(false)时需要执行的语句块2;
    * }
    * 执行过程:当条件表达式成立(true)时执行语句块1,否则执行语句块2
    * 注意:
    * (1)if(条件表达式)中的条件表达式的结果必须是boolean类型
    * (2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{},但是我们不建议省略*
    *
    * 1.3、多分支结构:if...else if...else 语句
    * 语法格式:
    * if(条件表达式1){
    * 当条件表达式1成立的时候,执行的语句块1;
    * }else if(条件表达式2){
    * 当条件表达式1不成立,
    * 条件表达式2成立的时候,执行的语句块2;
    * }else if(条件表达式3){
    * 当条件表达式1不成立,
    * 条件表达式2也不成立,
    * 条件表达式3成立的时候,执行的语句块3;
    * }
    * ...
    * else{
    * 当以上所有的条件表达式都不成立,需要执行的语句块n+1;
    * }
    * 执行过程:
    * (1)多个条件顺序往下判断,如果上面有一个条件成立了,下面的条件就不看了
    * (2)多个分支也只会执行其中的一个
    * 注意:
    * (1)每一个条件表达式都必须是boolean值
    * (2)当{}中只有一个语句时,也可以省略{},但不建议省略
    * (3)当多个条件是“互斥”关系(没有重叠部分),顺序可以随意;
    * 当多个条件是“包含”关系(有重叠部分),顺序不能随意,小的在上,大的在下面
    * (4)使用 if,else if,else 语句的时候,需要注意下面几点:
    * if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
    * if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
    * 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
    *
    * 嵌套的 if…else 语句:
    * 使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句
    * 语法格式:
    * if(布尔表达式 1){
    * ////如果布尔表达式 1的值为true执行代码
    * if(布尔表达式 2){
    * ////如果布尔表达式 2的值为true执行代码
    * }
    * }else{
    * if(布尔表达式 2){
    * ////如果布尔表达式 2的值为true执行代码
    * }
    * }
    * 执行过程:
    * ​ 当嵌套在if中,就是当外面的if成立时,才会看里面的条件判断;
    * ​ 当嵌套在else中,就当外面的else满足时,才会看里面的条件判断;
    *
    * 2、选择结构
    * 2.1、switch case语句:switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
    * 语法格式:
    * switch(表达式){
    * case 常量值1:
    * 语句块1;
    * 【break;】
    * case 常量值2:
    * 语句块2;
    * 【break;】
    * ...
    * 【default:
    * 语句块n+1;
    * 【break;】
    * 】
    * }
    * 执行过程:
    *(1)入口
    * ①当switch(表达式)的值与case后面的某个常量值匹配,就从这个case进入;
    * ②当switch(表达式)的值与case后面的所有常量值都不匹配,寻找default分支进入;
    *(2)一旦从“入口”进入switch,就会顺序往下执行,直到遇到“出口”
    *(3)出口:
    * ①自然出口:遇到了switch的结束
    * ②中断出口:遇到了break等
    * 注意:
    * (1)switch(表达式)的值的类型,只能是:
    * 4种基本数据类型(byte,short,int,char,Character,Byte,Short,Integer),两种引用数据类型(枚举enum、String)
    * Character, Byte, Short, Integer:分别是char, byte, short, int 在java中实现为对象类型的包装类
    * (2)case后面必须是常量值,而且不能重复。
    * switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断。
    * 如果 case 语句块中没有 break 语句时,JVM 并不会顺序输出每一个 case 对应的返回值,而是继续匹配,匹配不成功则返回默认 case。
    * 如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
    *
    */
  • 相关阅读:
    Codeforces 662 C. Binary Table
    Codeforces 923 D. Picking Strings
    Codeforces 923 C. Perfect Security
    Codeforces 923 B. Producing Snow
    Codeforces 923 A. Primal Sport
    bzoj千题计划288:bzoj1876: [SDOI2009]SuperGCD
    Configuring HugePages for Oracle on Linux (x86-64)
    Oracle 11g新参数USE_LARGE_PAGES与AMM使用 (转载)
    Linux Hugepage ,AMM及 USE_LARGE_PAGES for oracle 11G(转载)
    Oracle教程:如何诊断节点重启问题(转载)
  • 原文地址:https://www.cnblogs.com/leeho/p/14184157.html
Copyright © 2011-2022 走看看