选择结构

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

上一节介绍了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. rsync定时同步配置

    附上脚本 三大配置文件请看rsync安装与配置 #!/bin/sh #linuxsir.org home backup #/usr/bin/rsync -avzP --password-file=/e ...

  2. 玩玩微信公众号Java版之五:获取关注用户信息

    在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同).公众号可通过本接口来根据Op ...

  3. 【转载】CANoe 入门 Step by step系列(二)CAPL编程

    来源:http://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704619.html CAPL就是Communication Applica ...

  4. LINUX下的远端主机登入 校园网络注册 网络数据包转发和捕获

    第一部分:LINUX 下的远端主机登入和校园网注册 校园网内目的主机远程管理登入程序 本程序为校园网内远程登入,管理功能,该程序分服务器端和客户端两部分:服务器端为remote_server_udp. ...

  5. (转)Dom4J解析

    xml文档: <?xml version="1.0" encoding="UTF-8"?> <书架> <书 出版社="清 ...

  6. Spring源码情操陶冶-AbstractApplicationContext

    前言-阅读源码有利于陶冶情操,本文承接前文Spring源码情操陶冶-ContextLoader 约束:本文指定contextClass为默认的XmlWebApplicationContext Abst ...

  7. AngularJS $compile动态生成html

    angular.module('app') .directive('compile', function ($compile) { return function (scope, element, a ...

  8. webIDE 第二篇博文

    这是我做webIDE过程中的第二篇博文,之所以隔了这么长时间没更,因为确实是没有啥进度啊,没什么可写的,现在虽然依然没啥进度,但中途遇到很多坑,这些坑还是有记录下来的必要的. 因个人水平问题,可能有的 ...

  9. 蓝桥杯比赛javaB组练习《四平方和》

    四平方和 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和.如果把0包括进去,就正好可以表示为4个数的平方和. 比如:5 = 0^2 + 0^2 + 1^2 + 2^27 ...

  10. log4go的日志滚动处理——适应生产环境的需要

    日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...