【Java基础】分支结构(1)

java 分支结构

if , if else , if elseif if

 1 /**
 2 文件路径:G:\JavaByHands\if-else 3 文件名称:IfElseT.java
 4 编写时间:2016/6/5
 5 作    者:郑晨辉
 6 编写说明:if if-else if-ifelse else 代码示例
 7 */
 8 public class IfElseT {
 9     public static void main(String[] args) {
10         System.out.println("--程序开始--");
11         //设定传入条件
12         int i = 3;
13         //单if
14         if(i < 4) {
15             System.out.println("3<4");
16         }
17         if(i > 4) {
18             System.out.println("3>4");
19         }
20
21         System.out.println("---分割线---");
22
23         //if-else
24         if(i < 4) {
25             System.out.println("3<4");
26         } else {
27             System.out.println("4<3");
28         }
29
30         System.out.println("---分割线---");
31
32         //if if else else
33         if(i < 3) {
34             System.out.println("3<3");
35         } else if (i > 3) {
36             System.out.println("3>3");
37         } else {
38             System.out.println("3=3");
39         }
40
41         System.out.println("--程序结束--");
42     }
43 }

结果:

注意:if else if 中的else 的条件默认对上一个if条件取反

代码示例:

/**
文件路径:G:\JavaByHands\if-else文件名称:IfElseTest.java
编写时间:2016/6/5
作    者:郑晨辉
编写说明:ifelse中的else的条件默认对上一个if的条件取反
*/
public class IfElseTest {
    public static void main(String[] args) {
        System.out.println("--程序开始--");
        //设置条件
        int i = 99;
        //第一种
        if (i > 60) {
            System.out.println("及格");
        } else if(i > 80) {
            System.out.println("普通");
        } else if(i > 95) {
            System.out.println("优秀");
        } else if(i == 100) {
            System.out.println("满分");
        }

        System.out.println("---分割线---");

        //int i = 99;
        //第二种
        if (i == 100) {
            System.out.println("满分");
        } else if(i > 95) {
            System.out.println("优秀");
        } else if(i > 80) {
            System.out.println("普通");
        } else if(i > 60) {
            System.out.println("及格");
        }
        System.out.println("--程序结束--");
    }
}

结果:两次结果并不相同

 原因就是else 的条件默认对上一个if条件取反:

        int i = 99;
        //第一种
        if (i > 60) { // i > 60
            System.out.println("及格");
        } else if(i > 80) { // i > 80 && !(i > 60)
            System.out.println("普通");
        } else if(i > 95) { // i > 95 && !(i > 80 && !(i > 60))
            System.out.println("优秀");
        } else if(i == 100) { // i == 100 && !(i > 95 && !(i > 80 && !(i > 60)))
            System.out.println("满分");
        }

        System.out.println("---分割线---");

        //int i = 99;
        //第二种
        if (i == 100) { // i == 100
            System.out.println("满分");
        } else if(i > 95) { //i > 95 && !(i == 100)
            System.out.println("优秀");
        } else if(i > 80) { // i > 80 && !(i > 95 && !(i == 100))
            System.out.println("普通");
        } else if(i > 60) { // i > 60 && !(i > 80 && !(i > 95 && !(i == 100)))
            System.out.println("及格");
        }

很明显,如果按照第一种运行,后面的条件根本就不会存在...也就永远都不会运行...

这在实际运用中也是需要注意的,逻辑问题~~

时间: 2024-10-05 15:54:52

【Java基础】分支结构(1)的相关文章

[java基础]循环结构1

[java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句文件名称:WhileTest.java 编写时间:2016/6/7 作 者:郑晨辉 编写说明:while do while 代码示例 */ public class WhileTest{ public static void main(String[] args){ //初始条件 int i = 0; //进入循环,while循环先判

[Java基础]循环结构3

[Java基础]循环结构3 break 与 continue 中断循环... 1 /** 2 文件路径:G:\JavaByHands\循环语句 3 文件名称:BreakTest.java 4 编写时间:2016/6/12 5 作 者:郑晨辉 6 编写说明:break 结束循环 7 break 是完全跳出循环~~也就是说,遇到break 循环终止~~ 8 */ 9 10 public class BreakTest{ 11 12 public static void main(String[] a

[java基础]循环结构2

[java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 1 /** 2 文件路径:G:\JavaByHands\循环语句 3 文件名称:GameForFor.java 4 编写时间:2016/6/7 5 作 者:郑晨辉 6 编写说明:for循环示例 代码示例 7 编写一个99乘法表 8 */ 9 public class GameForFor { 10 public static void main(String[] args) { 11 //目标:输出99乘法表 12

Java基础之结构--&gt;&gt;条件结构与循环结构

Java中程序流程控制语句包括条件结构.循环结构和跳转语句 4.1条件结构 条件结构包括顺序结构和选择结构.顺序结构在程序执行中没有跳转和判断,知道程序结束为止.选择结构包括 if 语句,if-else 语句,switch 语句,在程序执行过程中可以改变程序的执行流程. 4.1.1 if 语句 if 语句是条件判断后再处理的一种语法结构 if(条件表达式){ //条件成立后执行 一条或多条语句 } //条件表达式的值只能是 boolean 类型 false / true 4.1.2 if-els

Java 基础 | 循环结构和数组

接着前几天的分支结构的回顾,今天主要回顾一下循环结构和数组方面的一些知识吧. 练习:输入一个数字,然后输出这个数字表示星期几 switch(选择){ case 选项1:Code1;break; case 选项2:Code2;break; -- } 1.switch() 中需要一个选项,选项只能是 byte/short/char/int,从JDK 1.7开始,允许使用 String case 顺序不影响结果 2.如果有一个或者多个 case 之后没有 break,那么这个时候 case 之间的顺序

java基础---选择结构(一)

1.什么是if选择结构? 可以处理单一或组合条件的情况(if选择结构是根据条件判断之后再做处理) 基本的if选择结构 if ( 条件 ) { //代码块 } 条件必须是boolean值 举例 import java.util.Scanner; public class GetPrize { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入一个

java基础--------分支语句与循环语句

程序执行的流程 (1)顺序结构(默认) (2)选择结构 If( )... If()...Else if()... If()...Else()... If()...else if()...else()... 单分支: if(boolean表达式){ 条件为true要执行的语句组 } 双分支: if(boolean表达式){ 条件为true要执行的语句组 }else{ 条件为false要执行的语句组 } 多分支: if(boolean表达式1){ 条件1为true要执行的语句组1 }else  if

java基础 ----- 循环结构

循环的结构特点 :    循环条件   循环操作 -----     while 循环 来个小例子,实现打印50 份shij 1.确定循环条件和循环操作 2.套用while语法写出代码 3.检查循环能否退出 1 public class WhileDemo { 2 3 /* 4 * 如何使用while循环 5 */ 6 public static void main(String[] args) { 7 int count = 1; 8 while(count <= 50){ 9 System.

JAVA基础——链表结构之双端链表

双端链表:双端链表与传统链表非常相似.只是新增了一个属性-即对最后一个链结点的引用 如上图所示:由于有着对最后一个链结点的直接引用.所以双端链表比传统链表在某些方面要方便.比如在尾部插入一个链结点.双端链表可以进行直接操作 但传统链表只能通过next节点循环找到最后链结点操作.所以双端链表适合制造队列. 下面的双端链表类.有几个重要方法. insertFirst(插入首链结点) 这个方法与上篇博文的单链表是基本一样的.唯一区别就是,多了个last引用的操作.正常由于last是指向尾链结点的引用,