九天学会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.循环结构 二.顺序结构 程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾
随机推荐
- 钉钉 机器人接入 自定义webhook
钉钉出了个webhook机器人接入,自定义的机器人支持随时post消息到群里: 昨天就尝试着用C#写了个: 一开始用python写,但是莫名的提示 {"errmsg":" ...
- Python基础之字符编码
前言 字符编码非常容易出问题,我们要牢记几句话: 1.用什么编码保存的,就要用什么编码打开 2.程序的执行,是先将文件读入内存中 3.unicode是父编码,只能encode解码成其他编码格式 utf ...
- POI读取excel工具类 返回实体bean集合(xls,xlsx通用)
本文举个简单的实例 读取上图的 excel文件到 List<User>集合 首先 导入POi 相关 jar包 在pom.xml 加入 <!-- poi --> <depe ...
- super 与 this 同时使用问题
大家都知道this 和 super 调用构造函数时都必须放在第一句,今天同学问我的一个问题有点意思. 那么:我怎么在子类中 显式的用 super 初始化父类同时用 this 初始化子类? ------ ...
- 5.spark弹性分布式数据集
弹性分布式数据集 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark弹性分布式数据集 ...
- MySQL_第三方数据库引擎_tokudb
前阵子迁移zabbix到tokudb,整理部分操作笔记到这篇博文. 如果转载,请注明博文来源: www.cnblogs.com/xinysu/ ,版权归 博客园 苏家小萝卜 所有.望各 ...
- 一个最最简易的RPC框架雏形---转载自梁飞的博客
查阅RPC与HTTP区别的时候, 无意间发现一篇博客,内容是一个简易的RPC服务框架, 仔细一看, 不得了,博主竟然就是阿里dubbo的作者. 原文链接在此: http://javatar.iteye ...
- python-插入排序
所谓插入排序,就是检查第i个数字,若比它的左边的数字小,则进行交换,一直持续这个动作,直到它的左边的数字比它还要小,则停止. #coding:utf-8def insertion_sort(nums) ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI
一,Web API ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没 ...
- ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法(netsh winsock reset)
问题描述:在开发系统时候运行程序突然报出"WebDev.WebServer40.exe已停止工作"的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.O ...