zoukankan      html  css  js  c++  java
  • 【Java基础】分支结构(1)

    java 分支结构

    if , if else , if elseif if

     1 /**
     2 文件路径:G:JavaByHandsif-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:JavaByHandsif-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("及格");
            }

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

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

  • 相关阅读:
    springMVC中@RequestParam和@RequestBody的作用
    java 中Excel的导入导出
    数据库字段名称与实体类属性不一致的处理措施
    linux下解压命令大全
    linux 下 cat
    mysqli
    解析php mysql 事务处理回滚操作(附实例)
    css 样式(checkbox开关、css按钮)
    cetons 怎么强制卸载 PHP
    yhdsir@function:php
  • 原文地址:https://www.cnblogs.com/zhengchenhui/p/5560272.html
Copyright © 2011-2022 走看看