自考Java语言程序设计(一)课后习题及答案

更新时间:2024-05-14 06:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

自考Java语言程序设计(一)课后习题及答案

自考Java语言程序设计(一)第一章Java语言概述课后习题 一、Java语言概述

1.Java语言有哪些特点?

2.什么叫做类?什么叫做对象? 3.简述Java的运行机制。

4.简述Java应用程序的开发流程。

5.当初Sun公司发展Java的原因是:来源:www.examda.com (a)要发展航空仿真软件 (b)要发展人工智能软件 (c)要发展消费性电子产品

6.Java是从哪种语言改进并重新设计? (a)Ade来源:www.examda.com (b)C++ (c)Pascal

7.Java因为什么快速发展而走红? (a)个人计算机与网络 (b)游戏软件 (c)系统软件

8.Java程序的种类有:

(a)内嵌于Web文件中,由浏览器来观看的__________ (b)可独立运行的__________考试大论坛 (c)服务器端的_________

9.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。

10. 判断:用Javac编译Java源文件后得到代码叫字节码。() 参考答案

1.答:面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能

2.答:在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。来源:考试大

3.答:Java程序的运行必须经过编写、编译、运行三个步骤。编写是指在Java开发环境中进行程序代码的输入过程,最终形成后缀名为.java源文件。编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。运行是指使用Java解释器 将字节码文件翻译成机器代码,在cpu上运行并显示结果的过程。这一过程如图所示。考试大-全国最大教育类网站(www.Examda。com) 4.Java应用程序的运行经过编写、编译、运行三个步骤。

第1步,编写程序。使用记事本或其他软件编写程序的源代码,将源代码保存为文件filename.java文件。

第2步,编译程序。在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javame.java”形式的命令进行程序编译。

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

第3步,执行程序。在同样的命令窗口中输入“javame”形式的命令执行程序。来源:考试大

完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。考试大收集整理 5.c 6.b 7.a

8.AppletApplicationServlets 9.软件模型

10.true

自考Java语言程序设计(一)第二章数据类型和流程控制课后习题

二、数据类型和流程控制

1. 现有语句:String s = \则下面哪些语句是合法语句? A. s >>> = 3;B. s[3] = \

C. int i = s.length();D. String t = \ E. s = s + 10;

2.下面哪些是保留字?

A. run B. default C. implement D. import 3.下面声明float变量的语句合法的有: A. float foo = -1; B. float foo = 1.0; C. float foo = 42e1; D. float foo = 2.02f; E. float foo = 3.03d; F. float foo = 0x0123;

4. 下面方法中的“返回类型无效”应该是什么? public class ReturnIt{ 来源:考试大 return无效 methodA(byte x, double y){ return (short)x / y * 2; } }

5.以下哪两个表达式是等价的: A. 3/2 B. 3<2 C. 3*4 D. 3<<2 E. 3*2^2F. 3<<<2 6.指出正确的表达式

A、 byte=128; 来源:考试大 B、 Boolean=null; C、 long l=0xfffL; D、 double=0.9239d;

7.分析下列程序的执行结果: (1)public class Test{

public static void main(String args[]){ int i = oxFFFFFFF1; int j = ~i;

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

System.out.println(\} }

(2)public class Test{

public static void main(String[] args){ System.out.println(6 ^ 3); } }

(3)public class FooBar{

public static void main(String[] args){ int i = 0, j = 5; tp:

for(; ; i++){ for( ; ; --j) if(i > j) break tp; }

System.out.println(\ } }

(4)public class Test{ public static void main(){ int i = 1, j = 10; do{

if(i++ > --j) continue; }while(i < 5);

System.out.println(\} }

(5)class Value{ public int i = 15; }

public class Test{

public static void main(String argv[]){ Test t = new Test(); t.first(); }

public void first(){ int i = 5;

Value v = new Value(); v.i = 25; second(v, i);

System.out.println(v.i);

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

}

public void second(Value v, int i){ i = 0; v.i = 20;

Value val = new Value(); 来源:考试大的美女编辑们 v = val;

System.out.println(v.i + \ } }

8.选出合理的标识符 A、 _sys1_lll B、 2mail C、 $change D、 class

9. 判断:一个方法最多能有一个return语句()

10. Java语言中一个Char类型的数据占用2个字节大小的内存空间() 参考答案 1.cde 2.b,d 3.a,d,f 4.double 5.c,d 6. d 7.(1)c(2)5(3)i = 0, j = -1 (4)i=5 j=6(5)15 0 20 8. a c 9. true 10.ture

自考Java语言程序设计(一)第三章类与对象课后习题

三、类与对象

1.什么叫引用类型,对象是引用类型吗?

2.什么是类成员,什么是实例成员?他们之间有什么区别? 3. 判断:数组、类和接口都是引用数据类型()

4.判断:类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员()

5.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的() A、publicB、privateC、staticD、final采集者退散 6.下面关于java中类的说法哪个是不正确的()

A、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造函数是类中的特殊方法。

C、类一定要声明为public的,才可以执行。采集者退散 D、一个java文件中可以有多个class定义。

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

7.下列哪个类声明是正确的() A abstract final class H1{?} B abstract private move(){?} C protected private number; D public abstract class Car{?}

8.下述哪些说法是正确的? (多选) A、 实例变量是类的成员变量

B、 实例变量是用static关键字声明的 C、 方法变量在方法执行时创建 D、方法变量在使用之前必须初始化

9.设计一个动物类,它包含动物的基本属性。例如名称、大小、重量等,并设计相应的动作,例如跑、跳、走等。

10.设计一个长方形类,成员变量包括长和宽。类中有计算面积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。编写测试类测试是否达到预定功能。要求使用自定义的包。

参考答案

1.答:引用类型是指该类型的标识符表示的是一片内存连续地址的首地址。对象是引用类型。来源:考试大

2.答:Java中使用static修饰的变量和方法称为类变量(或称静态变量)和类方法(或称静态方法),没用static修饰符的变量和方法称为实例变量和实例方法。

类成员是指该成员属于这个类,由这个类所创建的所有对象共同拥有,该成员仅在类的存储单元中存在,这个类所创建的所有对象中仅存储一个指向该成员的 引用。任何一个该类的对象改变了类成员,其他对象同样会发生改变。对于类成员既可以使用对象访问,也可以使用类名直接进行访问,并且在类方法中只能访问类 变量,而不能访问实例变量。

实例成员是指该成员由每一个对象个体独有,对象的存储空间中的确有一块空间用来存储该成员,不同对象的实例成员不同,任何一个对象改变了实例成员, 只会影响这个对象本身,其他对象中的实例成员不会发生改变。对于实例成员只能通过对象来访问,不能通过类名进行访问,在实例方法中既可以访问实例变量,也 可以访问类变量。考试大收集整理

3. true 4. true 5. C 6.C 7. D 8. A C D 9.答:

public class Animal{ private String name; private double weight; private int length; privateString sex; public void run(){

System.out.println(\ }

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

public void jump(){

System.out.println(\ }

public void walk(){

System.out.println(\ } }

10.答:

package mypackage.math; class Rectangle{ private int length; private int width;

public Rectangle(int length,int width){ this.length=length; this.width=width; }

public void set(int length,int width){ this.length=length; this.width=width; }

public void get(){

System.out.println(\此长方形的长为\宽为\ }

public int getLength(){ return length; }

public int getWidth(){ return width; }

public int calculatePerimeter(){ return 2*(length+width); }

public int calculateArea(){ return (length*width); }

public void print(){

System.out.println(\此长方形的周长为\面积为\

} }

class Test{

public static void main(String [ ] args){

Rectangle myrectangle=new Rectangle(15,10); myrectangle.get();

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

myrectangle.print(); myrectangle.set(20,15);

System.out.println(\长方形的长是\宽是\myrectangle .getWidth());

myrectangle.print(); } }

自考Java语言程序设计(一)第四章方法与构造函数课后习题

四、方法与构造函数

1.Java的访问限定修饰符有几种,各自的访问权限是什么? 2.如何创建自己的包,如何引入包? 3.下面哪一个是类Myclass的构造函数? class Myclass{www.Examda.CoM public void Myclass(){} public static Myclass(){} public Myclass(){}

public static void Myclass(){} }

4. 判断:类体中private修饰的变量在本类中能访问,类生成的对象也能访问。() 5. 判断:一个类中,只能拥有一个构造器方法。()

6.Java中类成员的限定词有以下几种:private, public, ________, ________。其中,________的限定的范围最大。

7、被关键字__________修饰的方法是不能被当前类的子类重新定义的方法

8.设计Point类用来定义平面上的一个点,用构造函数传递坐标位置。编写测试类,在该类中实现Point类的对象。

9.编写程序说明静态成员和实例成员的区别。

10.设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。编写测试类测试Employee类。要求使用自己的包。

参考答案

1.答:Java的访问限定修饰符有4种,分别使public、protected、private和默认修饰符。用public修饰的类或成员拥 有公共作用域,表明此类或类的成员可以被任何Java中的类所访问,是最广泛的作用范围。用protected修饰的变量或方法拥有受保护作用域,可以被 同一个包中所有的类及其他包中该类的子类所访问。用private修饰的变量或方法拥有私有作用域,只能在此类中访问,在其他类中,包括该类的子类也是不 允许访问的,private是最保守的作用范围。没有任何修饰符拥有默认访问权限(友好访问权限),表明此类或类的成员可以被同一个包中的其它类访问本文来源:考试大网

2.答:创建自己的包只要将package语句作为Java源文件的第一句就可以了。例 package myPackage; 声明创建了一个名为myPackage的包。

Java使用import语句来引入包及其中的类。例如import myPackage.*;就引入了

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

myPackage包中所有的类。

3.答:public Myclass(){}是类Myclass的构造函数。 4. false 5. false

6. friendly、 protected、public 7.Private 8. 答: class Point { int x,y;

Point(int a,int b) { x=a; y=b; } }

public class A

{ public static void main(String [ ] args) { Point p1,p2;

p1=new Point(10,10); p2=new Point(23,35); } }

9.答:

class StaticTest{ int i=5;

static int j=5; void print(){

System.out.println(\ System.out.println(\ }

static void classprint(){

//System.out.println(\ System.out.println(\ } }

class Test{

public static void main(String [] args){ //System.out.println(StaticTest.i); System.out.println(StaticTest.j); //StaticTest.print(); StaticTest.classprint();

StaticTest st=new StaticTest(); System.out.println(st.j); System.out.println(st.j); st.print();

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

st.classprint(); } }

10.答:

package mypackage.employee; class MyDate{ private int year; private int month; private int day;

public MyDate(int year,int month,int day){ this.year=year; this.month=month; this.day=day; }

public int getYear(){ return year; } }

public class Employee{ private String name; private double salary; private MyDate hireDay;

public Employee(String name,double salary,MyDate day){ this.name=name; this.salary=salary; hireDay=day; }

public void print(){

System.out.println(name+ \}

public int hireYear(){ return hireDay.getYear(); } }

class TestEmployee{

public static void main(String [] args){

Employee a=new Employee(\李明\Employee b=new Employee(\王强\a.print(); b.print(); } }

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

自考Java语言程序设计(一)第五章类的继承课后习题

五、类的继承

l.什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?什么是单重继承?什么是多重继承?

2.观察下面的程序片断,指出其中的父类和子类,以及父类和子类的各个域和方法。

class SuperClass {

int data;

voidsetData(intnewData) {

data=newData~ }

intgetData() {

return data~ } }

class SubClass extends SuperClass {

int suhData;

void setSubData(intnewData) {

suhData=new Data; }

intgetData() {

return subData; } } 3.“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?为什么?

4. 在Java程序中,通过类的定义只能实现单重继承() 5.下列哪些说法是正确的? A、 Java 语言只允许单一继承 B、 Java 语言只允许实现一个接口

C、 Java 语言不允许同时继承一个类并实现一个接口 D、 Java 语言的单一继承使得代码更加可靠 6.Java中所有类都是类________的子类。 7. 请写出下面程序的运行结果。 public class Test extends TT{ public void main(String args[]){ Test t = new Test(\

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

}

public Test(String s){ super(s);

System.out.println(\ }

public Test(){ this(\ }

} www.Examda.CoM class TT{ public TT(){

System.out.println(\ }

public TT(String s){ this();

System.out.println(\ } }

结果:________

8.父类的成员在子类中的访问权限由决定。

9.对象的使用包括引用对象的成员变量和方法。通过运算符就能实现对对象成员变量的访问和对象

10.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。

参考答案:

l.答:继承是面向对象程序设计中两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为它自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。

面向对象程序设计中的继承,可使得程序结构更加清晰,降低了编码和维护的工作量。如果一个类只能有一个父类,则这种继承关系称为单重继承;如果一个类可以有多个父类,则这种继承关系称为多重继承。

2.答:

父类SuperClass

父类的域data来源:考试大的美女编辑们 父类的方法setData(),getData() 子类SubClass

子类的域data,subData

子类的方法setSubData(),setData(),getData()采集者退散

3.答:这种说法是错误的,因为子类不一定能继承父类的所有域和方法,它只能继承所有非私有的域和方法。如果子类在继承之外自己定义的域和方法数目小于父类中私有成员的数目,则子类的域和方法的数目小于父类的域和方法的数目|考试大收集整理

4. true 5. A D

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

6. Object 7. 答:

What a pleasure! I am Tom

How do you do? 8. 访问权限修饰符 9. “.” 10.软件模型

自考Java语言程序设计(一)第六章重载与多态课后习题

六、重载与多态

1.判断:接口中的所有方法都没有被实现。() 2.方法重载是指 ( )

A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同考试大论坛 B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同 C.两个以上的方法名字不同,但形参的个数或类型相同

D.两个以上的方法取相同的方法名,并且方法的返回类型相同

3.什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同? 4.解释this和super的意义和作用。 5.什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点? 6.Java程序如何实现多态?有哪些方式?

7.根据下面的要求编程实现复数类ComplexNumber。 (1)复数类ComplexNumber的属性

·m_dRealPart实部,代表复数的实数部分。 ·m_dlmaginPart虚部,代表复数的虚数部分。 (2)复数类ComplexNumber的方法

·ComplexNumber()构造方法,将实部、虚部都置为0。

·ComplexNumber(doubler,doublei)构造方法,创建复数对象的同时完成复数的实部、虚部的初始化;r为实部的初值,i为虚部的初值。

·getRealPart()获得复数对象的实部。

·getlmaginaryPart()获得复数对象的虚部。

·setRealPart(doubled)把当前复数对象的实部设置为给定的形参的数字。 ·setlmaginaryPart(doubled)把当前复数对象的虚部设置为给定形参的数字。

·complexAdd(ComplexNumberc)当前复数对象与形参复数对象相加,所得的结果也是复数值,返回给此方法的调用者。

·complexAdd(doublec)当前复数对象与形参实数对象相加,所得的结果仍是复数值,返回给此方法的调用者。

·complexMinus(ComplexNumberc)当前复数对象与形参复数对象相减,所得的结果也是复数值,返回给此方法的调用者。

8.什么是接口?为什么要定义接口?接口与类有何异同?来源:考试大的美女编辑们 9.一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象方法?

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

10.接口是否可以被继承?阅读下面的代码,试写出SubInterface中的抽象方法。 interface SupInterface {

public abstract int supMethod(); }

interface SubInterface extends SupInterface {

public abstract string subMethod(); }

参考答案: 1. true 2.A

3.答:子类重新定义父类中已经存在的方法,称为方法的覆盖。注意:方法覆盖与域的隐藏不同。子类重新定义父类已有的域,并不能完全取代它从父类那 里继承的同名的域,这个域仍然占用子类的内存空间,在某些情况下会被使用;而当子类重新定义父类的方法时,从父类那里继承来的方法将被新方法完全取代,不 再在子类的内存空间中占一席之地。与方法的覆盖不同,重载不是子类对父类同名方法的重新定义,而是在一个类中定义了同名的不同方法。

4.答:关键字this指代当前类的当前对象,关键字super指代当前类的直接父类对象。考试大-全国最大教育类网站(www.Examda。com)

5.答:一个类中存在多个同名的方法,称为多态。把抽象功能和目的相同,而具体实现因不同情况而异的方法命名为同名方法,符合面向对象程序设计中抽象、提升概念,封装、隐藏细节的特点,从而提高了程序的简洁性和可读性,降低了类和程序模块直接的相互耦合和依赖。

6.答:Java程序通过覆盖和重载两种方式来实现多态。覆盖是子类重新定义父类中已有的方法,重载是在一个类内部定义与已存在的方法同名但是参数列表不同的方法。

7.答:

public class ch5_e5_12 {

public static void main(String args[]) {

ComplexNumber cNumber_1 = new ComplexNumber(3,-5);

ComplexNumber cNumber_2 = 本文来源:考试大网 new ComplexNumber(2,2); double d = 10.0;

System.out.println(cNumber_1.toString() + \加 \ + cNumber_2.toString() + \等于 \

+ cNumber_1.complexAdd(cNumber_2).toString()); System.out.println(cNumber_1.toString() + \加 \ + d + \等于 \

+ cNumber_1.complexAdd(d).toString());

System.out.println(cNumber_1.toString() + \减 \ + cNumber_2.toString() + \等于 \

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

+ cNumber_1.complexMinus(cNumber_2).toString()); System.out.println(cNumber_1.toString() + \减 \+ d + \等于 \

+ cNumber_1.complexMinus(d).toString());

System.out.println(cNumber_1.toString() + \乘 \+ cNumber_2.toString() + \等于 \

+ cNumber_1.complexMulti(cNumber_2).toString()); System.out.println(cNumber_1.toString() + \乘 \+ d + \等于 \

+ cNumber_1.complexMulti(d).toString()); } }

class ComplexNumber { //域

private double m_dRealPart; private double m_dImaginPart; //构造方法

ComplexNumber() {

m_dRealPart = 0.0; m_dImaginPart = 0.0; }

ComplexNumber(double r,double i) {

m_dRealPart = r; m_dImaginPart = i; }

ComplexNumber(ComplexNumber c) {

m_dRealPart = c.getRealPart();

m_dImaginPart = c.getImaginaryPart(); }

//get,set方法

double getRealPart() {

return m_dRealPart; }

double getImaginaryPart() {

return m_dImaginPart; }

void setRealPart(double d) {

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

m_dRealPart = d; }

void setImaginaryPart(double d) {

m_dImaginPart = d; }

//复数运算方法

ComplexNumber complexAdd(ComplexNumber c) {

return new ComplexNumber(

this.m_dRealPart + c.getRealPart(),

this.m_dImaginPart + c.getImaginaryPart()); }

ComplexNumber complexAdd(double c) {

return new ComplexNumber(

this.m_dRealPart + c, this.m_dImaginPart); }

ComplexNumber complexMinus(ComplexNumber c) {

return new ComplexNumber(

this.m_dRealPart - c.getRealPart(),

this.m_dImaginPart - c.getImaginaryPart()); }

ComplexNumber complexMinus(double c) {来源:www.examda.com return new ComplexNumber(

this.m_dRealPart - c, this.m_dImaginPart); }

ComplexNumber complexMulti(ComplexNumber c) {

return new ComplexNumber(

this.m_dRealPart * c.getRealPart()

- this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart() + this.m_dImaginPart * c.getRealPart()); }

ComplexNumber complexMulti(double c) {

return new ComplexNumber(

this.m_dRealPart * c, this.m_dImaginPart * c); }

//toString()

public String toString()

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://m.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

{

return \ + m_dImaginPart + \ } }

8.答:接口是用来实现类间多重继承功能的结构。接口与类相似,但是接口中只能包括常量和抽象方法。定义接口相当于定义了一组抽象的功能、属性集合,可以使了ava程序的类层次结构更加合理,并实现多重继承。

9.答:使用关键字implements可以定义类实现某接口。实现某接口的类如果不是抽象类,则需要通过重载来实现该接口中的所有抽象方法;如果这个类是抽象类,则它可以不必实现该接口中的所有抽象方法。

10.答:接口可以被继承。 SubInterface中的抽象方法有:public abstract int supMethod();和public abstract string subMethod();两个。

自考Java语言程序设计(一)第七章Java常用类库介绍课后习题

七、Java 常用类库介绍

1.指出下列陈述是对还是错,并做出解释。

(1)当String对象用= = 比较时,如果String包括相同的值则结果为true。 (2)一个String类的对象在其创建后可被修改。 2.对于下列描述,各写出一条语句完成要求的任务 (1)比较s1中的串和s2中的串的内容的相等性; (2)用+=向串s1附加串;

(3)判断s1中串的长度;来源:考试大 3.说明capacity()与length()用法上的差异?

4.如果ch为StringBuffer对象,ch=“Java Apple”,下列结果为何? (1)ch.insert(3,’p’)(2)ch.append(“Basic”) (3)ch.setlength(5)(4)ch.reverse()

5.Math类中提供用来常数π和e的静态属性分别是什么? 6.下面关于Vector类的说法正确的是() (1)类Vector在java.util包中。

(2)一个向量(Vector)对象存放的是一组有序的对象。

(3)一个向量(Vector)对象大小可以根据存放的元素个数的增加而自动增加。 (4)一个向量(Vector)对象中每个元素可以是不同类型的对象。 7.有三个字符串,编写程序找出其中最大者。

8.编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。

9.设定5个字符串,要求只打印那些以字母“b”开头的串,编写程序完成。 10.设定一个有大小写字母的字符串和一个查找字符,使用类 String方法IndexOf()来判断在该字符串中该字符出现的次数。

参考答案

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://m.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

1.答: (1)错。用= =操作符比较String对象实际上是判断它们在内存中是否为同一对象,并不是判断它们的值是否相同。

(2)错。String类的对象是常量。它们被创建后不可被修改。 2.答:

(1)s1.equals(s1,s2); (2)s1+=s2; (3)s1.length();

3.答:capacity()返回字符串对象的当前缓冲区的长度,length()返回字符串对象字符的长度。考试大收集整理

4.答:

(1)结果:Javpa Applet

(2)结果:Javpa AppletBasic (3)结果:ch长度变为5 (4)结果:apvaJ 5.答:PI、 E 6.答:(3) 7.

public class max1 {

public static void main(String args[]) {

String s1= \ String s2= \ String s3= \ String s;

if(s1.compareTo(s2)<0) s=s2; else s=s1;

if(s.compareTo(s3)<0) s=s3;

Systrm.out.println(\ } } 8.

public class out {

public static void main(String args[]) {

String s1= \

StringBuffer bufup=new StringBuffer(); StringBuffer buflow=new StringBuffer(); for(int I=0;I

{if(s1.charAt(i)<97)

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://m.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

{bufup.append(s1.charAt(i)); bufup.append(' ' ); } else {

buflow.append(s1.charAt(i)); buflow.append('' ); } }

System.out.println(\

System.out.println(\System.out.println(\} } 9.

public class prin_b

{ public static void main(String args[]) {

String s1=\String s2=\String s3=\String s4=\String s5=\

if(s1.indexOf('b')= =0) System.out.println(s1); if(s2.indexOf('b')= =0) System.out.println(s2); if(s3.indexOf('b')= =0) System.out.println(s3); if(s4.indexOf('b')= =0) System.out.println(s4); if(s5.indexOf('b')= =0) System.out.println(s5); } } 10.

public class ppp {

public static void main(String args[]) {

String s1=\int num=0; for (int i=0;i

{i=s1.indexof('e',i); num++;

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://m.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

}

System.out.print(\ if(num= =0)

System.out.println(\ else System.out.println(num); } }

自考Java语言程序设计(一)第八章Java异常处理及输入输出流简介课后习题

八、Java异常处理及输入输出流简介 1.列出5个常见的异常。

2.写出Java语言的异常处理机制的优点。

3.为什么异常处理技术不应该用于常规的程序控制? 4.引起异常产生的条件是什么? 5.异常没有被捕获将会发生什么?

6.编写一个程序,以说明catch(Exception e)如何捕获各种异常。 7.下面的代码段中finally语句块会被执行吗? public class ExceptionExam3 {

public static void main(String [] args) { try {

int [] a=new int[3]; System.exit(0); }

catch(ArrayIndexOutOfBoundsException e) {System.out.println(\发生了异常\ finally

{System.out.println(\ } }

8.throws的作用是什么?

9.应在程序的什么地方使用异常处理? 10.下面的代码有什么错误吗? class ExceptionExam{?} throw new ExceptionExam();

11.异常类型匹配的处理方式。程序功能:首先输出“这是一个异常处理的例子”,然后在你程序中主动地产生一个 ArithmeticException 类型被0 除而产生的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e的方法getMessage 给出异常的具体类型并显示出来。

12.根据所给创建自定义异常类的使用格式,编写一个自定义异常的小程序。

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://m.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

13.什么叫流?流式输入输出有什么特点?

14.Java流被分为字节流、字符流两大流类,两者有什么区别? 15.File类有哪些构造函数和常用方法? 16.利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。

17.编写一个程序,在当前目录下创建一个子目录test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。

18.位置指针的作用是什么?RandomAccessFile类提供了哪些方法实现对指针的控制?

19.编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其他符号的字符数。

20.编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a.txt文件中。采集者退散

21.编写一个程序,从键盘输入10个整数,并将这些数据排序后在标准输出上输出。

参考答案

1.答:内存耗尽、数组下标超出边界、被0除、非法的方法参数、算法溢出处。来源:考试大的美女编辑们

2.答:(1)Java通过面向对象的方法进行异常处理,把各种异常事件进行分类,体现了良好的层次性,提供了良好的接口,这种机制对于具有动态特 性的复杂提供了强有力的控制方式。(2)Java的异常处理机制使得处理异常的代码和“常规”代码分开,减少了代码的数量,增强了程序的可读性。(3) Java的异常处理机制使得异常事件可以沿调用栈自动向上传播,而不是C语言中通过函数的返回值来传播,这样可以传递更多的信息,并且简化了代码的编写。 (4)由于把事件当成事件处理,利用类的层次性我们可以把多个具有相同父类的异常统一处理,也可以区分不同的异常分别处理,使用非常灵活。

3.答:a. 异常处理用于不经常发生但通常导致程序终止的情况,因此要求编程人员为编译器的优化执行实现异常处理。b. 常规控制结构的控制流程通常比异常的更为清晰、交流更高。c. 在发生异常,并且没有释放异常发生之前分配的资源时,堆栈是展开的,所以会出现一些问题。d.“额外的”异常会妨碍真正错误类型的异常。这种使程序员更难 以跟踪大量的异常。

4.答:异常产生的方式有3种。第一种是在某些内部错误时,Java虚拟机可以产生异常,该异常不在你的程序控制范围内,通常不作处理。第二种是由程序代码中的错误引起,这种异常需要你的程序处理。第三种是通过使用throw语句手动生成的异常。

5.答:未捕获的异常最终会导致程序非正常终止。 6.public class ExceptionExam {

public static void main(String [] args) { try {

int i=0;

i=3/i;//将产生算术异常。 }

catch(ArithmeticException e)//找到了匹配的异常,执行该catch块。

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

System.out.println(\请输入10个整数:\ try{

for(int i=0;i<10;i++)

{System.out.print(\ System.in.read(b); str=new String(b); str=str.trim();

a[i]=Integer.parseInt(str); }

}catch(IOException e){

System.out.println(e.toString()); }

catch(NumberFormatException e){ System.out.println(e.toString()); }

for(int i=0;i<9;i++) for(int j=i+1;j<10;j++) {

if(a[i]>a[j]){ t=a[i]; a[i]=a[j]; a[j]=t; } }

for(int i=0;i<10;i++)

System.out.println(a[i]+\ } }

自考Java语言程序设计(一)第九章JavaApplet概述课后习题

九、Java Applet概述

1.下列方法中,哪一个不是Applet的基本方法() A、init()B、run()C、stop()D、start()

2.在Java中判定Applet的来源的方法有() A、getcodebase()B、get文档base() C、getCodeBase()D、get文档Bade() 3.下面关于Applet的说法正确的是 A、 Applet也需要main方法

B、 Applet必须继承自javawt.Applet C、 Applet能访问本地文件 D、 Applet程序不需要编译 4.Applet类的直接父类是( )

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

()

A.Component类 B.Container类

C.Frame类 D.Panel类

5.判断:一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。

6.编写同时具有Applet与Application的特征的程序。具体方法是:作为Application要定义main()方法,并且把 main()方法所在的类定义一个类。为使该程序成为一个Applet,main()方法所在的这个类必须继承Applet类或JApplet类。www.Examda.CoM考试就到考试大

7.在第一次加载Applet时,默认最先执行的方法是________。

8.调用________方法可以把HTML网页中的参数传递给Applet。来源:考试大 9.使用________方法可以从Web站点上下载声音,并调用play()方法和loop()方法播放它们。

10.Java程序可以通过调用哪个方法完成重画任务? 参考答案 1.B 2.C D 3. C 4. C 5. false 6. 主 7.init()

8.getParameter() 9.getAudioClip() 10.repaint()

自考Java语言程序设计(一)第十一章图形界面—窗体简介课后习题

十一、图形界面—窗体简介

1.判断:每个applet上只能使用一种布局管理器。()

2.判断:使用BorderLayout布局管理器时,GUI组件可以按任何顺序添加到面板上。()

3.判断:在使用BorderLayout时,最多只能包含5个组件。()

4. 判断:使用BorderLayout布局管理器时,GUI组件可以按任何顺序添加到面板上。()

5. __________用于安排容器上的GUI组件。 6. GUI是_______________的缩写。

7. 当释放鼠标按键时,将产生________________事件。 8.哪个布局管理器使用的是组件的最佳尺寸( ) A.FlowLayoutB.BorderLayout C.GridLayoutD.CardLayout

9.Frame的默认的布局管理器是下列哪一个( )

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

A.FlowLayoutB.BorderLayout C.GridLayoutD.CardLayout

10.编写程序,创建下面的GUI(不必为各组件提供功能)。考试大收集整理 参考答案 1: false 2:true 3:true 4.true

5:版面管理器 6. 图形用户界面 7. mouseReleased 8. C 9. B 10.

import javawt.*;

public class Chp9_3_A extends Frame{ TextField t=new TextField();

String[] op={\ Button[] btn=new Button[16]; Panel p=new Panel(); public Chp9_3_A(){

setLayout(new BorderLayout()); p.setLayout(new GridLayout(4,4)); for(int i=0;i

btn[i]=new Button(op[i]); p.add(btn[i]); }

add(t,BorderLayout.NORTH); add(p,BorderLayout.CENTER); setSize(400,300); }

public static void main(String[] args){ new Chp9_3_A().setVisible(true); } }

自考Java语言程序设计(一)第十二章课后习题

十二、常用组件之一________命令按钮与标签框 1.判断:标签是是一个容器。()

2.判断:在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。() 3. 用户不能修改的文本称为_______。

4.关于awt和swing说法正确的是:来源:考试大

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

A、 awt在不同操作系统中显示相同的风格。 B、 swing在不同的操作系统中显示相同的风格 C、 javawt的子类

D、 awt和swing都支持事件模型

5. 下列_________用户图形界面组件在软件安装程序中是常见的。 a.滑块

b.进度条来源:考试大 c.对话框 d.标签

6. 包含可单击按钮的类的Java类库是__________。 a.AWT b.Swing

c.二者都有来源:www.examda.com d.二者都没有

7. 下面的__________用户界面组件不是容器。 a.JScrollPane

b.JFrame考试大-全国最大教育类网站(www.Examda。com) c.JWindows d.JScrollBar

8.创建下面的GUI,颜色列表框为红色、绿色和蓝色(不必为各组件提供功能)。 参考答案 1.false 2.true 3.标签 4.B D 5.B 6.C 7.D

8. 参考程序如下: import javawt.*;

public class Chp9_3_B extends Frame{ Choice ch;

Checkbox bg,fg;

Button btnOK,btnCancel; Panel p,p1,p2;

public Chp9_3_B(){ p=new Panel();

p.setLayout(new GridLayout(2,1)); p1=new Panel(); p2=new Panel();

p1.setLayout(new FlowLayout()); p2.setLayout(new FlowLayout()); ch=new Choice(); ch.add(\红色\

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

ch.add(\绿色\ch.add(\蓝色\

bg=new Checkbox(\背景\fg=new Checkbox(\前景\p1.add(bg); p1.add(fg);

btnOK=new Button(\确定\btnCancel=new Button(\取消\p2.add(btnOK); p2.add(btnCancel); p.add(p1); p.add(p2);

add(ch,BorderLayout.NORTH); add(p,BorderLayout.CENTER); setSize(400,300); }

public static void main(String[] args){ new Chp9_3_B().setVisible(true); } }

自考Java语言程序设计(一)第十三章课后习题

十三、常用组件之二 _______单行文本框与多行文本框,单选框和复选框 1. 判断:列表对象总包含滚动条。()

2.判断:面板的默认管理器是BorderLayout。

3.____________类用于创建一组单选按钮。来源:考试大

4. 欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个

AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件: A、 TextArea B、 Panel C、 Applet D、 Canvas

5.Java应用程序中的默认外观是_________。 A.Motif B.Windows C.METAl

6. 创建下面的GUI,要求在文本框中输入分数,单击“求和”按钮后在结果文本框中显示总分。

7.编写一个将华氏温度转换为摄氏温度的程序。应从键盘输入华氏温度,然后通

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

过文本显示转换后的摄氏温度。使用下面的公式进行温度转换:

摄氏温度=5/9Χ(华氏温度-32)

8.编写一个程序,使用户能够使用鼠标在applet中绘制一个矩形。按住鼠标左键,确定矩形的左上角,然后拖动鼠标,在需要的位置(即矩形右下角)释放鼠标。另外,在状态栏中显示矩形面积。

参考答案 1.false 2.true

3. CheckboxGroup 4.D 5. C

6. 参考程序如下:

import javawt.*;来源:考试大 import javawt.event.*;

public class Chp9_3_C extends Frame implements ActionListener{ TextField textField1,textField2,textField3; Button button1=new Button(\求和\ Panel panel1,panel2; public Chp9_3_C(){

textField1=new TextField(); textField2=new TextField(); textField3=new TextField(); panel1=new Panel(); panel2=new Panel();

panel1.setLayout(new GridLayout(3,2)); panel2.setLayout(new FlowLayout()); panel1.add(new Label(\数学: \ panel1.add(textField1);

panel1.add(new Label(\英语: \ panel1.add(textField2);

panel1.add(new Label(\总分: \ panel1.add(textField3); panel2.add(button1);

add(panel1,BorderLayout.CENTER); add(panel2,BorderLayout.SOUTH); button1.addActionListener(this); setSize(300,200); setVisible(true); }

public static void main(String[] args){ new Chp9_3_C(); }

public void actionPerformed(ActionEvent e){ int n1,n2,sum;

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

n1=Integer.parseInt(textField1.getText()); n2=Integer.parseInt(textField2.getText()); sum=n1+n2;

textField3.setText(\} }

6.参考程序如下: import javawt.*;

import javawt.event.*;

public class Chp9_3_D extends Frame{ TextField textField1,textField2; Button button1; public Chp9_3_D(){

textField1=new TextField(30); textField2=new TextField(30); button1=new Button(\转换\setLayout(new FlowLayout()); add(new Label(\华氏温度:\add(textField1);

add(new Label(\摄氏温度:\add(textField2);

textField2.setEditable(false); add(button1); setSize(400,300); pack();

button1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ button1_actionPerformed(e); } });

addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); }

public static void main(String[] args){ new Chp9_3_D().setVisible(true); }

private void button1_actionPerformed(ActionEvent e){ double d=Double.parseDouble(textField1.getText()); double h=5.0/9.0*(d-32); textField2.setText(\}

更多优质自考资料尽在百度贴吧自考乐园俱乐部

(http://tieba.http://www.wodefanwen.com//club/5346389)欢迎?加入...欢迎?交流...止不住的惊喜等着你.........

}

7.参考程序如下: import javapplet.Applet; import javawt.*;

import javawt.event.*; public class Chp9_3_E MouseListener,MouseMotionListener{

int x1,y1,x2,y2; public void init(){

addMouseListener(this);

addMouseMotionListener(this); }

public void paint(Graphics g){ g.drawRect(x1,y1,x2,y2);

int area=Math.abs(x2-x1)*Math.abs(y2-y1); showStatus(\矩形面积: \ }

//implementation of MouseListener

public void mousePressed(MouseEvent e){ x1=e.getX(); y1=e.getY(); }

public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} //implementation of MouseMotionEvent public void mouseDragged(MouseEvent e){ x2=e.getX(); y2=e.getY(); repaint(); }

public void mouseMoved(MouseEvent e){} }

extends Applet implements

本文来源:https://www.bwwdw.com/article/4197.html

Top