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. 一个支持FMX.Win框架的托盘控件

    不多说了 直接上代码........有任何问题请给我邮件.... // **************************************************************** ...

  2. AFNetworking 3.0 版本使用

    原创:http://www.zhimengzhe.com/IOSkaifa/38653.html AFNetworking 3.0 版本使用 在Xcode7.0之后,苹果废弃了NSURLConnect ...

  3. java API 知识:截取特殊标识之前的字符串

    一: double a = 23.36; String b = String.valueOf(a); String d = b.substring(, b.lastIndexOf(".&qu ...

  4. Git reset 常见用法

    Git reset 1. 文件从暂存区回退到工作区 2. 版本回退 1.1 git reset HEAD filename :回退文件,将文件从暂存区回退到工作区 //也可以使用 git reset ...

  5. Android--ViewPager制作APP引导页

    ViewPager使用FragmentStatePagerAdapter做Adapter,引导页使用多Fragment形式. FragmentStatePagerAdapter代码如下: public ...

  6. 再叙TIME_WAIT

    之所以起这样一个题目是因为很久以前我曾经写过一篇介绍TIME_WAIT的文章,不过当时基本属于浅尝辄止,并没深入说明问题的来龙去脉,碰巧这段时间反复被别人问到相关的问题,让我觉得有必要全面总结一下,以 ...

  7. laravel----------------自动生成模型,控制器,视图的操作步骤。

    首先要阅读这篇文章,你一定已经掌握了composer 和 artisan . 第一步,打开https://packagist.org/这个网址,在搜索框内输入way/generators 如图 第二步 ...

  8. 原生的on事件代理

    <script> // jQuery $('.el').on('event', function() { }); // 原生方法 [].forEach.call(document.quer ...

  9. Linux命令之md5sum

    1. 背景 在网络传输.设备之间转存.复制大文件等时,可能会出现传输前后数据不一致的情况.这种情况在网络这种相对更不稳定的环境中,容易出现.那么校验文件的完整性,也是势在必行的. md5sum命令用于 ...

  10. bzoj1029 [JSOI2007]建筑抢修

    贪心,按截止时间排序,然后按截止时间从小到大枚举维修的建筑,如果之前修理建筑的总时间+当前修理时间<=截止时间,那么答案+1,否则如果之前修理过的建筑中最大的修理时间>当前建筑修理时间,那 ...