选择结构

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

上一节介绍了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. 钉钉 机器人接入 自定义webhook

    钉钉出了个webhook机器人接入,自定义的机器人支持随时post消息到群里: 昨天就尝试着用C#写了个: 一开始用python写,但是莫名的提示  {"errmsg":" ...

  2. Python基础之字符编码

    前言 字符编码非常容易出问题,我们要牢记几句话: 1.用什么编码保存的,就要用什么编码打开 2.程序的执行,是先将文件读入内存中 3.unicode是父编码,只能encode解码成其他编码格式 utf ...

  3. POI读取excel工具类 返回实体bean集合(xls,xlsx通用)

    本文举个简单的实例 读取上图的 excel文件到 List<User>集合 首先 导入POi 相关 jar包 在pom.xml 加入 <!-- poi --> <depe ...

  4. super 与 this 同时使用问题

    大家都知道this 和 super 调用构造函数时都必须放在第一句,今天同学问我的一个问题有点意思. 那么:我怎么在子类中 显式的用 super 初始化父类同时用 this 初始化子类? ------ ...

  5. 5.spark弹性分布式数据集

    弹性分布式数据集 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark弹性分布式数据集 ...

  6. MySQL_第三方数据库引擎_tokudb

    前阵子迁移zabbix到tokudb,整理部分操作笔记到这篇博文.       如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各 ...

  7. 一个最最简易的RPC框架雏形---转载自梁飞的博客

    查阅RPC与HTTP区别的时候, 无意间发现一篇博客,内容是一个简易的RPC服务框架, 仔细一看, 不得了,博主竟然就是阿里dubbo的作者. 原文链接在此: http://javatar.iteye ...

  8. python-插入排序

    所谓插入排序,就是检查第i个数字,若比它的左边的数字小,则进行交换,一直持续这个动作,直到它的左边的数字比它还要小,则停止. #coding:utf-8def insertion_sort(nums) ...

  9. ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI

    一,Web API ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没 ...

  10. ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法(netsh winsock reset)

    问题描述:在开发系统时候运行程序突然报出"WebDev.WebServer40.exe已停止工作"的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.O ...