Java基础教程清华大学出版社第2版部分习题答案.DOC

上传人:国*** 文档编号:442692 上传时间:2018-10-07 格式:DOC 页数:29 大小:516.50KB
下载 相关 举报
Java基础教程清华大学出版社第2版部分习题答案.DOC_第1页
第1页 / 共29页
Java基础教程清华大学出版社第2版部分习题答案.DOC_第2页
第2页 / 共29页
Java基础教程清华大学出版社第2版部分习题答案.DOC_第3页
第3页 / 共29页
Java基础教程清华大学出版社第2版部分习题答案.DOC_第4页
第4页 / 共29页
Java基础教程清华大学出版社第2版部分习题答案.DOC_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、 Java基础教程(清华大学出版社第 2版) 部分习题答案 第一章 【答案】答案见教材 。 第二章 1. 请说明注释的作用。 【答案】 答案见教材 。 2. 判断下列那些是标识符? (1) 3class (2) byte (3) ? room (4) Beijing (5) beijing 【答案】 (1)(2)(3)不是标识符,因为标识符不能已数字开始,也不能是保留关键字(如 byte),不能以?开始。 3. 请指出下列声明字符变量 ch的语句是否存在错误?如果有,请改正。 (1)char ch = A; (2)char ch = u0020; (3)char ch = 88; (4)cha

2、r ch = ab; (5)char ch = “A“; 【答案】 (4)错,因为关键字 char 是用于声明字符变量,不可声明字符串变量。 4. 如果 int x=1, y=-2, n=10;那么,表达式 x+y+(-n)*(xy (2)char ch1,ch2; (3)ch1=H+k; (4)ch2=98; 【答案】 H+k 的类型为 int 型。 (3)有错。 H+k 为 int 型, ch1 为 char 型,将高精度赋给低精度类型时必须实行强制转换。 6. 请指出下面程序在编译时是否会出现错误。如果有,请改正。 public class doubleTointExample publ

3、ic static void main(String args ) int a; double b=1,c=2; a=(int)(b+c); System.out.println(“a=“+a); 【答案】 无错误。输出结果: a=3 7. 请指出执行完下面程序后 x、 y 和 z 的输出值是多少?请上机验证。 public class doubleTointExample public static void main(String args ) int x,y,z; x=1; y=2; z=(x+y3?x+:+y); System.out.println(“x=“+x); System.o

4、ut.println(“y=“+y); System.out.println(“z=“+z); 【答案】 x=1 y=3 z=3 8. 请指出下面程序片段输出的结果是什么。 int i=1,j=10; do if (i+-j) break; while(i”+“j=”+j); 【答案】 i=5j=6 9. 请分别用 if-else 语句和 switch 语句编 写实现下列功能的程序。 某同学某门课的成绩可能的结果为 1, 2, 3, 4, 5。当成绩为 1 时请输出不及格;成绩为 2时请输出及格;成绩为 3 时请输出中等;成绩为 4 时请输出良好;成绩为 5 时请输出优秀。 【答案】 /*if

5、-else 描述程序 */ public class xt020901 public static void main(String args ) int score=4; if (score=1) System.out.println(“不及格 “); else if (score=2) System.out.println(“及格 “); else if (score=3) System.out.println(“中等 “); else if (score=4) System.out.println(“良好 “); else System.out.println(“优秀 “); /*swi

6、tch 描述程序 */ public class xt020902 public static void main(String args ) int score=4; switch (score) case 1 : System.out.println(“不及格 “); break; case 2 : System.out.println(“及格 “); break; case 3 : System.out.println(“中等 “); break; case 4 : System.out.println(“良好 “); break; case 5 : System.out.println

7、(“优秀 “); break; 10. 请 编写输出乘法口诀表的程序。 乘法口诀表的部分内容如下: 1*1=1 1*2=2 2*2=3 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 public class xt0210 public static void main(String args ) final double PI = 3.141592654; double area,r; area =PI*r*r; System.out.println(“面积” area); 【答案】 public class xt0210 public static

8、void main(String args ) int i,j; for(i=1;i。 14. 上机调试本章提供的输入输出语句。 【答案】答 案见教材 。 第三章 1. 选择题 (1) 不允许作为类及类成员的访问控制符的是 ( )。 A. public B. private C. static D. protected 【答案】 C (2) 为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为 ( )。 A. static void method( ) B. public void method( ) C. final

9、 void method( ) D. abstract void method( ) 【答案】 A (3) Java 中 main()函数的值是 ( )。 A. String B. int C. char D. void 【答案】 D 2. 改错题 (1) 一个名为 Hello.java 程序如下: /Hello.java 程序 public class A void f() System.out.println(“I am A“); class B public class Hello public static void main (String args ) System.out.pri

10、ntln(“你好,很高兴学习 Java“); A a=new A(); a.f(); 要求:指出错误,说明错误原因,并改正。 【答案】 错误原因:一个程序 中不可同时申明一个以上的 public 类。 改正措施:将 public class A变为 class A即可 (2) 类 A的定义如下: class A void f() int u=(int)(Math.random()*100); int v, p; if (u50) v=9; p=v+u; 要求:指出错误,说明错误原因,并改正。 【答案】 错误原因: Java 语言规定,任何变量在使用之前,必须对变量赋值。由于 u 的值是由随机方

11、法产生的,当 u。 第四章 1. 简述 Java 中继承的含义及特点。 【答案】答案见教材 。 2. 指出下列程序中的错误,请说明错误原因。 class A public int a = 1; private int b = 2; protected int c = 3; int d=4; public int dispA() return a; private int dispB() return b; protected int dispC() return c; int dispD() return d; public class B extends A public static vo

12、id main (String args ) B bb=new B(); bb.testVisitControl (); public void testVisitControl () System.out.println(a+dispA(); System.out.println(b+dispB(); System.out.println(c+dispC(); System.out.println(d+dispD(); 【答案】 System.out.println(b+dispB(); 行编辑时出现错误。原因如下: (1) 子类 B和 父类 A在同一包中; (2) 子类 B不 能继承父类的

13、 private 型属性 和方法。 3. 根据下面程序片段,画出类和对象的内存映像图。 class A static int sv1=10; int sv2=20; int sv3=30; static void sf1() void f1() class B extends A static int sv2=30; int v2=3; void f1() A ref1=new A(); B ref2=new B(); ref1=ref2; 【答案】 4. 简述子类对象的成员初始化的方法。 【答案】答案见教材 。 5. 简述成员变量的隐藏的含义,并举例说明。 【答案】答案见教材 。 6. 简述

14、方法的重载和方法的覆盖的区别,并举例说明。 【答案】答案见教材 。 7. 列举 this 和 super 的用途。 【答案】答案见教材 。 8. 指出下列程序运行 的输出结果。 class Point int x, y; Point( ) this(-1,-1); Point(int a, int b) x=a; y=b; void showxy() System.out.println(“x=”+x+” y=”+y); public class reloadingExample public static void main (String args ) Point a=new Point

15、(); Point b=new Point (1,1); a.showxy(); b.showxy(); 【答案】输出结果为: x=-1 y=-1 x=1 y=1 9. 指出下列程序运行的输出结果。 class A int x=1, y=2; double add() return x+y; class B extends A int x=10,y=20; double add() return super.x+super.y ; class ex2 public static void main(String args ) A a=new A(); B b=new B(); System.out.println(“a.add=“+a.add(); System.out.println(“b.add=“+b.add(); 【答案】输出结果为: a.add=3.0 b.add=3.0 10. 简述接口和抽象类的含义,以及它们两者之间的不同。 【答案】答案见教材 。 第五章 1. 为什么说 Java 多维数组是数组元素为数组的一维数组,请用事实说明。 【答案】答案见教材 。

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

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。