《2022年Java程序设计实用教程_胡伏湘_清华大学出版社习题答案 .pdf》由会员分享,可在线阅读,更多相关《2022年Java程序设计实用教程_胡伏湘_清华大学出版社习题答案 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 Java 程序设计精典教程习题答案编著:胡伏湘,雷军环清华大学出版社第三章习题答案一、简答题1类的修饰符包括哪些?各起什么作用?包括访问控制符(表示被访问权限)、抽象类说明符abstract(说明是否是抽象类) 、最终类说明符final(表示是否是最终类) 。2什么是抽象类?什么是抽象方法?抽象方法与普通方法有什么不同?以 abstract作为关键字,如果有的话,应该放在访问控制符后面,表示这个类是个抽象类。 抽象类中至少包含一个抽象方法,抽象方法是只声明了方法名和参数而没有定义方法体的特殊方法。抽象类不能直接产生实例化一个对象,它只能被继承。3父类与子类是怎样建立关联的?如果父类和子类中
2、都有一个同名的方法,在程序中调用这个方法,应该用什么关键字来区分?父类与子类是通过继承和派生建立关联的,父类可以派生出子类,可以被子类继续,子类可以继续父类的属性和方法。如果父类和子类中都有一个同名的方法,通过关键字super 和 this区分, super 表示调用父类的方法,而this表示调用的是子类的方法。4普通数据类型参数和引用数据类型在方法中的传递有什么不同?普通数据类型参数的传递采用值传递,在方法中对变量的改变不会影响到主程序的同名变量, 引用数据类型在方法中的传递采用地址传递,在方法中对变量的改变使主程序的同名变量发生改变。5什么是构造方法?构造方法有什么特点?构造方法是一种特殊
3、的方法,当用 new命令每生成一个实例时,构造方法都会自动执行一次,而无须用户手工引用。构造方法的特征:具有与类相同的名称,不含返回类型,不能在方法中用return语句返回一个值。在类实例化时,它会由系统自动调用6字符串类有哪两种?各有什么特点?Java.lang语言核心包中定义了String和 StringBuffer两个来封装对字符串的各种操作,它们都是final类,不能被其它类继承。String类用于比较两个字符串、查找串中的字符及子串、字符串与其它类型的转换,String类对象的内容初始化后不能改变。StringBuffer类用于内容可以改变的字符串,可将其它类型的数据增加、插入到字符
4、串中,也可翻转字符串的的内容。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 2 7JDK帮助系统有哪几种?分别说明它们的使用特点。JDK帮助文件提供了两种类型,一种是采用网页格式,其启动文件是index.html,另一种是 chm格式,其启动文件是jdkxxx.chm ,这里的xxx 是版本号,如目前常用的是jdk142.chm 。采用网页格式的帮助文档的主界面由两大部分组成:一部分是导航标题,另一部分是结构图。 在结构图的下
5、面,是对导航栏的解释说明。这种帮助文档的各个页面中包括大量的超链接, 用户可以点击有关关键字而打开对应的页面,也可以作用浏览器中的各种菜单用工具按钮,通过此帮助文档可以方便地了解JDK 的体系结构。chm格式的帮助文档具有更加方便的查询功能,可以想象包、类、方法、常量,是初学者非常理想的学习工具。8简要说明内部类的含义。所谓内部类, 就是在某个类的内部嵌套定义的一个类,内部类可以在一个语句块的内部定义,也可以是其它类的成员,还可以在一个表达式内部匿名定义。9设置 cha=JavaApplication,下面结果是什么?cha.length() cha.concat(Applet) cha.su
6、bstring(3,8) cha.replace(a,A) 它们的结果分别是15,JavaApplication Applet,aAppl ,JAvAApplicAtion。二、编程题1定义一个日期类,包括年、月、日三个属性和一个方法,用于判断是不是闰年。然后实例化两个对象,今天和明天,并分别给它们赋值。class DateClass int year,month,day; boolean isLeapYear() boolean is; if (year%4=0)|(year%100=0)&(year%400!=0) return true; else return false; /end
7、isLeapYear(int y) /end class DateClass public class XT003201 public static void main(String args) DateClass thisYear,nextYear; thisYear = new DateClass(); thisYear.year=2005; thisYear.month=4; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - -
8、 3 thisYear.day=5; nextYear = new DateClass(); nextYear.year=2006; nextYear.month=10; nextYear.day=26; System.out.println(thisYear.isLeapYear(); System.out.println(nextYear.isLeapYear(); /end main(String args) /end class XT003201 2编写一个程序实现方法的重载。class PassCheck String s,ok; PassCheck(String s) System
9、.out.println(您设置的字符串是:+s); PassCheck(String s,String ok) if (s!=ok) System.out.println(您设置的字符串有错,正确的应该是:+ok); public class XT003202 public static void main(String args) new PassCheck(Robit); new PassCheck(Mary,Susan); 3设定一个含有大小写字母的字符串,先将所有大写字母输出,再将所有小写字母输出。public class XT003203 public static void ma
10、in(String args) String s=We are students from the Tsinghua University.; int i; char ch; ch=s.toCharArray(); /转换为数组 for (i=0;ich.length;i+) if (chiA) System.out.print(chi); System.out.println(); for (i=0;ich.length;i+) if (chia) System.out.print(chi); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
11、- - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 4 System.out.println(); /end main() /end class 4设定 6 个字符串,打印出以“ a”字母开头的字符串。public class XT003204 public static void main(String agrs) int i; String s = abc,dcb,fasdfas,asew,fery,dee; for (i=0;i6;i+) if (si.charAt(0)=a) System.out.println(si)
12、; 5. 编写一个含有抽象方法和一个抽象类的程序。abstract class ObjectAccess /抽象类int num=0; Object access=new Object20; abstract void inputToArray(Object o); /抽象方法1 abstract Object outputFromArray(); /抽象方法2 三、上机操作题1 分别从网上下载两种格式的JDK帮助文档。2运行下面的程序,输出并记录结果。class Father private int f1,f2; public Father(int f1,int f2) this.f1=f1
13、;this.f2=f2; public void print() System.out.println(f1=+f1+ f2=+f2); class Child extends Father private int c1,c2; public Child(int f1,int f2,int c1,int c2) super(f1,f2); this.c1=c1;this.c2=c2; public void print() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共
14、5 页 - - - - - - - - - 5 super.print(); System.out.println(c1=+c1+ c2=+c2); / 增加的测试代码public class XT003302 public static void main(String args) Child c = new Child(1,2,3,4); c.print(); 输出 : f1=1 f2=2 c1=3 c2=4 3打开JDK 文档,找出类long的所有方法,并记录下来。4编写一个程序,实现把数组中各个分量累加起来的功能,并上机调试。public class XT003304 public static void main(String args) int a = 3,543,6,23,56,88; int i,sum=0; for (i=0;ia.length;i+) sum +=ai; System.out.println( 数组的合计为:+sum); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -