Java基础之程序流程控制


Java中的程序流程控制

Java中的程序流程分为三种结构:①顺序结构;②分支结构;③循环结构

一.顺序结构

  Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量。

public class FlowControl {
    public static void main(String[] args) {
        // 正确引用
        int num1 = 10;
        int num2 = 5+ num1;
        
        
        //错误引用
        /*
         int num4 =num3 + num2;
         int num3 =9;
         */
    }
}

 

二.分支结构

  分支语句1:if-else

   if语句的三种格式

public class IfTest {
    public static void main(String[] args) {
        int i = 10;
        //第一种方式
        if(i==10) {
            System.out.println("i小于10");
        }
        //第二种
        if(i>10) {
            System.out.println("i大于10");
        }else {
            System.out.println(i);
        }
        //第三种
        if(i<10) {
            System.out.println("i小于10");
        }else if (i>10) {
            System.out.println("i大于10");
        }else {
            System.out.println("i等于10");
        }       
    }
}

注意 :请思考一下,一下代码的执行结果

public class IfTest {
    public static void main(String[] args) {
        int x = 4;
        int y = 1;
        if(x>2) {
            
                if(y>1)
                    System.out.println(y);
                System.out.println(x+y);
        
        }else {
            System.out.println("x is"+x);
        }
    }
}

  二.switch分支结构

  switch结构表达式

 1 /**
 2  *switch语法
 3  *switch(表达式) {
 4  *    case 常量1:
 5  *        语句;
 6  *        break;
 7  *    case 常量2:
 8  *        语句;
 9  *        break;
10  *        ......
11  *    case 常量n;
12  *        语句;
13  *        break;
14  *    default:
15  *        语句;
16  *        berak:
17  *}
18  *
19  *
20  */
21 public class SwitchTest {
22     public static void main(String[] args) {
23             
24             int i =2;
25             switch(i) {
26                 case 1:
27                     System.out.println("一年级");
28                     break;
29                 case 2:
30                     System.out.println("二年级");
31                     break;
32                 case 3:
33                     System.out.println("三年级");
34                     break;
35                 default:
36                     System.out.println("校长");
37                     break;
38             
39         }
40     }
41 }

 

switch语句中应该注意的东西:

switch表达式中支持的返回值类型:byte,short,int,枚举,char,string;

case子句必须是常量;且所有case子句的执行逻辑应该是不相同的。

default子句是可以选择的,没有匹配的case子句时会默认匹配default子句中的值。

在switch语句中,应该每一个case中都应该由跳出逻辑,应当由break语句;如果没有break语句,程序会顺序执行到switch结尾。

三.循环结构

一. 首先我们来了解一下循环语句的四个组成部分:

  1. 初始化部分  
  2. 循环条件部分
  3. 循环体部分
  4. 迭代部分

 二. 循环语句分类:for循环,while循环,do/while循环

  首先,我们来看for循环。

  for循环的语法格式:for(初始化值①;布尔值测试②;更改表达式④){

  语句或者语句块③;

}

图例(图是从别的地方抠来的.....):

  while循环语法格式

  初始化语句;

  whlie(条件){

  语句;

}

示例代码:

 1 public class WhileTest {
 2     public static void main(String[] args) {
 3         int result =0;
 4         int i=1;
 5         while(i<=10) {
 6             result=result+i;
 7             i++;
 8             System.out.println("result:"+result);
 9         }
10     }
11 
12 }

 

do-while循环语句

  语法格式:

    初始化语句

    do{

    语句或者语句块

  }while(布尔测试值)

示例代码:

 1 public class DoWhileTest2 {
 2     public static void main(String[] args) {
 3         int result =0;
 4         int i=1;
 5         do {
 6             result=result+i;
 7             i++;
 8             System.out.println("result:"+result);
 9         }while(i<10);
10     }
11 
12 }

 

 

除了这三种流程语句,我们还有一些特殊的流程控制语句,比如break语句,continue语句;return语句;都可以控制程序流程,这些语句将会在之后做一些总结。