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. win7 iis7 发布asp.net mvc4.0+EF6.0站点记录

    1.处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” 解决方法: 原因: 1.iis ...

  2. ThinkPHP的缓存技术

    原文:ThinkPHP的缓存技术 如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷.假如我们 把读取数据的过程分为三个层,第一个 ...

  3. C语言 ---- 基本数据类型和基本运算 iOS学习-----细碎知识点总结

    // 导入头文件(stdio.h),标准输入输出的头文件,#include <stdio.h> // 程序的入口int main(int argc, const char * argv[] ...

  4. video和audio

    1.video 使用: <video width="320" height="240" src="http://www.jb51.net/mov ...

  5. [PCL]ApproximateVoxelGrid

    点云滤波继承自Filter模板类 注意Filter类的filter 方法调用了虚方法applyFilter: inline void filter (PointCloud &output) { ...

  6. des加密解密的两个方法

    <?php //$input - stuff to decrypt //$key - the secret key to use function do_mencrypt($input, $ke ...

  7. CentOS 命令模式下设置静态IP

    ASP.NET程序猿第一次修改IP,之前没有接触过Linux,有点伤不起... # cd /etc/sysconfig/network-scripts/ # ls  会看到 ifcfg-eth0 if ...

  8. struts1

    1.简单应用示例 导入struts1的jar包,然后配置xml,写java和jsp /struts/WebRoot/Login.jsp <%@ page language="java& ...

  9. 运行nodejs的blog程序遇见问题

    我是运行这个教程的代码.可以在网上找到相关视频和代码. 第一个问题,数据库中没有创建对应的表就开始运行程序.node app.js 这个错误问题大家可以去重现一下 第二个问题,我也没有看明白,但是我根 ...

  10. app安装位置声明

    AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" ...