图 2.4
5、 使用表达式语句与复合语句 (1) 建立包含表达式语句程序,源代码如下。
class EXP2_5{ public static void main(String[] args) { int k, i=3, j=4; k=20*8/4+i+j*i; System.out.println(\表达式(20*8/4+i+j*i)=\ } } (2) 建立包含复合语句程序,源代码如下。
class EXP2_6{ public static void main(String args[]) { int k, i=3, j=4; k=i+j; System.out.println(\在复合块外的输出 k=\ { float f; f=j+4.5F; i++; System.out.println(\在复合块内的输出 f=\ System.out.println(\在复合块内的输出 k=\ } System.out.println(\在复合块外的输出 i=\ } } (3) 编译并运行上述两个源程序,结果如图2.5、2.6 所示。
(4) 将变量i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。
思考:指出程序的复合结构以及变量的使用范围。
图 2.5
图 2.6
6、 使用选择语句 6.1、 使用if...else 语句
(1) 程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。闰年的条
件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。
(2) 编写源程序文件,代码如下。 public class EXP2_7 { public static void main(String args[]) { boolean leap; int year=2005; if ((year%4==0 && year0!=0) || (year@0==0)) // 方法1 System.out.println(year+\年是闰年\ else System.out.println(year+\年不是闰年\ year=2008; // 方法2 if (year%4!=0) leap=false; else if (year0!=0) leap=true; else if (year@0!=0) leap=false; else leap=true; if (leap==true) System.out.println(year+\年是闰年\ else System.out.println(year+\年不是闰年\ year=2050; // 方法3 if (year%4==0) { if (year0==0) { if (year@0==0) leap=true; else leap=false; } else leap=false; } else leap=false; if (leap==true) System.out.println(year+\年是闰年\ else System.out.println(year+\年不是闰年\} } (3) 编译运行程序,其结果如图2.7 所示。
图 2.7
思考:本程序中有几个选择语句,哪些具有嵌套关系? 6.2、 使用switch 语句
(1) 程序功能:在不同温度时显示不同的解释说明。 (2) 程序源代码如下。
class EXP2_8{ public static void main(String args[]) { int c=38; switch (c<10?1:c<25?2:c<35?3:4) { case 1: System.out.println(\℃ 有点冷。要多穿衣服。\ case 2: System.out.println(\℃ 正合适。出去玩吧。\ case 3: System.out.println(\℃ 有点热。\ default: System.out.println(\℃ 太热了!开空调。\ } } }
(3)编译运行程序,其结果如图2.8 所示。
图 2.8
7、 使用循环语句 7.1、 for 循环语句练习
(1) 程序功能:按5 度的增量打印出一个从摄氏温度到华氏温度的转换表。 (2) 程序源代码如下。
class EXP2_9{ public static void main (String args[]) { int h,c; System.out.println(\摄氏温度\t华氏温度\ for (c=0; c<=40; c+=5) { h=c*9/5+32; System.out.println(\\t\\t\ } } }
(3) 编译并运行程序,其结果如图2.9 所示。
图 2.9
7.2、 while 循环语句练习
(1) 程序功能:运行程序后从键盘输入数字1/2/3 后,可显示抽奖得到的奖品;如果输
入其它数字或字符显示“没有奖品给你!”。 (2) 程序源代码如下。
import java.io.*; class EXP2_10 { public static void main(String args[]) throws IOException { char ch; System.out.println(\按 1/2/3 数字键可得大奖!\ System.out.println(\按?Q?键可退出循环操作.\ while ((ch=(char)System.in.read())!=' ') { System.in.skip(2); // 跳过回车键 switch (ch) { case '1': System.out.println(\恭喜你得大奖,一辆汽车!\ break;