首页 > 代码库 > Java分支结构

Java分支结构

1.分支结构

  任何复杂的逻辑都可以通过“顺序”、“分支”、“循环”三种基本的程序结构来实现。分支结构:程序在运行中,根据不同的条件执行不同的语句。

技术分享

三种结构:

  • if结构:满足条件时执行语句,不满足则不执行(1条路)
  • if...else结构:满足条件执行语句,不满足则执行另外的语句(两条路)
  • if...else if结构:多个条件,满足不同条件执行不同语句(多条路)

1.1 if结构

技术分享

语法:

if(条件表达式){

  语句块;

}

1)案例1,判断一个整数是不是偶数

public class Test {
    public static void main(String[] args){
        int a = 4;
        if(a%2==0){
        	System.out.println(a+"是偶数");
        }
        System.out.println("over");
    }

}

1.2 if...else结构

技术分享

语法:

if(条件表达式){ 

  语句块1;

}else{

  语句块2;

}

1)案例1,判断一个整数是不是偶数,并输出结果

public class Test {
    public static void main(String[] args){
        int a = 4;
        if(a%2==0){
        	System.out.println(a+"是偶数");
        }else{
        	System.out.println(a+"不是偶数");
        }
        System.out.println("over");
    }

}

3.if...else if结构(嵌套)

技术分享

语法:

if(条件表达式1){

  语句块1;

}else if(条件表达式2){

  语句块2;

}else if(条件表达式3){

  语句块3;

}

1)案例1,判断一个数是正数、负数或是0并输出结果

public class Test {
    public static void main(String[] args){
        int a = 4;
        if(a>0){
        	System.out.println(a+"是正数");
        }else if(a<0){
        	System.out.println(a+"是负数");
        }else if(a==0){
        	System.out.println(a+"是0");
        }
        System.out.println("over");
    }

}

2.switch...case

   一种特殊的分支结构,只能用于判断整数,可以根据一个整数表达式的不同值,从不同程序入口开始执行,需要和break配合使用,执行完相应的语句后则退出switch块,不执行下面的语句。

  如果不加break,则会在满足条件后,将该条件下面的其他条件的语句块一起按顺序输出,直到遇到break或}停止,如下案例2。

  default选项可以不写,也不是必须放在后一个(建议放最后),默认匹配完所有条件后不匹配的情况下才会执行default语句,default可以不写break,如下案例3。

技术分享

 

语法:

switch(判断整数){

case 1:

  语句块1;

  break;

case 2:

  语句块2;

  break;

case 3:

  语句块3;

  break;

default:

  语句块4;

  break;

}

1)案例1

public class Test {
    public static void main(String[] args){
        int a = 4;
        switch(a){
        case 1:
        	System.out.println("A");
        	break;
        case 2:
        	System.out.println("B");
        	break;
        case 3:
        	System.out.println("C");
        	break;
        default:
        	System.out.println("D");
        	break;
        }
    }
}

/*
运行结果:D
*/

2)案例2,不加break的情况

public class Test {
    public static void main(String[] args){
        int a = 2;
        switch(a){
        case 1:
        	System.out.println("A");
        	break;
        case 2:
        	System.out.println("B");

        case 3:
        	System.out.println("C");
        	
        default:
        	System.out.println("D");
        	
        }
    }
}


/*
运行结果:
B
C
D
*/

3)案例3,default不写在最后,default需要加break,如下情况

public class Test {
    public static void main(String[] args){
        int a = 4;
        switch(a){
        default:
        	System.out.println("D");
        case 1:
        	System.out.println("A");
        	break;
        case 2:
        	System.out.println("B");
        	break;
        case 3:
        	System.out.println("C");
        	break;
        }
    }
}

/*
运行结果:
D
A
*/

  

 

Java分支结构