九天学会Java,第三天,选择结构
选择结构
- 变量和数据类型,赋值和输出
- 算术运算
- 选择结构
- 循环结构
- 函数定义,函数调用
- 变量作用域
- 栈,程序运行的基石
- 面向对象
- 异常处理
- 语言提供的公用包
上一节介绍了Java的算术运算,如加减乘除等,Java的运算规则跟四则运算一样。这节我们介绍选择结构
一般来说程序有三种结构:
- 顺序结构
- 选择结构
- 循环结构
程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,如下图所示:

选择结构是根据条件的成立与否,再决定要执行哪些语句的一种结构。如果我没记错,现在中学阶段都会学简单的流程图。
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,第三天,选择结构的更多相关文章
- Java 第三章 选择结构1
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...
- Java 第三章 选择结构
第三章 选择结构 if基本语法: if(条件){// 表达式 // 代码块 } eg: int a = 10; if(a > 1){ System.out.println("内容& ...
- 九天学会Java,第四天,循环结构
变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 这次我们讲Java的循环结构.循环结构在编程中广泛使 ...
- Java语法基础(三)----选择结构的if语句、switch语句
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- 九天学会Java,第一天,变量和数据类型,赋值和输出
用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的. 网络上,网 ...
- 九天学会Java,第五天,函数定义函数调用
变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 什么是函数,为什么有函数,大家可能有这样的疑问. 举 ...
- 九天学会Java,第二天,算术运算
算术运算 先回顾上次我们提到的编程特性 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 第一天我们讲 ...
- 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...
- Java从零开始学七(选择结构)
一. 程序的结构: 一般来说程序的结构包含有下面三种: 1.顺序结构 2.选择结构 3.循环结构 二.顺序结构 程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾
随机推荐
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等
本节及后面的内容将会探索更加有意思的内容,更加逼近实际的使用的内容.我们本节内容不难,讲的是释放Ability时的信息传递: 第一步:创建一个GA称为GA_AOE_BlindVengeance,复仇忌 ...
- 玩玩微信公众号Java版之五:获取关注用户信息
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同).公众号可通过本接口来根据Op ...
- documentsUI源码分析
documentsUI源码分析 本文基于Android 6.0的源码,来分析documentsUI模块. 原本基于7.1源码看了两天,但是Android 7.1与6.0中documentsUI模块差异 ...
- OP查阅网站
1)http://www.zhdba.com/mysqlops/ 2)
- [IB]PeopleSoft异步详细信息中状态“已完成”但订阅合同状态“新建”问题
最近遇到一个IB异步程序状态不一致问题,异步详细信息中上面的状态是“DONE”但是订阅合同中还是“新建”状态.在域状态中清除域状态也不管用. 重启app server也不好使.最后执行了appmsgp ...
- JavaWeb学习归档(一) - HTTP协议总结
版权声明:本文为博主原创文章,未经博主允许不得转载. 本文转载自我的个人博客:http://www.codingme.net/post/java-web-01 HTTP协议简介 超文本传输协议(HTT ...
- C#之异步
C#之异步 异步是相对于同步而言.跟多线程不能同一而论.异步简单而言好比一个人两双手可以同时做两件以上不同的事情.多线程好比多个人做不同或相同的事情. 异步跟多线程有什么关系? 异步可以分为CPU异步 ...
- 设置webstorm缩写代码
文件 ->设置->编辑器->活动模板->找到需要设置的文件类型(比如JavaScript)-->添加-(右上角)->设置模板之后,注意最后需要defind才能生效
- Python初学基础
初入坑Python,打算跟着沫凡小哥的学习视频打个基础,此篇文章做一些简单的学习记录,加油加油加油啦 沫凡小哥的学习网站:https://morvanzhou.github.io/tutorial ...
- whatwg-fetch源码分析
fetch 是什么 XMLHttpRequest的最新替代技术 fetch优点 接口更简单.简洁,更加语义化 基于promise,更加好的流程化控制,可以不断then把参数传递,外加 async/aw ...