目录
第1章 成为程序员 1.1 选择编程语言 1.2 告诉计算机做什么 1.3 程序的工作原理 1.4 为什么程序不能正常工作 1.5 选择 Java编程工具 1.6 安装 Java开发工具 1.7 总结 1.8 问与答 1.9 测验 1.9.1 问题 1.9.2 答案 1.10 练习 第2章 编写第一个程序 2.1 编写程序所需的工具 2.2 创建 Saluton 程序 2.3 开始输入程序 2.3.1 class语句 2.3.2 main语句的作用 2.3.3 大括号 2.4 在变量中存储信息 2.5 保存编写好的程序 2.6 将程序编译为 class文件 2.7 修复错误 2.8 运行 Java程序 2.9 总结 2.10 问与答 2.11 测验 2.11.1 问题 2.11.2 答案 2.12 练习 第3章 Java之旅 3.1 第一站:Oracle 3.2 去 Java学校 3.3 在 JavaWorld 用午餐 3.4 在 NASA仰望天穹 3.5 回归正题 3.6 到 Java Boutique 去问路 3.7 在手机上运行 Java 3.8 总结 3.9 问与答 3.10 测验 3.10.1 问题 3.10.2 答案 3.11 练习 第4章 理解Java程序的工作原理 4.1 创建应用程序 4.2 向应用程序传递参数 4.3 创建 applet 4.4 总结 4.5 问与答 4.6 测验 4.6.1 问题 4.6.2 答案 4.7 练习 第5章 在程序中存储和修改信息 5.1 语句和表达式 5.2 指定变量类型 5.2.1 整数和浮点数 5.2.2 字符和字符串 5.2.3 其他数值类型的变量 5.2.4 布尔型变量 5.3 给变量命名 5.4 在变量中存储信息 5.5 运算符 5.5.1 变量的递增与递减 5.5.2 运算符优先级 5.6 使用表达式 5.7 总结 5.8 问与答 5.9 测验 5.9.1 问题 5.9.2 答案 5.10 练习 第6章 使用字符串来交流 6.1 在字符串中存储文本 6.2 在程序中显示字符串 6.3 在字符串中使用特殊字符 6.4 拼接字符串 6.5 将其他变量用于字符串中 6.6 字符串的高级处理 6.6.1 比较两个字符串 6.6.2 确定字符串的长度 6.6.3 改变字符串的大小写 6.6.4 查找字符串 6.7 导演及演员名单 6.8 总结 6.9 问与答 6.10 测验 6.10.1 问题 6.10.2 答案 6.11 练习 第7章 使用条件测试进行判断 7.1 if语句 7.1.1 小于和大于的比较 7.1.2 相等和不等 7.1.3 使用块语句组织程序 7.2 if-else 语句 7.3 switch语句 7.4 条件运算符 7.5 观察时钟 7.6 总结 7.7 问与答 7.8 测验 7.8.1 问题 7.8.2 答案 7.9 练习 第8章 使用循环重复执行操作 8.1 for循环 8.2 while 循环 8.3 do-while 循环 8.4 退出循环 8.5 给循环命名 8.6 测试计算机的运行速度 8.7 总结 8.8 问与答 8.9 测验 8.9.1 问题 8.9.2 答案 8.10 练习 第9章 使用数组存储信息 9.1 创建数组 9.2 使用数组 9.3 多维数组 9.4 对数组进行排序 9.5 对字符串中的字符计数 9.6 总结 9.7 问与答 9.8 测验 9.8.1 问题 9.8.2 答案 9.9 练习 第10章 创建第一个对象 10.1 面向对象编程的工作原理 10.2 对象示例 10.3 什么是对象 10.4 理解继承 10.5 建立继承层次 10.6 转换对象和简单变量 10.6.1 简单变量的类型转换 10.6.2 对象类型转换 10.6.3 在简单变量和对象之间进行转换 10.6.4 自动封装和拆封 10.7 创建对象 10.8 总结 10.9 问与答 10.10 测验 10.10.1 问题 10.10.2 答案 10.11 练习 第11章 描述对象 11.1 创建变量 11.2 创建类变量 11.3 用方法来创建行为 11.3.1 声明方法 11.3.2 参数不同的类似方法 11.3.3 构造函数 11.3.4 类方法 11.3.5 方法中变量的作用域 11.4 将一个类放在另一个类中 11.5 使用关键字this 11.6 使用类方法和类变量 11.7 总结 11.8 问与答 11.9 测验 11.9.1 问题 11.9.2 答案 11.10 练习 第12章 充分利用现有对象 12.1 继承的威力 12.1.1 继承行为和属性 12.1.2 覆盖方法 12.2 建立继承 12.3 使用现有的对象 12.4 将相同类型的对象存储到 Vector 中 12.5 创建子类 12.6 总结 12.7 问与答 12.8 测验 12.8.1 问题 12.8.2 答案 12.9 练习 第13章 创建简单的用户界面 13.1 Swing 和抽象窗口工具包 13.2 使用组件 13.2.1 窗口和框架 13.2.2 按钮 13.2.3 标签和文本框 13.2.4 复选框 13.2.5 组合框 13.2.6 文本区域 13.2.7 面板 13.3 创建自己的组件 13.4 总结 13.5 问与答 13.6 测验 13.6.1 问题 13.6.2 答案 13.7 练习 第14章 用户界面的布局 14.1 使用布局管理器 14.1.1 GridLayout管理器 14.1.2 BorderLayout管理器 14.1.3 BoxLayout管理器 14.1.4 使用Insets将组件隔开 14.2 应用程序的界面布局 14.3 总结 14.4 问与答 14.5 测验 14.5.1 问题 14.5.2 答案 14.6 练习 第15章 响应用户输入 15.1 让程序监听 15.2 设置要监听的组件 15.3 处理用户事件 15.3.1 复选框和组合框事件 15.3.2 键盘事件 15.3.3 启用和禁用组件 15.4 完善图形应用程序 15.5 总结 15.6 问与答 15.7 测验 15.7.1 问题 15.7.2 答案 15.8 练习 第16章 创建复杂的用户界面 16.1 滚动窗格 16.2 滑块 16.3 变更监听器 16.4 使用图像图标和工具栏 16.5 总结 16.6 问与答 16.7 测验 16.7.1 问题 16.7.2 答案 16.8 练习 第17章 创建交互式Web程序 17.1 标准applet方法 17.1.1 在applet窗口中绘画 17.1.2 初始化applet 17.1.3 启动和停止applet 17.1.4 销毁applet 17.2 将applet放到Web页面中 17.3 创建applet 17.3.1 在applet窗口中绘画 17.3.2 测试SalutonApplet程序 17.4 从Web页面传递参数 17.5 在applet中接收参数 17.6 在applet中处理参数 17.7 使用object标记 17.8 总结 17.9 问与答 17.10 测验 17.10.1 问题 17.10.2 答案 17.11 练习 第18章 处理程序中的错误 18.1 异常 18.1.1 在try-catch块中捕获异常 18.1.2 捕获多种不同的异常 18.1.3 出现异常后进行处理 18.1.4 抛出异常 18.1.5 忽略异常 18.2 抛出和捕获异常 18.3 总结 18.4 问与答 18.5 测验 18.5.1 问题 18.5.2 答案 18.6 练习 第19章 创建线程程序 19.1 线程 19.1.1 降低程序的速度 19.1.2 创建线程 19.2 使用线程 19.2.1 声明类 19.2.2 创建变量 19.3 从init( )开始 19.4 在创建URL时捕获错误 19.5 在paint( )方法中处理屏幕更新 19.6 启动线程 19.6.1 运行线程 19.6.2 停止线程 19.7 处理鼠标单击 19.8 循环显示链接 19.9 总结 19.10 问与答 19.11 测验 19.11.1 问题 19.11.2 答案 19.12 练习 第20章 读写文件 20.1 流 20.1.1 文件 20.1.2 从流中读取数据 20.1.3 缓冲输入流 20.2 将数据写入流中 20.3 读写配置属性 20.4 总结 20.5 问与答 20.6 测验 20.6.1 问题 20.6.2 答案 20.7 练习 第21章 读写XML数据 21.1 创建XML文件 21.2 读取XML文件 21.3 读取 RSS 聚合内容(Syndication Feeds) 21.4 总结 21.5 问与答 21.6 测验 21.6.1 问题 21.6.2 答案 21.7 练习 第22章 利用JAX-WS开发Web服务 22.1 定义服务端点接口 使用注解来简化Java代码 22.2 创建服务实现Bean 22.3 发布Web服务 22.4 使用Web服务描述语言文件 22.5 创建Web服务客户端 22.6 总结 22.7 问与答 22.8 测验 22.8.1 问题 22.8.2 答案 22.9 练习 第23章 创建Java2D图形 23.1 使用Font类 23.2 使用Color类 23.3 创建自定义颜色 23.4 绘制直线和形状 23.4.1 绘制直线 23.4.2 绘制矩形 23.4.3 绘制椭圆和圆 23.4.4 绘制弧线 23.5 绘制饼图 23.6 总结 23.7 问与答 23.8 测验 23.8.1 问题 23.8.2 答案 23.9 练习 第24章 编写Android app 24.1 Android简介 24.2 创建 Android app 24.2.1 剖析一个Android新项目 24.2.2 创建app 24.2.3 安装Android模拟器 24.2.4 创建调试配置 24.3 运行app 24.4 设计真实的app 24.4.1 组织资源 24.4.2 配置app的Manifest文件 24.4.3 设计用户界面 24.4.4 编写Java代码 24.5 总结 24.6 问与答 24.7 测验 24.7.1 问题 24.7.2 答案 24.8 练习 附录A 使用NetBeans IDE A.1 安装NetBeans A.2 创建新项目 A.3 创建新的Java类 A.4 运行应用程序 A.5 修复错误 附录B Java资源 B.1 可以考虑的其他书 B.2 Oracle公司的 Java官方站点 B.3 其他Java站点 B.3.1 本书英文版的配套网站 B.3.2 Café au Lait B.3.3 Workbench B.3.4 Java 7 Developer Blog B.3.5 其他Java博客 B.3.6 InformIT B.3.7 Stack Overflow B.3.8 Java Review Service B.3.9 JavaWorld杂志 B.3.10 Developer.com’s Java Directory 附录C 本书站点 附录D 设置Android开发环境 D.1 起步 D.2 安装Eclipse D.3 安装 Android SDK D.4 安装在Eclipse中使用的Android插件 D.5 设置你的手机 其他 版权

Java初级教程

Java入门经典
第7章 使用条件测试进行判断

本章介绍如下内容:

使用if语句进行基本的条件测试;

测试一个值是大于还是小于另一个值;

测试两个值是否相等;

使用与if语句对应的else语句;

组合多个条件测试;

使用switch语句进行复杂的条件测试;

使用三元运算符创建复杂测试。

编写计算机程时,你提供给计算机的是一系列称为语句的指令,这些指令被严格地执行。你可以让计算机计算令人讨厌的数学公式,它将为你得出结果;也可以让计算机显示一些信息,它将忠实地完成。

然而,有时需要让计算机做出选择。例如,编写计算账目收支平衡的程序时,可能想在账户透支时让计算机会给显示警告消息,而且只有当账户透支时,计算机才显示该消息;如果没透支也显示这样的消息,计算机程序就不准确,也让人感到不安。

在Java程序中,完成这项工作的方法是使用条件语句。而且仅当满足特定的条件时,条件语句才导致特定的操作。本章将介绍如何使用各种条件语句:if、else和switch。

在Java程序中,决策都是使用条件语句来完成的。在本章,读者将在Java程序中使用条件语句 if、else、switch、case、break 检查各种条件,还将使用多种条件运算符,如= =、!=、<、>和?,以及布尔型变量。

7.1 if语句

在Java程序中,对条件进行测试所使用的最基本的方法是使用if语句。if语句测试某个条件为true还是false,并在条件为true时执行特定的操作。

使用if和条件来进行测试,如下面的语句所示:

if语句使用小于运算符<来判断account变量是否小于0。如果是,则运行if语句中的代码块,然后显示文本。

只有条件为真时,if语句中的代码块才运行。在上面的例子中,如果变量account的值大于或等于0,println语句将不执行。注意,在if语句中测试的条件要用括号括起,如(account < 0)。

小于运算符(<)是可以在条件语句中使用的多种运算符之一。

7.1.1 小于和大于的比较

在前一节,像数学课中那样使用了运算符(<):表示小于。还有大于运算符(>),下面的语句演示了如何使用该运算符:

第一条if语句测试变量elephantWeight的值是否大于780,第二条if语句测试变量elep hantTotal的值是否大于12。

如果上述语句位于这样的程序中,即变量elephantWeight等于600,而变量elephantTotal等于10,则if语句块中的语句将不会执行。

有时可能需要判断一个变量是否小于或等于某个值,为此需要使用运算符<=。下面是一个例子:

还有一个>=运算符可以用于“大于或等于”测试。

7.1.2 相等和不等

在程序中要检测的另一种条件是否相等。变量是否等于特定的值?一个变量是否与另一个变量相等?这些问题可以使用运算符= =来回答,如下面的语句所示:

警告:

用于检测是否相等的运算符由两个等号组成,即= =。很容易将其同运算符=混淆,后者用于给变量赋值。在条件语句中,总是使用两个等号。

读者也可以测试不相等,即一个值是否等于另一个值,为此可使用运算符!=,如下例所示:

除字符串变量之外(因为字符串是对象),可以将运算符==和!=用于任何类型的变量。

7.1.3 使用块语句组织程序

到目前为止,所有的 if语句后面都有一个代码块,该代码块位于{ }之间(这两个字符的技术术语应该是“大括号”)。

在本书前面,读者看到过如何使用块语句来标识 Java 程序中 main( )语句块的起始和结束。程序运行时,main( )语句块中的每条语句都被执行。

if语句不需要块语句,它只占用单独的一行,如下面的例子所示:

只有当if条件中的条件为true时,if条件后的语句才能执行。

程序清单7.1的Java程序使用块语句来表示main( )块。该块语句从第2行的左大括号“{”开始,到第13行的右大括号“}”结束。在NetBeans中创建一个空的Java文件,命名为Game,然后输入程序清单7.1中的所有文本。

程序清单7.1 Game程序

运行该程序时,得到的输出如图7.1所示。

图7.1 Game 程序的输出结果

也可以在if语句中使用块语句来让计算机在条件为true时执行多个操作。下面是一条包含块语句的if语句:

大括号用于将所有属于if语句的语句编组,如果变量playerScore大于9999,将做3件事情:

将变量playerLives的值加1(因为使用了递增运算符++);

显示文本“Extra life!”;

将变量difficultyLevel的值加5。

如果变量playerScore不大于9999,将什么都不做,if语句块中的3条语句都将被忽略。

7.2 if-else 语句

有时可能要在条件为true时做某些事情,而在条件为false时做另一些事情,为此可以结合使用if语句和else语句,如下例所示:

不同于if语句,else语句不包含条件。else语句与前面离它最近的if语句相匹配。也可以使用else语句将多条if语句连接起来,如下例所示:

通过这种方式将几个不同的if和else语句放在一起,可以处理很多条件。在上面的示例中,对A类学生、B类学生、C类学生和未来的议员分别发送不同的消息。

7.3 switch语句

if和else语句非常适合于只有两种情况的情形,但有时候需要考虑两种以上的情况。

从前面有关成绩的示例可知,可以结合使用if和else语句处理多种情况。

另一种方法是使用switch语句。使用switch可以测试多个不同的条件并做出相对的响应。在下面的例子中,使用switch语句对前面有关成绩的示例进行了重写:

第1行的switch语句指定了要检测的变量,在本例中是grade,然后使用“{”和“}”形成了一个块语句。

switch语句中的每条case语句检查变量是否等于某个值,在case语句中使用的值可以是字符、整数或字符串。在这里,这些 case 语句中使用的值分别是字符‘A’、‘B’和‘C’。每条case语句后跟一条或两条语句。当某条case语句与switch语句中变量的值匹配时,计算机将处理其后面的语句,直到遇到break语句。

例如,如果变量 grade 的值为 B,将显示文本“You got a B. Good work!”。接下来是 break语句,因此不会执行switch语句的其他部分。break语句告诉计算机退出switch语句。

default语句用于处理所有case语句都不满足的情况。在这个例子中,如果变量grade不等于‘A’、‘B’或‘C’,将进入default语句。在程序中,并非在每个switch语句块中都需要使用default语句。如果没有default语句,且所有case语句条件都不满足,将什么也不做。

在Java 7中,switch-case语句中的测试变量可以使用字符串。程序清单7.2中的Commodity类使用该语句来购买或销售商品(这里没有指明商品到底是什么)。该商品在购买时的价格为balance-20美元,卖出时的价格为balance+15美元。

switch-case语句对名为command的字符串值进行测试,如果等于“BUY”,则运行一个语句块;如果等于“SELL”,则运行另一个语句块。

程序清单7.2 Commodity程序

在该程序的第3行,command字符串被设置为“BUY”。当测试switch语句时,将运行第9~第11行的case语句块。商品的quantity变量增加5,balance变量降低20。

编写完该程序,并在编译和运行之前,你可能会遇到一个错误。因为此时NetBeans可能还无法使用 Java 7 中新引入的特性。如果在 switch 语句中使用了字符串作为测试条件,源代码编辑器面板中第 7 行代码左边将显示一个红色的警告图标。而且错误消息可能是“strings in switch are not supported”,这表示需要对 NetBeans 进行配置后,才可以对其提供支持。

在 NetBeans 中,Java 7 中的特性需要以每个项目为基础进行启用,其启用步骤如下所示。

1.在项目(Projects)面板中,右键单击 Java24 项目(或者是你命名的其他项目),然后在弹出菜单中单击属性(Properties),打开项目属性对话框。

2.在分类(Categories)面板中,单击Source(如果还没有选定的话),打开源代码属性对话框(见图7.2)。

3.在 Source/Binary Format 下拉菜单中,选择 JDK 7 然后单击 OK 按钮。

图7.2 设置 NetBeans 编辑器,使其支持Java 7

经过这样设置之后,项目中的所有程序都可以在 Java 7 下运行。

当运行Commodity程序时,将产生如下输出:

7.4 条件运算符

在Java中,最复杂的条件语句是三元运算符(?)。

当你想根据条件测试的结果进行赋值或显示时,可以使用三元运算符。例如,在视频游戏中,可能需要根据变量skillLevel是否大于5来设置变量numberOfEnemies的值。为此,一种方法是使用if-else语句:

另一种快捷方法是使用三元运算符(?)。三元运算符由5部分组成:

要测试的条件,用括号括起来,如(skillLevel > 5);

问号(?);

用于判断条件是否为true的值;

冒号(:);

用于判断条件是否为false的值。

要使用三元运算符基于 skillLevel 来设置 numberOfEnemies 的值,可以使用如下语句:

也可以使用三元运算符来确定要显示的信息。假如要编写这样一个程序:根据变量 gender的值显示文本“Mr.”或“Ms.”。为此,可以使用三元运算符,如下所示:

三元运算符很有用,但也是 Java 中最难以掌握的条件运算符。学习 Java 时,你不会遇到只能使用三元运算符,而不能使用if-else语句的情况。

7.5 观察时钟

接下来的程序会为读者展示编程中会用到的每一个条件测试。在这个程序中,将使用 Java内置的计时功能,它跟踪当前的日期和时间,并将该信息用一句话显示出来。

运行NetBeans(或其他可以创建Java程序的软件),新建一个文件,将其命名为Clock。这个程序很长,但大部分都是很长的条件语句。在源代码编辑器中输入程序清单 7.3 中的所有文本,完成后将文件保存。

程序清单7.3 Clock程序

在程序通过编译之后,仔细阅读程序,来理解程序中条件测试是如何进行的。

除了第1行和第6~11行外,Clock程序涉及的知识在本章都介绍过。在创建一系列变量用于存储当前日期和时间后,使用一系列if和switch语句来决定显示什么信息。

该程序包含几条 System.out.println( )语句和 System.out.print( )语句,用于显示字符串。

第6~11行使用了名为now的Calendar变量,类型名Calendar的首字母必须大写,这是因为Calerdar是一种对象。

第10章将介绍如何创建和使用对象。这里的重点是第6~11行发生了什么,而不是这是如何发生的。

Clock程序由下面几部分组成。

第1行让程序能够使用类java.util.Calerdar,它用于跟踪当前的日期和时间。

第 3~4 行开始 Clock 程序及其 main( )语句块。

第6行创建一个名为now的Calendar对象,该对象包含系统的当前日期和时间。每次运行该程序时,对象now的值都不同(当然,除非宇宙的物理定律发生变化或时间停止不前)。

第7~11行创建变量hour、month、day和year,这些变量的值来自Calendar对象,后者是存储所有这些信息的仓库。

第 14~20 行显示三个问候语之一:“Good morning.”、“Good afternoon.”和“Good evening.”。显示的问候语取决于变量hour的值。

第23~29行显示当前的分钟值及其他一些文本。首先,第23行显示文本“It’s”,如果minute的值为0,则由于第24行的if语句,第25~28行将不执行。第24行的语句是必须的,因为在程序中告诉人们现在是几小时零分没有意义。第25行显示变量minute的当前值,在第26~27行使用三元运算符显示文本“minutes”或“minute”,这取决于变量minute是否等于1。最后,在第28行显示文本“past”。

第32~34行使用另外一个三元运算符显示当前的hour值。第33行的三元运算符条件语句用于在hour的值大于12时以不同的方式显示hour的值,从而避免计算机显示现在是15点这样的情况发生。

第37~73行几乎占据了程序的一半,这是一个大型的switch语句,它根据变量month的值来显示不同的月份名称。

第76行显示当前的日期和年份。

第 77~78 行结束 main( )语句块,然后结束整个 Clock 程序。

运行该程序时,输出的具体内容随当前日期和时间而异。该程序的输出示例如图 7.3所示。

图7.3 Clock程序的输出

运行该程序多次,看看它如何跟踪时钟变化。

7.6 总结

能够使用条件语句后,你的Java编程水平将得到极大的提高。即使程序运行时外界信息发生变化,程序也能够对信息进行评测,并据此做出不同的反应。它们可以根据特定的条件,在两个或多个选项之间做出选择。

编写计算机程序时,必须将任务分成一组需要执行的步骤和需要做出的决策。通过在程序中使用if语句和其他条件语句,还可能提高逻辑思维能力,这对生活中的其他方面也有帮助:

如果他在11月份赢得总统选举,我将谋求参与内阁,否则我将移民加拿大;

如果我对相亲感到很满意,就在一家豪华餐厅用晚餐,否则将去吃比萨;

如果我在试用期犯了错误,则只有费城老鹰队会挑选我。

7.7 问与答

问:if语句好像是最有用的语句之一,有没有这种可能:在程序中只使用if语句,而不用使用其他语句?

答:这是可能的,不使用else和switch,很多程序员也从不使用三元运算符(?)。然而,在程序中使用else和switch是有益的,这样程序更易理解。将一系列if语句放在一起将使程序难以理解。

问:在Clock程序中,获取当前月份时,为什么要给Calendar.MONTH加1?

答:这是必须的,因为Calendar类采用怪异的方式表示月份。它不像你预期的那样,使用1~12来表示月份,而是用0表示1月份,用11表示12月份。加1使表示月份的数字更容易理解。

问:在本章中,将 if 语句同一条语句结合使用时,没有使用左大括号“和右大括号”。不是必须使用这对大括号吗?

答:不是的。大括号用于if语句旨在标识根据条件测试结果执行的程序部分。使用大括号是个好习惯,这样可以避免修改程序时犯常见的错误。如果在if条件后面添加第二条语句但没有添加大括号,程序运行时将出现错误。

问:是不是在每条case语句后面的语句部分都需要使用break语句?

答:不是必须这样做。但如果没有在一组语句末尾使用break,则不管测试出的case 值是多少,switch 语句块中所有后续语句都将被执行。然而,大多数情况下,你会希望在每一组语句的后面使用break语句。

7.8 测验

回答下列问题,以检测对条件语句的掌握程度。

7.8.1 问题

1.条件测试的结果为true或false,这让你想起了哪种变量?

a.没有。不要没完没了地提问。

b.long变量。

c.布尔型变量。

2.在switch语句块中,哪条语句用于处理其他所有情况?

a.default。

b.otherwise。

c.onTheOtherHand。

3.什么是条件?

a.洗发后修理零乱并纠缠在一起的头发。

b.在程序中测试条件是true还是false。

c.向邻近的教徒坦白罪过的地方。

7.8.2 答案

1.c.布尔型变量只能为true或false,它与条件测试类似。

2.a.如果没有其他case语句与switch变量匹配,default语句将被执行。

3.b.其他两项说的是梳子和忏悔。

7.9 练习

为提高对Java条件的认识,通过下面的练习复习本章的主题。

在Clock程序某行的break语句前面添加“//”,使其成为注释,然后编译并运行它,看看将发生什么情况。对更多的break语句进行相应处理,再看看发生的情况。

创建一个小程序,它在一个名为grade的变量中存储用户从1~100之间选择的值。在条件语句中使用grade变量向A、B、C、D和F类学生显示不同的消息。先用if语句完成这项工作,然后再用switch语句完成。

要查看完成这些练习而编写的Java程序,请访问本书的配套网站www.java24hours.com。

没有精选讨论主题。

全部讨论主题 查看精选主题

没有讨论主题。
😃 😅 😆 😁 😂 😊 😄 😠 😩 😲 😞 😵 😰 😒 😍 😤 😜 😝 😋 😘 😚 😷 😳 😢 😭 😨 😣 😡 😌 😖 😔 😱 😪 😏 😓 😥 😫 😉 👊 👍 👆 👇 👈 👉 👋 👏 👌 👎 👐 💓 💔 💕 💖 💗 💘 💙 💚 💛 💜 💝 💞 💟