问题和练习答案

上传人:206****923 文档编号:46468052 上传时间:2018-06-26 格式:PDF 页数:35 大小:325.65KB
返回 下载 相关 举报
问题和练习答案_第1页
第1页 / 共35页
问题和练习答案_第2页
第2页 / 共35页
问题和练习答案_第3页
第3页 / 共35页
问题和练习答案_第4页
第4页 / 共35页
问题和练习答案_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《问题和练习答案》由会员分享,可在线阅读,更多相关《问题和练习答案(35页珍藏版)》请在金锄头文库上搜索。

1、 问题和练习答案 第 1 章 问题和练习:入门 问题 1. 字节码。 2. c是非法注释。 3. 检查你的类路径。解释器找不到你的类。 4. 任何顺序都可以,但是习惯的用法是public static。 5. 通常使用的名字是args。 练习 1. 必须改动的代码只有一行: final JLabel label = new JLabel(“Hola Mundo“); 2. 下面是试图编译程序时出现的错误: HelloWorldApp2.java:7: unclosed string literal System.out.println(“Hello World!); /Display the

2、string. HelloWorldApp2.java:7: ) expected System.out.println(“Hello World!); /Display the string. 2 errors 为了改正这个错误,需要在字符串后面加上后引号。下面是正确的代码行: System.out.println(“Hello World!“); /Display the string. 第 2 章 问题和练习:面向对象的编程概念 问题 1. 现实世界对象包含状态和行为。 2. 软件对象的状态存储在字段之中。 3. 软件对象的行为通过方法暴露。 4. 对外部世界隐藏内部数据,只通过公共的方

3、法访问内部数据,这被称为数据封装。 5. 软件对象的蓝图称为类。 6. 共同行为可以定义在超类中,并且使用extends关键字继承到子类中。 7. 不带有实现的方法的集合称为接口。 418 问题和练习答案 8. 按照功能组织类和接口的名称空间称为包。 9. 术语API代表应用程序编程接口(Application Programming Interface) 。 练习 1. 答案因你选择建模的现实世界对象而有所不同。 2. 答案也会不同,但是错误消息会明确地列出没有实现的必要方法。 第 3 章 问题和练习:变量 问题 1. 术语“实例变量”是非静态字段的另一个名称。 2. 术语“类变量”是静态字

4、段的另一个名称。 3. 局部变量存储临时状态;在方法内声明它。 4. 在方法签名的前后括号中声明的变量被称为参数(形参) 。 5. byte、short、int、long、float、double、boolean和char。 6. 字符串由java.lang.String类表示。 7. 数组是存储数量固定的单一类型值的容器对象。 练习 1. 这个练习没有唯一的正确答案。代码不同,结果就不同。 2. 同样,这个练习没有唯一的答案。代码不同,结果就不同。 问题和练习:操作符 问题 1. 、和+。 2. a. i为11,n为0。 b. i为11,n为1。 3. 求补操作符“!” 。 4. =用于比较

5、,=用于赋值。 5. 这段代码应该读作: “如果someCondition为ture,就把value1的值赋值给result。 否则,就把value2的值赋值给result” 。 练习 1. 解决方案如下: class ArithmeticDemo public static void main (String args) int result = 3; System.out.println(result); result -= 1; / result is now 2 System.out.println(result); result *= 2; / result is now 4 Sys

6、tem.out.println(result); result /= 2; / result is now 2 问题和练习答案 419 System.out.println(result); result += 8; / result is now 10 result %= 7; / result is now 3 System.out.println(result); 2. 代码System.out.println(+i);的计算结果为6,因为+的前缀版本对递增后的值 进行计算。下一行System.out.println(i+);对当前值(6)进行计算,然后使它递增1。 所以在下一行代码之前

7、不会输出“7” 。 问题和练习:表达式、语句和块 问题 1. 操作符可以用于构建表达式,它计算出值。 2. 表达式是语句的核心成分。 3. 语句可以分组为块。 4. 下面的代码段是复合表达式的例子。 1 * 2 * 3 5. 语句大致相当于自然语言中的句子,但是语句不是以点号结束,而是以分号结束。 6. 块是位于对称括号之间的零个或者多个语句的语句组,可以在允许使用单一语句的所有 位置使用块。 练习 ? aValue = 8933.234; / assignment statement ? aValue+; / increment statement ? System.out.println(

8、“Hello World!“); / method invocation statement ? Bycle myBike = new Bicycle(); / object creation statement 问题和练习:控制流语句 问题 1. Java编程语句支持的最基础的控制流语句是if-then语句。 2. switch语句允许使用任意数量的可能执行路径。 3. do-while语句和while语句类似,但是在循环的结尾处计算其表达式。 4. for ( ; ; ) 5. while (true) 练习 1. a. second string third string b. 程序如下

9、: 420 问题和练习答案 class NestedIf public static void main(String args) int aNumber = 3; if (aNumber = 0) if (aNumber = 0) System.out.println(“first string“); else System.out.println(“second string“); System.out.println(“third string“); 程序的输出如下: second string third string 3大于或者等于0,所以执行过程进入第二个if语句。第二个if语句的

10、测试失败,因为3不 等于0。因此,执行else子句(因为它附加到第二个if语句) 。因此显示“second string“。 最后的println语句完全位于所有if语句之外,所以总会执行它,并且因此总会显示“third string“。 c. 程序如下: if (aNumber = 0) if (aNumber = 0) System.out.println(“first string“); else System.out.println(“second string“); System.out.println(“third string“); d. 程序如下: if (aNumber =

11、0) if (aNumber = 0) System.out.println(“first string“); else System.out.println(“second string“); System.out.println(“third string“); 第 4 章 问题和练习:类 问题 答案: a. x b. y c. 输出如下: a.y = 5 b.y = 6 a.x = 2 b.x = 2 问题和练习答案 421 练习 1. 程序Card.java1如下: public class Card private final int rank; private final int

12、suit; / Kinds of suits public final static int DIAMONDS = 1; public final static int CLUBS = 2; public final static int HEARTS = 3; public final static int SPADES = 4; / Kinds of ranks public final static int ACE = 1; public final static int DEUCE = 2; public final static int THREE = 3; public final

13、 static int FOUR = 4; public final static int FIVE = 5; public final static int SIX = 6; public final static int SEVEN = 7; public final static int EIGHT = 8; public final static int NINE = 9; public final static int TEN = 10; public final static int JACK = 11; public final static int QUEEN = 12; pu

14、blic final static int KING = 13; public Card(int rank, int suit) assert isValidRank(rank); assert isValidSuit(suit); this.rank = rank; this.suit = suit; public int getSuit() return suit; public int getRank() return rank; public static boolean isValidRank(int rank) return ACE = s.length() throw new S

15、tringIndexOutOfBoundsException(i); return s.charAt(fromEnd(i); public int length() return s.length(); public CharSequence subSequence(int start, int end) if (start s.length() throw new StringIndexOutOfBoundsException(end); if (start end) throw new StringIndexOutOfBoundsException(start - end); StringBuilder sub = new StringBuilder(s.subSequence(fromEnd(end), fromEnd(start); return sub.reverse(); public String toString() StringBuilder s = new StringBuilder(this.s); return s.reverse().toString(); /Random int from 0 to max. private static int random(int max) return (int) Math.ro

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号