java 分支_Java 分支结构

1.分支结构

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

2c992de47a070019e00ed9c79f94a122.png

三种结构:

if结构:满足条件时执行语句,不满足则不执行(1条路)

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

if...else if结构:多个条件,满足不同条件执行不同语句(多条路)

1.1 if结构

39471466df5172a12e85148f2c132051.png

语法:

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结构

3f1ba46fb35d66b19e7e6f9368df7c74.png

语法:

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结构(嵌套)

8ec95efed5714a129077d667a0eef59c.png

语法:

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。

3cae4bb6c11ee2f278f29a27fbf7a9c1.png

语法:

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

*/

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值