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. 我的PhoneGap安装配置经历

    一.PhoneGap简介 PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够利用 iPhone,Android,Palm,S ...

  2. C# base64编码的文本与图片互转

    /// <summary> /// base64编码的文本转为图片 /// </summary> /// <param name="txtFilePath&qu ...

  3. 史上最臭名昭著五大软件Bug

    在现今数字年代,计算机bug不但困扰着每个程序员,更会无可避免影响我们的生活,小到每个人的衣食住行,大到国家经济,世界局势.随着我们的生活方式渐渐的数字化.互联网化,数字世界的找虫和杀虫就变得越来越重 ...

  4. 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)

    这篇文章主要介绍了将编码从GB2312转成UTF-8的方法汇总(从前台.程序.数据库),需要的朋友可以参考下 一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意 ...

  5. Force StyleCop to Ignore a File

    You can quickly force StyleCop to ignore files in a project by manually modifying the project file, ...

  6. SharpZipLib 文件/文件夹压缩

    一.ZipFile ZipFile类用于选择文件或文件夹进行压缩生成压缩包. 常用属性: 属性 说明 Count 文件数目(注意是在ComitUpdat之后才有) Password 压缩包密码 Siz ...

  7. Qt之重写QLabel类

    在mylabel.h 文件中#ifndef MYLABEL_H#define MYLABEL_H #include <QLabel>/*重新实现QLabel类,使其支持点击事件*/clas ...

  8. Struts2&Hibernate&Spring框架目录

      第3章 Struts2框架 Struts是流行和成熟的基于MVC设计模式的Web应用程序框架 使用目的:减少在运用MVC设计模型来开发Web应用的时间 3.1 Struts2框架概述 3.1.1 ...

  9. tcp粘包,udp丢包

    TCP是面向流的, 流, 要说明就像河水一样, 只要有水, 就会一直流向低处, 不会间断. TCP为了提高传输效率, 发送数据的时候, 并不是直接发送数据到网路, 而是先暂存到系统缓冲, 超过时间或者 ...

  10. Java在Web开发语言上败给了PHP

    PHP的主要语言开发者之一.Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言.他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,Java ...