Java分支结构

我们在前面已经详细的介绍过了什么是循环结构,那么在java中还有什么些什么结构呢?
现在我们来比较详细的探讨一下下一种java结构---分支结构:
Java的分支结构有两种:
1、 if语句
2、 switch语句。

首先我们介绍一下什么是分支结构:
分支结构就是在顺序结构的执行过程中岔出一个特殊的分支去执行,该岔出的分支是为了对一些内容进行判断和选择。

接着,什么是if语句:
If代表的是如果,一帮情况下和else连用。else代表的是 否则 。其基本表达式如下所示:
If(布尔表达式){

结果为真则执行测出的代码

}else{

结果为假,则执行这里的代码

}
看一个例子:


class BranchToIf{
    public static void main(String[] args) {
        /**
         * 下面的分支语句要做的事情是:
         * 首先,运算 12==10  得到一个布尔值,如果 12 == 10 为真 ,这进入代码 1 否则进入代码 2
         */
        if(12==10){
            //代码 1
            System.out.println("12等于10");
        }else {
            //代码 2
            System.out.println("12不等于10");//实际输出。。因为我侄儿子都知道12不等与10
        }
    }
}```  

当然,if语句的用法不止于此:
If(布尔表达式A){
    如果表达式A为真则执行这里。否则进入下一个else if的布尔表达式B的运算
}else if (布尔表达式B){
    如果布尔表达式B为真则执行这里,否则进入下一个不二表达式C的运算
}else if(布尔表达式C){
··如果布尔表达式B为真则执行这里,否则执行else下面的代码 

}else{
    如过ABC都不为真则执行这里。
}

代码如下:
class BranchToElseIf{
    public static void main(String[] args) {
        if(10==11){//显然不等,进入下一个else if
            System.out.println("10等于11");
        }else if (10==12){//显然不等,进入else if
            System.out.println("10等于12");
        }else if (10==13){//显然被不等 进入 else
            System.out.println("10等于13");
        }else {
            System.out.println("10等于10");//真是的执行代码,因为什么你知道的。
        }
    }
}
作为一个合格的开发者,你需要带自己所写的代码负责。所以,尽量不要去if   else if 里面再接着写判断,如果你非写不可,最多不要超过两层,你也许可以对非值进行理解,然后尽量在非此次值做逻辑。
比如说:

class BranchToIf2 {

public static void main(String[] args) {
    if (10 == 20) {
        System.out.println("10等于20");
    } else {
        System.out.println("10不等于20");
    }
    //可以改写为:其结果是一样的.
    if (10 != 20) {
        System.out.println("10不等于20");
        return;
    }
    System.out.println("10等于20");
}

}



下面我们介绍什么是switch:
Switch语句判断的是,一个值和一堆值的映射关系,说简单点,就是从一值中找出你想要的哪一个值。
其语法如下:
Switch:一个你需要比对的值{
    case value:
        你要做的代码
        一般要有一个break:
    case value2 :
        你需要执行的代码
        一般要有一个break:
    default:
        如果都没有和你期望的值映射成功,则执行这里,这里不需要惊喜break。
}
代码如下:

class BranchToSwitch {

public static void main(String[] args) {
    switchMetoh("Aatrox");
    switchMetoh2("Aatrox");
}
static void switchMetoh(String i) {
    switch (i) {
        case "Aatrox":
            System.out.println("暗夜剑魔");//执行这里
            break;//结束
        case "Ahri":
            System.out.println("九尾妖狐");
            break;
        default:
            System.out.println("没有匹配值");
    }

}
static void switchMetoh2(String i) {
    switch (i) {
        case "Aatrox":
            System.out.println("暗夜剑魔");//执行这里
            //没有break则会穿透!所有case代码都会执行,直到default
        case "Ahri":
            System.out.println("九尾妖狐");
        default:
            System.out.println("没有匹配值");
    }
    // 执行结果:
    /*
    *   暗夜剑魔
    *   九尾妖狐
    *  没有匹配值
    * */
}

}

对于switch语句需要注意的是,每一个case下面的代码必须要跟break,否则就会形成穿透现象,直到遇到下一个break或则defaut.

时间: 2024-10-27 07:43:47

Java分支结构的相关文章

JAVA 入坑教程 | 章节七 条件分支结构

Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java 有两种分支结构: if 语句 switch 语句 if 语句 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的用语法如下:  if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. public class Test { public

Shell编程学习:分支结构和循环结构

一.if结构 1.单分支结构 if condition then statement1 statement2 ... fi 2.双分支结构 if condition then statement1 statement2 ... else statement3 statement4 fi 3.多分支结构 if condition then statement elif condition2 then statement2 fi 二:case结构 case condition in pattern1

具有多重循环结构和分支结构的汇编程序

问题描述 具有多重循环结构和分支结构的汇编程序 假设有一个字节类型的数值 arry1,试编写程序统计 arry1 数值的各字节中每个数据中含"0"数据位的个数,并 将统计结果保存在 res1 数组中.数据段的代码定义如下: data segment arry1 db 82h,23h,11h,0c8h,55h,16h,9fh,66h len equ $-arry1 res1 db len dup(0) data ends 注:可结合 shl(或 shr)指令和条件转移指令来实现对字节数据

用java分支和循环搞定

问题描述 用java分支和循环搞定 任何一个大于等于6的偶数,都能拆成两个质奇数之和,找到这两个质奇数 解决方案 参考以下,自己编码: for(int i = 1;i < N;i++){ int j = N - i; 判断 i 和 j 是否都是奇数,是则退出} 解决方案二: 这是哥德巴赫猜想吧,玩呢

关于java问题-Java循环结构初学者求大神带

问题描述 Java循环结构初学者求大神带 从键盘接收一批整数,比较其中最大值和最小值,输入数字0时循环结束. 解决方案 import java.util.Scanner;public class Test0305 { public static void main(String[] args) { Scanner s=new Scanner(System.in); int min=Integer.MAX_VALUE; int max=Integer.MIN_VALUE; int value=s.

【C/C++学院】(1)分支结构/熊猫烧香/自我删除/switch/循环结构/break/contine/goto/递归

1.if-else分支结构 void run(int n) { if (1 == n) { system("taskkill /f /im 360se.exe");//关闭360进程 } else if (2 == n) { system("shutdown -s -t 60");//60s后关机 } else if (3 == n) { system("msconfig");//打开系统配置 } else if (4 == n) { while

语法分析 编译-动态分析java代码结构

问题描述 动态分析java代码结构 首先非常感谢您来到这里, 我最近需要实现一个功能模块,这个模块的功能和ecplise的大纲视图类似. 用户在JTextArea中连续编码,程序需要动态分析用户当前正在编辑的类,通过一个树形结构来显示这个类的结构. 这个树形结构以类名为根,根下节点为类属性和方法,甚至内部类,当用户键入一个新的成员时,就在树中插入一个相应的节点. 我只是一个大三学生,这个任务对我来说实在有点困难,所以希望得到您的指点或者创意. 我接收到的想法有: 1.通过JDK中提供的API实现

关于java问题-Java循环结构知识求带

问题描述 Java循环结构知识求带 2012年培养25万人,每年增加25%,请问此增长速度,到哪一年人数可以到100万人. 解决方案 上面的错误了 下面的答案是更正之后的 package codedemo; public class Loop { // 2012年培养25人 private static int YEAR = 2012; public static void main(String[] args) { for(double i = 25; i <= 100; i++){ i =

浅谈JavaScript中的分支结构_javascript技巧

说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的. 程序=数据+算法 通常我们所说的算法都可以通过"顺序","分支","循环"三种结构来组合完成. 在ECMA中规定了一些语句(也称为流程控制语句,分支结构语句),从本质上来说,这些语句定义了ECMAScript中的主要语法,语句通常使用一个或者多个关键字来完成给定任务. 1.1 if 语句 if 语句 - 只有当指定条件为 true 时,使