Java基础之流程控制

Java顺序结构

任何编程语言中最常见的程序结构就是顺序结构。顺序结构就是程序从上到下逐行地执行,中间没有任何判断和跳转。如果main方法的多行代码之间没有任何流程控制,则程序总是从上向下依次执行,排在前面的代码先执行,排在后面的代码后执行。

分支结构

if(条件表达式){
  	语句体;
}

执行流程

  • 首先判断条件表达式看其结果是true还是false

  • 如果是true就执行语句体

  • 如果是false就不执行语句体

if语句第二种格式

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

执行流程

  • 首先判断关系表达式看其结果是true还是false

  • 如果是true就执行语句体1

  • 如果是false就执行语句体2

if语句第三种格式

if (判断条件1) {
  	执行语句1;
} else if (判断条件2) {
  	执行语句2;
}
...
}else if (判断条件n) {
 	执行语句n;
} else {
  	执行语句n+1;
}

执行流程

  • 首先判断关系表达式1看其结果是true还是false

  • 如果是true就执行语句体1,然后结束当前多分支

  • 如果是false就继续判断关系表达式2看其结果是true还是false

  • 如果是true就执行语句体2,然后结束当前多分支

  • 如果是false就继续判断关系表达式…看其结果是true还是false

  • 如果没有任何关系表达式为true,就执行语句体n+1,然后结束当前多分支

switch选择结构

switch(表达式){
    case 常量值1:
        语句块1;
        【break;】
    case 常量值2:
        语句块2;
        【break;】   
    。。。
   【default:
        语句块n+1;
        【break;】
     】
}

执行过程:

(1)入口

①当switch(表达式)的值与case后面的某个常量值匹配,就从这个case进入;

②当switch(表达式)的值与case后面的所有常量值都不匹配,寻找default分支进入;不管default在哪里

(2)一旦从“入口”进入switch,就会顺序往下执行,直到遇到“出口”,即可能发生贯穿

(3)出口

①自然出口:遇到了switch的结束}

②中断出口:遇到了break等

 

注意:

(1)switch(表达式)的值的类型,只能是:4种基本数据类型(byte,short,int,char),两种引用数据类型(JDK1.5之后枚举、JDK1.7之后String)

(2)case后面必须是常量值,而且不能重复

穿透例子  

		switch(month) {
            case 1:
            case 2:
            case 12:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default:
                System.out.println("你输入的月份有误");
                break;

  

  

  

  

  

本文为原创文章,转载请标明出处
原文地址:https://www.cnblogs.com/harden13/p/14457863.html