选择结构

  • 变量和数据类型,赋值和输出
  • 算术运算
  • 选择结构
  • 循环结构
  • 函数定义,函数调用
  • 变量作用域
  • 栈,程序运行的基石
  • 面向对象
  • 异常处理
  • 语言提供的公用包

上一节介绍了Java的算术运算,如加减乘除等,Java的运算规则跟四则运算一样。这节我们介绍选择结构

一般来说程序有三种结构:

  1. 顺序结构
  2. 选择结构
  3. 循环结构

程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,如下图所示:

选择结构是根据条件的成立与否,再决定要执行哪些语句的一种结构。如果我没记错,现在中学阶段都会学简单的流程图。

case1

先看最常见的选择结构,如果判断条件成立,执行语句1,执行完语句1之后到语句3.如果判断条件不成立,执行语句2,执行完语句2之后执行语句3.

if (判断条件) {
语句1;
} else {
语句2;
}
语句3

case2

还有一种常见的选择结构,如果判断条件成立,则执行主体语句。执行完主体语句之后执行其他语句。

if (判断条件) {
主体语句;
}
其他语句

/**
* 本例子讲解选择结构
* 同时也回顾之前的知识点
*/
public class ThirdLesson { public static void main(String[] args) {
/**
* 新建一个浮点型变量,名字叫score,70.1f是70.1浮点数的意思
* 把70.1赋值给score
* 一般软件里,score是从外部输入进来的,比如老师输入你的分数
*/
float score = 70.1f;
/**
* 如果score 大于等于60,则执行 System.out.println("You have passed the exam");
* 然后执行System.out.println("程序继续");
*
* 如果score 小于60,则执行System.out.println("You have failed the exam");
* 然后执行System.out.println("程序继续");
*
* 请对照case1里的流程图思考
*/
if (score >= 60) {
System.out.println("You have passed the exam");
} else {
System.out.println("You have failed the exam");
}
System.out.println("程序继续");
/**
* 修改变量score的值
* 把100赋值给score
*/
score = 100f;
/**
* 如果score > 99,则执行System.out.println("我草,学霸啊");
* 然后执行System.out.println("本示例结束");
*
* 请对照case2里的流程图思考
*/
if (score > 99) {
System.out.println("我草,学霸啊");
}
System.out.println("本示例结束");
}
}

case3

case3是比较复杂的if elseif 结构

if (判断条件1) {
主体语句1;
} else if (判断条件2) {
主体语句2;
} else if (判断条件3) {
主体语句3;
} else {
主体语句4
}

顺着前面的讲解,我们试着通过一个例子说明if elseif 的用法。

        score = 80f;
if (score >= 100 /*判断条件1*/) {
System.out.println("哈哈,学霸呀"); /*执行语句1*/
} else if (score >= 95 /*判断条件2*/) {
System.out.println("有成为学霸的潜质"); /*执行语句2*/
} else if (score >= 90 /*判断条件3*/) {
System.out.println("小伙可谓之优秀"); /*执行语句3*/
} else if (score >= 80 /*判断条件4*/) {
System.out.println("小伙成绩还不错,优良"); /*执行语句4*/
} else if (score >= 60 /*判断条件5*/) {
System.out.println("小伙及格了"); /*执行语句5*/
} else {
System.out.println("不到60分,你他喵逗我呢"); /** 执行语句6 **/
}
/** 继续执行 **/

这个例子应该会输出/执行语句4/的"小伙成绩还不错,优良"

如果把score=80f,改成score=95f.会输出 /执行语句2/ 的"有成为学霸的潜质"。

所以整个逻辑是先判断 /判断条件1/ 成不成立,如果成立则执行 /执行语句1/ 。 否则,判断/判断条件2/,

如果成立,则执行 /执行语句2/。 用逻辑图来说明就是:

总结

  • 选择结构使用if else语法,或者单独使用if
  • if(){} else if {} else if{} else {} 表达了,如果,否则,否则,否则...

作业

(同时回顾前两节的内容)

  • 定义一个int变量,给定一个值,比如是7,程序输出该值是“偶数”还是“奇数”
  • 定义三个double变量,比如double chinese = 85f, double math = 80f...;值在初始化时给定,写程序计算三门成绩的平均分,如果平均大于60分,输出及格,如果大于80分输出优良,大于90分输出优秀,否则就输出不及格

完整章节

九天学会Java,第三天,选择结构的更多相关文章

  1. Java 第三章 选择结构1

    选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...

  2. Java 第三章 选择结构

    第三章   选择结构 if基本语法: if(条件){// 表达式 // 代码块 } eg: int a = 10; if(a > 1){ System.out.println("内容& ...

  3. 九天学会Java,第四天,循环结构

    变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 这次我们讲Java的循环结构.循环结构在编程中广泛使 ...

  4. Java语法基础(三)----选择结构的if语句、switch语句

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...

  5. 九天学会Java,第一天,变量和数据类型,赋值和输出

    用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的. 网络上,网 ...

  6. 九天学会Java,第五天,函数定义函数调用

    变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 什么是函数,为什么有函数,大家可能有这样的疑问. 举 ...

  7. 九天学会Java,第二天,算术运算

    算术运算 先回顾上次我们提到的编程特性 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 第一天我们讲 ...

  8. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  9. Java从零开始学七(选择结构)

    一. 程序的结构: 一般来说程序的结构包含有下面三种: 1.顺序结构 2.选择结构 3.循环结构 二.顺序结构 程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾

随机推荐

  1. docker~通过vs2017的Dockerfile来生成镜像

    回到目录 Dockerfile这个东西我们之前是介绍过,它方便,快捷,易用,而在vs2017中也对docker进行了支持,而生成docker image的方式就是有用Dockerfile为基础的,在添 ...

  2. Ubuntu14.04桌面系统允许root登录

    首先安装完系统后,在登录界面我们可以看到不允许root账户登录.以普通账户登录系统,打开终端.执行如下命令来设置root密码: sudo passwd root 然后执行命令修改如下配置文件: vi ...

  3. Java高并发如何解决

    Java高并发如何解决 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧 ...

  4. iOS上机题(附个人见解)

    ##机试题目如下 用命令行创建一个以CocoaPods管理的项目[Test-你的姓名拼音],新建3个ViewController,完成以下题目 将下面的问题在一个UITabView里面列出所有问题,单 ...

  5. css的选择器的优先级

    css覆盖是在打代码的时候,开发者很普通很普通,也是很经常经常用到的,但是容易混淆他们之间的优先级. [][][] 第一个是id,第二个是class,第三个是元素名.有一个就加一.比较这个三位数的大小 ...

  6. Saltstack的部署及其详解

    https://repo.saltstack.com/ Saltstack简介: salt是一个多平台基础设施管理工具通常只用在linux上,使用那个轻量级的通讯器,ZN用python写成的批量管理工 ...

  7. 搭建hadoop、hdfs环境--ubuntu

    最近在学习hadoop相关知识,就在本机上安装了hadoop,遇到了一些坑,也学到了不少.仅此记录我的安装过程,及可能遇到的问题.供参考.交流沟通见页末. 软件准备 >  虚拟机(VMware) ...

  8. 【NO.12-2】jmeter-执行脚本

    //拿jmeter举例 //要进入到jmeter工具的bin目录 //当使用其它的开源测试工具的时候,也可以参考上面这一点,即:进入到bin目录 //如果工具本身不包含bin文件,那么在工具的1级目录 ...

  9. Java入门——(3)面对对象(下)

    关键词:  类的继承.final关键字.多态.接口.异常.包.访问控制 一.类的继承       1.类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类 ...

  10. Apriori关联分析算法概述

    概念 关联分析:从大规模数据集中寻找物品间的隐含关系.物品间关系又分为两种:频繁项集或关联规则,频繁项集是经常出现一块的物品集合:关联规则则暗示物品间存在很强的联系 关联评判标准:支持度和可信度.支持 ...