java大学实用教程(第三版)课后习题答案(原版)

上传人:第*** 文档编号:34236621 上传时间:2018-02-22 格式:DOC 页数:19 大小:175KB
返回 下载 相关 举报
java大学实用教程(第三版)课后习题答案(原版)_第1页
第1页 / 共19页
java大学实用教程(第三版)课后习题答案(原版)_第2页
第2页 / 共19页
java大学实用教程(第三版)课后习题答案(原版)_第3页
第3页 / 共19页
java大学实用教程(第三版)课后习题答案(原版)_第4页
第4页 / 共19页
java大学实用教程(第三版)课后习题答案(原版)_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《java大学实用教程(第三版)课后习题答案(原版)》由会员分享,可在线阅读,更多相关《java大学实用教程(第三版)课后习题答案(原版)(19页珍藏版)》请在金锄头文库上搜索。

1、第一章 Java 语言概述2.“java 编译器将源文件编译为的字节码文件是机器码”这句话正确吗?答:不正确3.java 应用程序的主类必须含有怎样的方法?答:含有 main 方法4。 “java 应用程序必须有一个类是 public 类” 这句话正确吗?答;不正确,只能有一个 public 类5。 “java Applet 程序的主类必须是 public 类”这句话正确吗?答:正确,因为 java Applet 主类必须是 Applet 类的子类并且是 public 的类6。请叙述 java 源程序的命名规则。答:与 public 的类同名。7。源文件生成的字节码文件在运行时都加载到内存中吗

2、?答:非也,动态随需要运行才加载。8.面向对象的程序设计语言有那些基本特征?答:封装;继承;多态性。9.在 Java 程序中有多个类文件时,用 Java 命令应该运行那个类?答:具有 main 方法的类第二章 基本数据类型和数组4。下列哪些语句是错的?Int x=120;Byte b=120;b=x;答:B=x;错应为 b=(byte)x5。下列哪些语句是错的?答:y=d;错,应 y=(float) d6。下列两个语句是等价的吗?Char x=97;Char x=a;答:是等价的。7。下列 system.out.printf 语句输出结果是什么?Int a=97;Byte b1=(byte)1

3、28;Byte b2=(byte)(-129);System.out.printf(“%c,%d,%d”,a,b1,b2);如果输出语句改为:System.out.printf(“%d,%d,%d”,a,b1,b2);输出什么?答:输出 a , -128, 127修改后输出 97,-128,1278.数组是基本数据类型吗?怎样获取数组的长度?答:不是基本数据类型,是复合数据类型。可以通过:数组名.length 的方法获得数组长度9。假设有两个 int 类型数组:Int a=new int10;Int b=new int8;b=a;A0=100;B0的值一定是 100 吗?答;一定,因为 a 数

4、组与 b 数组引用相同。10。下列两个语句的作用等价吗?Int a=1,2,3,4,5,6 ,7,8;Int a=new int8;答:不等价,前者有初值,后者指分配空间。初值数组元素为 011.有语句:int a=1,2,3,b=4,5;a=b;求 a0=? b1=? 为什么?答: a0=4 ; b1=5 因为有相同的引用,同指向 b.12. Java 语言使用_编码,每个字符占_ 字节_byte 位Unicode 2 16第 3 章 运算符、表达式与语句1。下列语句输出的结果是什么?Int a=100, x,y;X=+a;Y=a-System.out.printf(“%d, %d,%d”,

5、x,y,a);答:101,101,1002。下列语句那些有错误?Int x=0;X=5.0/2;Float y=12.5F;y=5.0/2;答:x=5.0/2; 错。3。下列语句那些有错?Byte x=32;Char c=a;Int n=c-x;c=c-x;答:c=c-x;错 应为 int 类型。4 下列语句正确的是A.表达式“12+5634”的值是 trueB.表达式“12+56|34”是非法表达式C.表达式“x+y=12”是非法表达式D.表达式“12+5634”的值是 13答: (A, C )5。对于整数 m, m9)y=100;Z=200;Elsey=-100;z=-200;System

6、.out.printf(“%d,%d,%d”,x,y,z);输出: 10,100,-2008.下列 for 语句输出结果是什么?For(int i=1; i=0)root1=(-b+Math.sqrt(disk)/(2*a);root2=(-b-Math.sqrt(disk)/(2*a);System.out.printf(方程的根:%f,%fn,root1,root2); elseSystem.out.printf(方程没有实根n);elseSystem.out.println(不是一元 2 次方程); public void setCoefficient(double a,double b

7、,double c)this.a=a;this.b=b;SquareEquation.c=c;if(a!=0)boo=true; elseboo=false;public class ZuoYe4_3public static void main(String args )SquareEquation equation1=new SquareEquation(4,5,1);SquareEquation equation2=new SquareEquation(3,5,-7);equation1.getRoots();equation2.getRoots();4.程序源文件 Example.ja

8、va 如果使用了包语句,例如:package tom.jiafei;并且有 c:1000tomjiafei 的目录结构, 并且将源文件编译后得到的全部字节码文件拷贝到目录 c:1000tomjiafei 中。问在哪个目录中运行此文件,运行命令是什么?答:运行程序时必须到 tomjiafei 的上一层目录 1000 中来运行,如:c:1000java tom.jiafei. Example第五章 继承、接口与泛型1。子类在什么情况下可以继承父类的友好成员?答:父子类在同一包中时子类可以继承父类的友好成员。2。子类通过什么办法,可以隐藏继承的成员变量。答:子类成员变量与父类成员变量同名。3。子类重

9、写继承方法的规则是什么?答:重写隐藏父类的方法需:返回的数据类型相同,参数的个数相同,并且类型相同。如果重写父类的方法后参数的个数或类型不同会出现子类方法的重载。4.子类的构造方法的第一条语句是什么?答:如果需要调用父类构造方法,则应是用 super 关键词调用父类的构造方法。5。子类一旦重写了继承的方法,就会隐藏继承的方法。是这样吗?答:不一定。在参数的个数或类型不同时会产生重载。如果只有返回值的类型不同,将会产生编译错误。(5)子类隐藏父类的方法,参数必须_相同并且_ 相同.答: 个数 ,类型6。子类重写继承方法时,可以降低方法的权限吗?答:重写继承方法时不能降低访问权限。7。简述关键字

10、super 的用法。答:1)子类调用父类的构造方法。2)子类对象引用被隐藏了的父类方法,或成员变量。8.假设父类有一个方法:Public double f(double x, double y)return x+y;是否允许子类再声明如下的方法:Public float f(double x, double y)return 23;答:不允许。9。父类的 final 方法可以被子类重写吗?答:不可以10。什么类中可以有 abstract 方法?答:被 abstract 修饰的类。接口中也可以有 abstract 方法11。什么叫做对象的上转型对象?答:用子类的构造方法构造出来的对象,赋值给父类

11、对象。12。什么叫接口回调?答:用实现接口的类创建的对象,赋值给该接口声明的接口变量。13。与类有关的匿名类一定是该类的子类吗?与接口有关的匿名类一定是实现该接口的一个类吗?答:一定,因为类创建对象时,除了构造方法还有类体,此类体被认为是该类的一个子类去掉类声明后的类体。即匿名类,匿名类就是一个子类。与接口的匿名类相同。一定是子类。14。怎样声明一个泛型类?答:我们可以这样声明一个泛型类:class A 其中 A 时泛型的名称,E 是其中的泛型,即我们没有指定 E 是何种类型的数据,它可以是任何对象或接口,但不能是基本数据类型。15 阅读下列程序,并说明输出结果。class NegativeI

12、ntegerException extends ExceptionString message;public NegativeIntegerException()message=方法的参数值不是正整数 ;public String toString()return message;class MaxCommonDivisorpublic int getMaxCommonDivisor(int a, int b)throws NegativeIntegerExceptionif(ab)int t=a; a=b; b=t;r=a%b; while(r!=0)a=b;b=r;r=a%b;return

13、 b;class MinCommonMultiple extends MaxCommonDivisorpublic int getMinCommonMultiple(int a, int b)throws NegativeIntegerExceptionif(a泛型类是一种什么数据结构?答:是一种链表类数据结构。7.对于需要经常查找的数据,应选用 LinkedList还是选用 HashMap?答:选用 HashMap第八章 线程1.线程和进程是什么关系?答:线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的

14、过程,也是一个动态的概念。2.线程有几种状态?答:新建状态, 运行状态,中断状态,死亡状态3.引起线程中断的常见原因是什么?答:有 4 种:有 4 种原因的中断:(a) JVM 将 CPU 资源从当前线程切换给其他线程,使本线程让出 CPU 的使用权处于中断状态。(b)线程使用 CPU 资源期间,执行了 sleep(int millsecond)方法。(c)线程使用 CPU 资源期间,执行了 wait()方法。(d) 线程使用 CPU 资源期间,执行某个操作进入阻塞状态,比如执行读/写操作引起阻塞。4.一个线程执行完 run()方法后,进入什么状态?该线程还能再调用 start()方法吗?答:

15、一个线程执行完 run()方法进入死亡状态,之后还能再调用 start()方法运行5.线程在什么状态时,调用 isAlive()方法后返回值是 false?答:当线程进入死亡状态后(实体内存被释放) ,线程仍可以调用方法 isAlive() ,这时返回的值是 false。 (线程未调用 start 方法之前,调用 isAlive()方法返回 false).6.线程调用 interrupt()的作用是什么?答: intertupt 方法经常用来“吵醒”休眠的线程。当一些线程调用 sleep 方法处于休眠状态时,一个使用 CPU 资源的其它线程在执行过程中,可以让休眠的线程调用 interrupt 方法“吵醒”自己,即导致休眠的线程发生 InterruptedException 异常,从而结束休眠,重新排队等待 CPU 资源。8.wait(), notify(), notifyAll()的作用分别是什么?答:wait() 、notify ()和 notifyAll()都是 Object 类中的 final 方法,被所有的类继承,且不允许重写的方法。当一个线程使用的同步方法中用到某个变量,而此变量又需要其它线程修改后才能符合本线程的需要,那么可以在同步方法中使用 wait()方法。使用 wait()方法可以中断方法的执行,使本线程等待,暂时

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

当前位置:首页 > 办公文档 > 解决方案

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