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. ORM系列之一:Dos.ORM

    阅读目录 引言 1.为什么使用Dos.ORM 2.配置 3.开始使用 3.1. 物理表 3.2. 实体类 3.3. 使用方法 引言 Dos.ORM(原名Hxj.Data)于2009年发布,2015年正 ...

  2. Ajaxupload.js上传插件使用

    注意一下火狐,360IE78下的坑: 返回过来的response在不同浏览器下的字符串不一致 // response(chrome):<pre style="word-wrap: br ...

  3. 【C语言学习笔记】存储类、链接和内存管理

    因为对内存管理部分一直没有很清楚的思路,所以一直在找资料想系统看一下这部分的内容.在C primer plus里看到了这一章,虽然大多都是心知肚明的东西,但是还是很多概念性系统性的东西让我眼前一亮,把 ...

  4. CSS3动画产生圆圈由小变大向外扩散的效果

    涉及到 CSS3 的动画(animation).2D 转换(transform: scale),具体如代码所示. github: https://github.com/wind-stone/CSS3- ...

  5. 存储过程:当基站ID大于1000的时候,把ID通过存储过程插入表,然后处理

    不推荐这么弄,没办法,项目逼到这了,以后尽量避免这样的需求发生! CREATE OR REPLACE PROCEDURE insert_tempStation_proc(v_instr in clob ...

  6. Sql Server Express连接字符串

    data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.MDF;User ...

  7. [原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. SQL Server数据库性能优化(三)之 硬件瓶颈分析

    参考文献 http://isky000.com/database/mysql-performance-tuning-hardware 由于对DBA 工作了解不多    所以只从网上简单的看了下  硬件 ...

  9. html5,进度条

    <form action="" id="myform">        <progress value="20" max= ...

  10. Windows Azure Azure 简介

    平台介绍 Windows Azure作为一个微软公有云平台,被寄予了厚望. 可以说Windows Azure与Windows RT一样是微软战略转型的重点. 2012年9月微软与中国本土的电信服务提供 ...