java 分支结构

if , if else , if elseif if

 /**
文件路径:G:\JavaByHands\if-else\
文件名称:IfElseT.java
编写时间:2016/6/5
作 者:郑晨辉
编写说明:if if-else if-ifelse else 代码示例
*/
public class IfElseT {
public static void main(String[] args) {
System.out.println("--程序开始--");
//设定传入条件
int i = 3;
//单if
if(i < 4) {
System.out.println("3<4");
}
if(i > 4) {
System.out.println("3>4");
} System.out.println("---分割线---"); //if-else
if(i < 4) {
System.out.println("3<4");
} else {
System.out.println("4<3");
} System.out.println("---分割线---"); //if if else else
if(i < 3) {
System.out.println("3<3");
} else if (i > 3) {
System.out.println("3>3");
} else {
System.out.println("3=3");
} System.out.println("--程序结束--");
}
}

结果:

注意: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("及格");
}

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

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

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

  1. [java基础]分支结构(2)

    [java基础]分支结构2 switch case /** 文件路径:G:\JavaByHands\if-else\ 文件名称:switchcase.java 编写时间:2016/6/6 作 者:郑晨 ...

  2. [Java基础]循环结构3

    [Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6 ...

  3. [java基础]循环结构2

    [java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:GameForFor.java 编写时间:2016 ...

  4. [java基础]循环结构1

    [java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...

  5. 7.20实习培训日志-Java基础程序设计结构

    Java基础程序设计结构 在 Math 类中,为了达到最快的性能,所有的方法都使用计算机浮点单元中的例程,如果得到一个完全可预测的结果比运行速度更重要的话,那么就应该使用StrictMath类,它使用 ...

  6. Java 8- Java 分支结构 - if…else/switch

    Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java有两种分支结构: if语句 switch语句 if语句 一个if语句包含 ...

  7. JS基础-分支结构-循环-数组

    1.分支结构  1.if结构    语法:    if(条件){       语句块:    }    注意:      1.条件尽量是boolean的,如果不是boolean的,以下条件值,会当做f ...

  8. java基础 ----- 选择结构

    ---------    流程控制 ------     流程图 ------   基本的  if  选择结构 import java.util.Scanner; public class GetPr ...

  9. JAVA基础——链表结构之单链表

    链表:一种数据存储结构.学链表首先要搞懂数组,按朋友的话说,数组和链表的关系就相当于QQ2008和QQ2009. 除非要通过索引频繁访问各个数据,不然大多数情况下都可以用链表代替数组. 链表部分主要要 ...

  10. Java基础循环结构

    int x=10; do { System.out.println("value of x:"+x); x++; } while(x<20); //do while循环 1 ...

随机推荐

  1. 【五子棋AI循序渐进】关于VCT,VCF的思考和核心代码

    前面几篇发布了一些有关五子棋的基本算法,其中有一些BUG也有很多值得再次思考的问题,在框架和效果上基本达到了一个简单的AI的水平,当然,我也是初学并没有掌握太多的高级技术.对于这个程序现在还在优化当中 ...

  2. k8s入门系列之扩展组件(二)kube-ui安装篇

    kube-ui是k8s提供的web管理界面,可以展示节点的内存.CPU.磁盘.Pod.RC.SVC等信息. 1.编辑kube-dashboard-rc.yml定义文件[root@master kube ...

  3. zabbix监控交换机

    zabbix可以通过snmp协议监控交换机 前提: 交换机需要开启snmp协议,通过snmpwalk 可以抓取到数据就可以了 snmpwalk -v 2c -c public *.*.*.* 1.创建 ...

  4. 事务复制-大批量DEL操作

    同事讨论删除发布表历史记录,导致订阅端数据滞后N小时.后来询问得知,发布表T只保留最近31天的数据,每天由Job删除31天前的数据,每天的删除量约400-500万条.默认情况下,在发布端删除400万条 ...

  5. Python之路-python(装饰器、生成器、迭代器、Json & pickle 数据序列化、软件目录结构规范)

    装饰器: 首先来认识一下python函数, 定义:本质是函数(功能是装饰其它函数),为其它函数添加附件功能        原则:        1.不能修改被装饰的函数的源代码.        2.不 ...

  6. linux下使用sftp

    何为sftp sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法. 连接 linux下直接在终端中输入: sftp us ...

  7. Hadoop学习笔记: MapReduce Java编程简介

    概述 本文主要基于Hadoop 1.0.0后推出的新Java API为例介绍MapReduce的Java编程模型.新旧API主要区别在于新API(org.apache.hadoop.mapreduce ...

  8. C++ 学习笔记(3) —— 內联函数

    内联函数的用处: 用空间换取时间,在调用时不用每次都写调用的汇编. 什么时候内联: 比较小的函数:只有两三行 在循环里循环调用的函数 什么时候不内联: 比较大的函数,2.30行的 递归的函数

  9. Windows便笺 快捷键

    便笺快捷键 便笺快捷键多数与Office相同 Ctrl+N 新建 Alt+F4 关闭便笺,下次打开内容还在 Ctrl+D 删除 Ctrl+E 居中 Ctrl+R 右对齐 Ctrl+L 左对齐 Ctrl ...

  10. 161216、使用spring的DefaultResourceLoader自定义properties文件加载工具类

    import java.io.IOException; import java.io.InputStream; import java.util.NoSuchElementException; imp ...