Java 分支结构

java

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

三种结构:

  • 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

*/

2.1 switch-case的优缺点

1)优点:

  • 常常和break语句配合使用实现分支的功能
  • 与if...else的主要区别在于switch-case结构的效率高、结构更清晰
  • 从JDK7.0开始,switch-case支持字符串表达式,如下案例

2)缺点:

  •  只能判断整数(字符串)相等

3)案例1,判断字符串

public class Test {

public static void main(String[] args){

String sng = "B";

switch(sng){

case "A":

System.out.println("A");

break;

case "B":

System.out.println("B");

break;

default:

System.out.println("C");

break;

}

}

}

/*

运行结果:B

*/

4)案例2,判断字符

public class Test {

public static void main(String[] args){

char sng = 'B';

switch(sng){

case 'A':

System.out.println("A");

break;

case 'B':

System.out.println("B");

break;

default:

System.out.println("C");

break;

}

}

}

/*

运行结果:B

*/

  

以上是 Java 分支结构 的全部内容, 来源链接: utcz.com/z/391974.html

回到顶部