当前位置:文档之家› 自考Java语言程序设计(一)第五章以后课后习题及答案

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

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

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

自考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("Tom");

}

public Test(String s){

super(s);

System.out.println("How do you do?");

}

public Test(){

this("I am Tom");

}

} www.Ehttps://www.doczj.com/doc/8815393445.html,

class TT{

public TT(){

System.out.println("What a pleasure!");

}

public TT(String s){

this();

System.out.println("I am "+s);

}

}

结果:________

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

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

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

参考答案:

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

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

2.答:

父类SuperClass

父类的域data来源:考试大的美女编辑们

父类的方法setData(),getData()

子类SubClass

子类的域data,subData

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

3.答:这种说法是错误的,因为子类不一定能继承父类的所有域和方法,它只能

继承所有非私有的域和方法。如果子类在继承之外自己定义的域和方法数目小于父类中私有成员的数目,则子类的域和方法的数目小于父类的域和方法的数目|考试大收集整理

4. true

5. A D

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.一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象方法?

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_https://www.doczj.com/doc/8815393445.html,plexAdd(cNumber_2).toString());

System.out.println(cNumber_1.toString() + " 加"

+ d + " 等于"

+ cNumber_https://www.doczj.com/doc/8815393445.html,plexAdd(d).toString());

System.out.println(cNumber_1.toString() + " 减"

+ cNumber_2.toString() + " 等于"

+ cNumber_https://www.doczj.com/doc/8815393445.html,plexMinus(cNumber_2).toString()); System.out.println(cNumber_1.toString() + " 减"

+ d + " 等于"

+ cNumber_https://www.doczj.com/doc/8815393445.html,plexMinus(d).toString()); System.out.println(cNumber_1.toString() + " 乘"

+ cNumber_2.toString() + " 等于"

+ cNumber_https://www.doczj.com/doc/8815393445.html,plexMulti(cNumber_2).toString()); System.out.println(cNumber_1.toString() + " 乘"

+ d + " 等于"

+ cNumber_https://www.doczj.com/doc/8815393445.html,plexMulti(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)

{

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)

{来源:https://www.doczj.com/doc/8815393445.html,

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()

{

return "(" + m_dRealPart + " + "

+ m_dImaginPart + " i" + ")";

}

}

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)类V ector在java.util包中。

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

(3)一个向量(Vector)对象大小可以根据存放的元素个数的增加而自动增加。

(4)一个向量(Vector)对象中每个元素可以是不同类型的对象。

7.有三个字符串,编写程序找出其中最大者。

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

9.设定5个字符串,要求只打印那些以字母“b”开头的串,编写程序完成。

10.设定一个有大小写字母的字符串和一个查找字符,使用类String方法IndexOf()来判断在该字符串中该字符出现的次数。

参考答案

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= "Hello Java";

String s2= "Java Applet";

String s3= "Java";

String s;

if(https://www.doczj.com/doc/8815393445.html,pareTo(s2)<0)

s=s2;

else s=s1;

if(https://www.doczj.com/doc/8815393445.html,pareTo(s3)<0)

s=s3;

Systrm.out.println("big="+s);

}

}

8.

public class out

{

public static void main(String args[])

{

String s1= "Hello Java";

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

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

{bufup.append(s1.charAt(i));

bufup.append(' ' );

}

else {

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

buflow.append('' );

}

}

System.out.println("s1= "+s1);

System.out.println(" uppercase= "+bufup); System.out.println(" lowercase= "+buflow); }

}

9.

public class prin_b

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

String s1="hello";

String s2="bee";

String s3="java";

String s4="brove";

String s5="bag";

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="abcdefghi";

int num=0;

for (int i=0;i

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

num++;

}

System.out.print(" s1="+s1+"e=");

if(num= =0)

System.out.println(" no found");

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("Finally");}

}

}

8.throws的作用是什么?

9.应在程序的什么地方使用异常处理?

10.下面的代码有什么错误吗?

class ExceptionExam{…}

throw new ExceptionExam();

11.异常类型匹配的处理方式。程序功能:首先输出“这是一个异常处理的例子”,

然后在你程序中主动地产生一个ArithmeticException 类型被0 除而产生的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e的方法getMessage 给出异常的具体类型并显示出来。

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

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块。

{

System.out.println("发生了ArithmeticException异常");

}

catch(AarryIndexOutOfBoundsException e)//不是匹配的异常,且不会再捕获

//异常,如果发生数组索引超出范围所产生的异常,将执行该catch块。

{

System.out.println("发生了AarryIndexOutOfBoundsException异常");

}

catch(Exception e)

//前两个catch块均无法捕获try块中发生的异常时,才会执行该catch块。

{

System.out.println("发生了异常");

}

finally

{ System.out.println("执行d Finally"); }

}

}

7.答:无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代码块。即无论try是否正常结束,都会执行finally定义的最后的代码。如果try代码块中的任何代码或它的任何catch语句从方法返回,也会执行finally代码块。但本题中在try代码块中执行了“System.exit(0);”语句,执行了这一语句后,Java虚拟机(JVM)将被终止。那么finally语句块一定不会被执行。

8.答:在某些情况下,如果一个方法产生自己不处理或无法处理的异常,它就必须在throws子句中声明该异常。

9.答:通常,可以采用两种方式来报告错误:返回值和异常。在Java中异常处理很常用,虽然返回错误代码在某些情况下是一种有效的方式,但是异常处理可以提供强大的结构化方法来处理异常。所以需要处理代码中的错误时就可以采用异常的方法进行处理。

10.答:ExceptionExam不是继承(扩展)Throwable的子类,只有Throwable的子类可以由throw抛出。所以,这一段代码会出错。

11.

public class ExceptionExam1

{

public static void main(String [] args)

{

try

{int i=0;

i=3/i;

}

catch(ArithmeticException e)

{

System.out.println("异常是:"+e.getMessage());

}

finally

{

System.out.println("finally 语句被执行");

}

}

}

注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception 是ArithmeticException 的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。

12.

class Excp1 extends Exception

{}

class Excp2 extends Excp1

{}

public class ExceptionExam7

{

public static void main(String [] args) throws Exception

{

try

{

throw new Excp2();

}

catch(Excp2 e)

{

System.out.println("catch1");

throw new Excp1();

}

catch(Excp1 e)

{

System.out.println("catch2");

throw new Exception();

}

catch(Exception e)

{

System.out.println("catch3");

}

finally

{

System.out.println("finally");

}

}

}

说明:自定义异常类,关键是选择继承的超类——必须是Exception或者其子类。用异常代表错误,而不要再使用方法返回值。

13.答:所谓流是指同一台计算机或网络中不同计算机之间有序运动着的数据序列,Java把这些不同来源和目标的数据都统一抽象为数据流。数据流可分为输入流和输出流,输入流代表从其他设备流入计算机的数据序列,输出流代表从计算机流向外部设备的数据序列。

流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出之后才能被读写。所以流和队列一样,只能以“先进先出”的方式对其中的数据进行读写,而不能随意选择读写的位置。

14.答:两者都作为Object类的直接子类,基本输入流(无效Stream)和基本输出流(OutputStream)是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字符流的类。

15.答:构造函数有:

(1)public File(String pathname):创建一个对应于参数pathname的File类对象。参数pathname是包含目录和文件名的字符串。如果没有文件名,则代表目录。

(2)public File(String parent , String child):该构造函数将pathname分成两部分parent 和child,参数parent表示目录或文件所在路径,参数child表示目录或文件名称。

(3)public File(File parent, String child):该构造函数与上面一个不同在于将parent 的参数类型由String变为File,代表parent是一个已经创建的File类文件对象(指向目录)。

常用方法有:

(1)public boolean canWrite( ):返回文件是否可写。

(2)public boolean canRead( ):返回文件是否可读。

(3)public boolean createNewFile( ):当文件不存在时创建文件。

16.

import java.io.*;

class CopyFile{

public static void main(String[] args) {

String file1,file2 ;

int ch = 0 ;

try {

file1=args[0];

file2=args[1];

File无效Stream fis = new File无效Stream(file1);

FileOutputStream fos=new FileOutputStream(file2);

while ((ch=fis.read())!=-1)

fos.write(ch);

fis.close();

fos.close();

}

catch(FileNotFoundException e){

System.out.println("源文件:未找到!");

}catch(ArrayIndexOutOfBoundsException e){

System.out.println("缺少运行参数!");

System.exit(-1);

}

catch (IOException e){

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

}

}

}

17.答:

import java.io.*;

public class NewFile{

public static void main(String args[]){

File f=new File("test");

if(f.exists()&&f.isDirectory())

System.err.println("目录:"+f.toString()+"已经存在!");

else{

if(f.mkdir()){

System.out.println("目录"+f.getAbsolutePath()+"创建结束!");

File f2=new File(f,"my.txt");

try{

f2.createNewFile();

f2.setReadOnly();

}catch(IOException e){

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

}

System.out.println("文件:"+f2.getAbsoluteFile()+"创建结束!");

}

else

System.out.println("目录"+f.getAbsoluteFile()+"创建失败!");

}

}

}

18.答:要实现对文件的随机读取,也就是在文件的任何位置执行读写数据的操作,需要一个指针来指定读写的位置。在创建RandomAccessFile类对象的同时,系统自动创建了一个指向这个文件开头的指针,当执行读写操作后,指针自动指向被读写数据之后的第一个字节处。指针初始值是0,每读/写一个字节,指针自动增加1。RandomAccessFile类提供了一些控制指针移动的方法。

public long getFilePointer();获取当前指针指向文件的位置。考试大论坛

pulbic void seek(long pos);将指针移动到参数pos指定的位置。

public int skipBytes(int n);指针从当前位置向后移动n个字节位置,并返回指针实际移动的字节数。

19.答:

import java.io.*;

public class Count{

public static void main(String[] args)

{

int x=0,y=0,z=0;

int ch;

try{

while((ch=System.in.read())!='\r'){

if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')

x++;

else if(ch>='0'&&ch<='9')

y++;

else

z++;

}

}catch(IOException e){

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

}

System.out.println("英文字母:"+x);

System.out.println("数字字符:"+y);

System.out.println("其它字符:"+z);

}

}

20.答:

import java.io.*;

public class InFile{

public static void main(String[] args)

{

int ch;

try{

FileOutputStream out=new FileOutputStream("a.txt"); while((ch=System.in.read())!='\r'){

System.out.write(ch);

out.write(ch);

}

out.close();

System.out.write('\n');

}catch(IOException e){

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

}

System.out.println("输出至文件完毕!");

}

}

21.答:

import java.io.*;

public class Sort{

public static void main(String args[])

{

int a[]=new int[10];

byte b[]=new byte[10];

int t;

String str;

System.out.println("请输入10个整数:");

try{

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

{System.out.print("No. "+(i+1)+": ");

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]+"\t");

}

}

自考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类的直接父类是( )

https://www.doczj.com/doc/8815393445.html,ponent类

B.Container类

C.Frame类

D.Panel类

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

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

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.FlowLayout

B.BorderLayout

C.GridLayout

D.CardLayout

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

A.FlowLayout

B.BorderLayout

C.GridLayout

D.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={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};

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说法正确的是:来源:考试大

A、awt在不同操作系统中显示相同的风格。

B、swing在不同的操作系统中显示相同的风格

C、javawt的子类

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

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

a.滑块

b.进度条来源:考试大

c.对话框

d.标签

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

a.AWT

b.Swing

c.二者都有来源:https://www.doczj.com/doc/8815393445.html,

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());

java入门到精通课后练习和答案(1-6章)

1.9练一练 一.填空题 1.运行编译后的class文件,需要输入命令java 2.JVM是指java虚拟器 3.Java程序源文件扩展名为java 二,简答题 1.简述java语言的特点 (1)简洁有效(2)可移植性(3)面向对象(4)解释型(5)适合分布式计算 2.java虚拟器的作用是什么? 答:保证编译后的java代码能够在安装java虚拟器的系统上运行。 2.5练一练 一.填空题 1.java程序是从main()处开始运行的。 2.在java中,多行注释的开始和结束标记分别为/*和*\。 3.声明1个名称“count”的整形变量的语句为int count; 4.Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 二、简答题 1.简述设置变量的3种方法。 (1)在声明前设置 (2)在声明后设置 (3)在任何位置声明设置 2.简述提高程序可读性的两种方法。 *添加注释*使用缩进方法编写 3.4练一练 1.Eclipse是IBM花巨资开发的IDE集成开发环境(Intergrated Development Environment)。 2.【源代码】菜单中所包含的命令都是和代码编写相关的,主要用于源代码工作。 3.选择【文件】>【新建】>【项目...】命令,打开【新建项目】对话框。 二.简答题 1.Eclipse提供了哪两种程序调试方式? *java应用程序*调试 2.取消Eclipse启动时出现的设置工作空间的对话框的具体方法是什么? Eclipse启动时在【设置工作空间】的对话框中选中【将此值用作缺省值并且不再询问】复选框。 4.3练一练 1.变量是利用声明的方式,将内存中的某个块保留下来以供程序使用 2.常量就是固定不变的量,一旦被定义,它的值就不能再被改变。 3.当常量用于一个类的成员变量时,必须给常量赋值,否则会出现编译错误。 二.简答题 1.简述变量的命名规则 Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 2.按作用范围划分,变量是如何划分的?

自考Java语言程序设计试题及答案解析

自考J a v a语言程序设计试题及答案解析 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5 4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展

B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( )方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,并让该对象调用start( )方法。 8.大多数采用缓冲式输入数据文件的程序的主要目的是 A.用readLine( )方法按行输入字符 B.提高输入速度 C.更快地读入字符数据 D.用read( )方法输入任意个字符 9.在打开文件对话框时,可用FileFilter类设置筛选条件,在以下供选择的方法中,是 FileFilter类预设的方法之一的是 A.setFileFilter( ) B.addFileFilter( ) C.accept( ) D.setDescription( ) 10.对访问数据库的Java程序来说,DriverManager类的作用是

java课后题答案

第1章Java概述 1.编译java application源程序文件将产生相应的字节码文件,这些字节码文件别 的扩展名为、java 2.执行一个java程序fristapp的方法就是运行java fristapp 3.main()方法的返回类型就是void 4.在java代码中,public static void main方法的参数描述正确的就是string args 【】,string【】args 5.内存的回收程序负责释放无用内存√ 6.java体系主要分为java ME,Java SE,JavaEE三大块 第2章Java基础 1.Java语言中,下列标识符错误的就是40name 2.java变量中,以下不属于引用类型的数据类型就是字符型 3.double d=5、3E12 × 4.C 5.A 6.for循环的一般形式为;for(初值;终值;增量),以下对for循环的叙述,正确 的就是初值与增量都就是赋值语句,终值就是条件判断语句 7.当输入下面选项中3值时,将会输出default 8.下面哪种方法能够支持javadoc命令/**…*/ 9.下面声明一个string类型的数组正确的就是string str[] 10.下面定义一个整型数组,不合法的就是int[][]array=new int[][4]; 11.给定代码;。。。。。下面叙述正确的就是输出的结果为:0 12.java语言规定,标示符只能由字母,数字美元符$与下划线租成,并且第一个 字符不能就是数字;java就是区分大小写的。 13.表达式1/2*3的计算结果就是0;设x=2,则表达式(x++)/3的值就是0 14.数组的长度可以用其属性lengt h获得;创建一个数组对象可以使用new关键 字创建 第3章面向对象基础 1.在java中引用对象变量与对象间有什么关系?引用变量就是指向对象的一个指针 2.对象就是面向对象技术的核心所在,在面向对象程序设计中,对象就是累的抽象× 3.构造方法何时被调用?创建对象时 4.A,B,D 5.在java语言中在包p1中包含包p2,类A直接隶属于p1,类B直接隶属于包p2、在类c中 要使用类a的方法与类b的方法b,需要选择import p1、*; import p1、p2,*;

全国高等教育自学考试高级语言程序设计

全国高等教育自学考试高级语言程序设计 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

2001年10月全国高等教育自学考试高级语言程序设计(一) 试卷 第一部分选择题 一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1. C语言程序编译时,程序中的注释部分【】 A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中 2. 下列表达式的值为0的是【】 A. 3﹪5 B. 3/ C. 3/5 D. 3<5 3. 正确的C语言用户自定义标识符是【】 A. print B. float C. when?

D. random﹪2 4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是【】 A. 0和2 B. 0和3 C. 1和2 D. 1和3 5. 下列叙述中,正确的是【】 A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致 B. 宏名必须用大写字母表示 C. 宏替换不占用运行时间,只占编译时间 D. 在程序的一行上可以出现多个有效的宏定义 6. 下列保留字中用于构成循环结构的是【】 A. if B. while C. switch D. default 7. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是【】 A. if(a>b){if(c>d) x = 1;else x = 2;} B. if(a>b){if(c>d) x = 1;} else x = 2;

Java基础入门课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;

自考Java语言程序设计试题及答案解析

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5

4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展 B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( ) 方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并 调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,

自考高级语言程序设计复习题

2013年海南省衔接课程考试 高级语言程序设计复习题 一、单项选择题(在每小题列出的四个选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选或未选均无分。) 1、在以下给出的表达式中,与while E中的E不等价的表达式是()。 A)(!E=0) B)(E>0||E<0) C)(E==0) D)(E!=0) 2、若x和y是代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。 A)abs(x-y)<10 B)x-y>-10&&x-y<10 C) @(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 3、以下能够正确判断char型变量c是否为大写字母的表达式是()。 A) (‘A’<=c)AND (‘Z’>=c) B)(‘A’<=c)& (‘Z’>=c) C)(‘A’<=c) && (‘Z’>=c) D)以上答案都不对 4、下列叙述正确的是()。 A) break语句只能用于switch语句 B)在switch语句中必须使用default C) break语句必须与switch语句中的case配对 D)在switch语句中,不一定使用break语句 5、以下选项中,不能看作一条语句的是()。 A){ ;} B)a=0,b=0,c=0; C) if(a>0); D)if(b==0) m=1;n=2; 6、以下程序段中与语句k=a>b?(b>c?1:0):0)功能等价的是()。 A) if(a>b&&(b>c)) k=1; B) if(((a>b)||(b>c)) k=1; else k=0; else k=0; C)if(a<=b) k=0; D)if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0; 7、若有以下程序: main() { int y=10; while(y--); printf(“y=%d\n”,y); }

JAVA实用教程(第三版)课后习题答案

第一章Java语言概述 2.“java编译器将源文件编译为的字节码文件是机器码”这句话正确吗? 答:不正确 3.java应用程序的主类必须含有怎样的方法? 答:含有main方法 4。“java应用程序必须有一个类是public类”这句话正确吗? 答;不正确,只能有一个public类 5。“java Applet程序的主类必须是public类”这句话正确吗? 答:正确,因为java Applet主类必须是Applet类的子类并且是public 的类 6。请叙述java源程序的命名规则。 答:与public的类同名。 7。源文件生成的字节码文件在运行时都加载到内存中吗? 答:非也,动态随需要运行才加载。 8.面向对象的程序设计语言有那些基本特征? 答:封装;继承;多态性。 9.在Java程序中有多个类文件时,用Java命令应该运行那个类?答:具有main方法的类 第二章基本数据类型和数组 4。下列哪些语句是错的?

Int x=120; Byte b=120; b=x; 答:B=x;错应为b=(byte)x 5。下列哪些语句是错的? 答:y=d;错,应y=(float)d 6。下列两个语句是等价的吗? Char x=97; Char x=…a?; 答:是等价的。 7。下列system.out.printf语句输出结果是什么? Int a=97; Byte b1=(byte)128; 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,127 8.数组是基本数据类型吗?怎样获取数组的长度? 答:不是基本数据类型,是复合数据类型。可以通过:数组名.length

《Java语言程序设计(一)》课后习题答案全集

1.1 指出JAVA语言的主要特点和JAVA程序的执行过程。 答:(1)强类型; (2)编译和解释; (3)自动无用内存回收功能; (4)面向对象; (5)与平台无关; (6)安全性; (7)分布式计算; (8)多线程; 程序执行过程如图所示: 编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。 1.2 说出开发与运行JAVA程序的重要步骤。 答:(1)编写源文件:使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java; (2)编译Java源文件:使用Java编译器(javac.exe)编译源文件得到字节码文件; (3)运行Java程序:Java程序分为两类——Java应用程序必须通过Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。 1.3 如何区分应用程序和小应用程序? 答:应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口; 小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。 1.4 说出JAVA源文件的命名规则。 答:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。 1.6 JAVA语言使用什么字符集?共有多少个不同的字符? 答:Java语言使用Unicode字符集,共有65535个字符。 1.7 JAVA语言标识符的命名规则是什么? (1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成 (2)限定标识符的第一个字符不能是数字字符 (3)不能和关键字重名 (4)长度不能超过255个字符 1.8 JAVA有那些基本数据类型,它们的常量又是如何书写的?

java课后习题及答案

第一章JA V A语言概论 一、选择题 1. 下列不属于java语言特点的是:B A. java能检查程序在变异和运行时的错误 B. java 能运行虚拟机实现跨平台 C. java 自己操纵内存减少了内存出错的可能性 D. java 还实现了真数组,避免了覆盖数据的可能 2. java语言的执行模式是:C A. 全编译型 B. 全解释型 C. 半编译和半解释型 D. 同脚本语言的解释模式 3. 下列关于虚拟机说法错误的是:B A. 虚拟机可以用软件实现 B. 虚拟机部可以用硬件实现 C. 字节码是虚拟机的机器码 D. 虚拟机把代码程序与各操作系统和硬件分开 4. java语言是1995年由()公司发布的A A. Sun B. Microsoft C. Borland D. Fox Software 5. 下列不是虚拟机执行过程特点的是A A. 双线程 B. 多线程 C. 动态链接 D. 异常处理 6. java以JVM为基础,最下层是移植接口,由适配器和()组成B A. 网卡 B. Java os C. Java基本类 D. Java 应用程序和applet小程序 7. java程序的执行过程中用到一套JDK工具,其中javac.exe指A A. java语言编译器 B. java字节码解释器 C. java文档生成器 D. java类分解器 8. java的API结构中,不属于类库主要包括的核心包的是C A. java包 B. javax C. javadoc包 D. org扩展包 9. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的A

2016年10月自考Java语言程序设计(一)04747

2016年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一)试卷 (课程代码 04747) 本试卷共9页,满分l00分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。 4.合理安排答题空间,超出答题区域无效。 第一部分选择题(共l0分) 一、单项选择题(本大题共l0小题,每小题l分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。淘宝店铺自考达人 V信1297755429 1.在下述字符串中,不是Java余言关键字的是 A.int B.static C.java D.try 2.要作下列数据类型转换,需进行强制类型转换才能实现的是 A.从int到char B.从int到 long C.从lloat到 double D.从byte到 int 3.在以下供选择的概念中,属于面向对象语言重要概念或机制的是 A.方法 B.模块 C.线程 D.继承 4.在下述Java程序代码中,能正确创建数组的是 A.int myA[5]={1,2,3,4,5); B.int myA[]=new int(5); C.int myA[];myA[]=new int[5]; D.int[]myA={1,2,3,4,5,6};5.某Java程序的类A需要利用Swin9创建无边框窗口,则A需要继承的类是A.JWindow B.JApplet C.JFrame D.JDialog 6.在以下供选的鼠标事件中,MouseMotionListener接口能处理的是 A.按下鼠标键 B.拖动鼠标 C.鼠标进入 D.鼠标松开7.在以下代码中,能正确创建Font对象的是 A.new Font(″宋体″,斜体,20); B.new Font(″楷体″,20,正常);C.new Font(″楷体″,Font.BOLD,l 8); D.new Font(″楷体″,1 8,Font.BOLD);8.某线程正处于运行状态,则在以下选项中,不可能是它的后继状态的是 A.就绪状态 B.新建状态 C.阻塞状态 D.死亡状态 9.某Java程序用类JFileChooser来实现打开和保存文件对话框。当对话框的返回 值是JFileChooser.APPROVE_OPTION时,程序进一步的工作是 A.用方法getName()取得文件名称 B.用方法getPathO()取得文件路径 C.用方法getFile()取得文件内容 D.用方法getSelectedFile()取得文件对象 10.Java语言实现C/S模式时,需要使用网络套接字,套接字的内容包括 A.IP地址+端口号 B.IP地址+监控线程名 C.监控线程名+端口号 D.IP地址+监控线程名+端口号 第二部分非选择题(共90分) 二、填空题(本大题共l0小题,每空2分,共20分) 11.一个Java小应用程序必须定义成一个子类,它的超类是______。 12.在Java语言中,左移运算符是______。 13.类A的成员变量x的类型是类B的,则类A和类B之间的关系是______。14.以下代码: 的输出结果是_______。 15.在JFrame子类的构造方法中,代码getContentPane0的作用是_______。16.用JScrollBar创建一个垂直滚动条对象时,需要指定的常量是_______。17.在异或模式下绘图时,实际绘制的颜色是由3种颜色作特定的运算确定的:当前正要绘 制的颜色、原先绘制的颜色以及_______。 18.处于运行状态的线程执行yield()方法,该线程将进入_______状态。 19.在Java语言中,客户端使用的套接字类是_______。 20.在Java语言中,DriverManager类的作用是加载驱动程序和_______。

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

《Java基础入门》课后章节习题及答案(完整版)

《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言

C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre; 三、问答题 1、简述Java的特点。 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、简述JRE与JDK的区别。

《Java基础入门》_课后习题答案解析__1~

第1章 Java开发入门 一、填空题 1、Java EE、Java SE、Java ME 2、JRE 3、javac 4、bin 5、path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程 序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 四、编程题 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 第2章 Java编程基础 一、填空题 1、 class 2、 true和false 3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、 1、2、4、8 6、 & && | || 7、 0 8、 5 9、 34 10、56 二、判断题 1、错 2、对 3、错 4、对 5、错

高级语言程序设计自考模拟10

[模拟] 高级语言程序设计自考模拟10 单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。 第1题: 下列不属于面向机器语言的是( ) A.符号语言 B.二进制语言 C.汇编语言 D.C语言 参考答案:D 答案解析: 第2题: 设int b=2;表达式(b<<2)/(b>>1)的值是( ) A.2 B.4 C.6 D.8 参考答案:D 答案解析: 左移位运算移一位相当于乘2,右移位运算右移一位相当于除2。 第3题: 设置变量定义为:int a=0x53;int b=6;,求表达式~a|b的值(假定现有计算机字长为16)( ) A.82 B.-82 C.72 D.-72 参考答案:B 答案解析: 因计算机字长为16.故a的二制表示是0000000001010011,b的二进制表示是0000000000000110。运算符"~"自右向左结合,运算符"|"是自左向右结合;且运算符"~"的优先级高于运算符"|"的优先级,则进行计算的顺序是"(~a)|b"。最终计算结果是1111111101010010(十进制值为-82)。 第4题:

为了判定两个字符串是否相等应当使用( ) A.if(s1==s2) B.if(s1=s2) C.if(strcmp(s1,s2)==0) D.if(strcmp(s1,s2)=0) 参考答案:C 答案解析: 第5题: 设char c[5]={'a','b','\0','C','\0');则printf("%s",c);的输出是( ) A.'a''b' B.ab C.abc D."ab\0c" 参考答案:B 答案解析: 第6题: 以下程序的运行结果是( ) #include<stdio.h>main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12};int *p=&a[5],*q=NULL;printf("%d%d\n",*p,*q);} A.运行后报错 B.6 0 C.6 12 D.5 5 参考答案:A 答案解析: #include<stdio.h> main() { int a[]={1,2.3.4,5,6,7,8,9,10,11,12}; int*p=&a[5],*q=NULL; printf("%d%d\n",*P,*q);/*被置空的指针不能参与"*"运算*/ } 第7题: 当执行以下程序段时( ) do{y--;}while(--y) printf("%d\n",y--); A.循环体将执行一次 B.循环体将执行两次 C.循环体将执行无限次 D.系统将提示有语法错误

Java程序的设计课后复习题参考答案

高等院校计算机基础教育规划教材《Java 程序设计》课后习题参考答案 ――大学 习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。

java课后练习题答案

一、选择题 1、在创建某类的对象时应该(C ) A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能使用对象 C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D、以上述说法都对 2、以下说法中对Java中定义的父类与子类的关系描述正确是的(C ) A、一个子类可以有多个父类,一个父类也可以有多个子类 B、一个子类可以有多个父类,但一个父类只可以有一个子类 C、一个子类可以有一个父类,但一个父类可以有多个子类 D、上述说法都不对 3、给定如下Java 程序片断: class A { public A() { System.out.print ("Java"); }} class B extends A { public B() { System.out.print (" Welcome"); } public static void main(String[] args) { B b=new B(); } }上述程序将( B) A、不能通过编译 B、通过编译,输出为: Java Welcome C、通过编译,输出为: Welcome D、通过编译,输出为: Java 4、给定以下程序段,如下: int i=0,j=-1; switch(i) { case 0:j=1; case 2:j=2; default:j=5; } System.out.print("j="+j); 编译运行,正确的是(D) A、j=-1 B、j=1 C、j=2 D、j=5 5、下面关于Java构造函数的描述正确的是(D ) A、类必须有显式定义构造函数 B、它的返回类型是void C、它和类有相同的名称,但它不能带任何参数 D、以上描述都是错误的 6、在Java编程中,用来执行Java类文件的命令是(B ) A、javac B、java C、appletviewer D、以上都不对 7、如下程序片段,体现了Java的( B) 概念 public void aMethod(String s) {........} public void aMethod(int i) {........}

00342高级语言程序设计自考机考答案

高级语言程序设计(一)(00342) 一、选择题(共75小题,每题2分,共150分) 1-5 BBCDB 6-10 CBAAC 11-15 DACBC 16-20 BACAA 21-25 CCCBB 26-30 DACDD 31-35 CDCDC 36-40 DBADD 41-45 CACCD 46-50 BBCBB 51-55ABCDC 56-60BCBAA 61-65DCDCD 66-70CDBAA 71-75DBADD 二、判断题(共25小题,每题2分,共50分) 1-5 ????6-10 ????11-15 ????16-20 ????21-25 ???? 三、名词解释题(共25小题,每题4分,共100分) 1、答:所谓函数的调用,是指一个函数(调用函数)暂时中断本函数的运行,转而执行另一个函数(被调用函数)的过程。 2、答:计算机能直接识别和接受的二进制代码。 3、答:由.OBJ文件转化而成的.EXE文件,即计算机可以识别、执行的程序。 4、答:即一组计算机能识别和执行的指令。 5、答:在程序中要指定用到哪些数据以及这些数据的类型和数据的组织性形式,就是数据结构。 6、答:用一个符号代表一个常量,称为符号常量。 7、答:在计算机高级语言中,用来对变量、符号变量名、函数、数组、类型等命名的有效字符序列统称为标识符。 8、答:用关系运算符将两个数值或数值表达式连接起来的式子,称关系表达式。 9、答:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。 10、答:函数的首行(即函数首部)称为函数原型。 11、答:即要求计算机进行操作的步骤,可以用言语描述,也可以用流程图描述。 12、答:将已设计好的算法用计算机语言来表示,即根据已经细化的算法正确写出计算机程序。 13、答:如果一个变量在某个文件或函数范围内是有效的,就称该范围为该变量的作用域。 14、答:如果在程序中定义了一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址),称为这个函数的指针。 15、答:一个数组,若其元素均为指针类型数据,称为指针数组。 16、答:所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(所占多少字节)

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application 的入口方法main()的检验: main()方法的参数名就是否可以改变? main()方法的参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法的参数名可以改变。(2)main()方法的参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译不?如果能编译,能运行不? 参考答案:当一个程序没有main()方法就是,就是可以编译通过的,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? byte i = 127; byte j = 128; long l1 = 999999; long l2 = 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与long l2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 = 3、5; float f2 = 3、5f; 参考答案:java中浮点型的数据在不声明的情况下都就是double型的,如果要表示一个数据就是float型的,必须在数据后面加上“F”或“f”;因此,float f1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型的,但就是int类型无法转换为char类型的;(2)int 可以转换为double类型的,但就是double类型无法转换为int 类型的。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1) 4+5 == 6*2 (2) (4=5)/6 (3) 9%2*7/3>17 (4) (4+5)<=6/3 (5) 4+5%3!=7-2 (6) 4+5/6>=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法的。 7、下列()就是合法的Java标识符。 (1) Counter1 (2) $index, (3) name-7 (4) _byte (5) larray (6) 2i

JAVA课本课后习题答案

实验与训练参考代码 目录 第1章了解Java (2) 第2章面向对象的“对象” (8) 第3章对象的属性---变量详述 (11) 第4章对象的行为---成员方法详述 (15) 第5章生命周期及作用域 (21) 第6章Java常用类与函数库 (23) 第7章对象的进一步探讨--面向对象中的继承 (26) 第8章深入多态 (31) 第9章使用异常处理 (34) 第10章基于Swing的图形界面编程 (36) 第11章可视化程序的事件处理 (46) 第12章Java多线程机制 (60)

第1章了解Java 1.编写一个程序,将用户在命令行输入的24小时制时间转换为12小时制。public class TimeTest{ public static void main(String args[]){ int time; time = Integer.parseInt(args[0]); if(time<0||time>24) System.out.println("输入的不是一个合法时间!"); else if(time>12) System.out.println("12小时制为"+(time-12)+"点"); else System.out.println("12小时制为"+time+"点"); } } 2.用户输入x的数值,根据如下规则输出计算后的结果y值。 x (x<1) Y = 2x -1 (1<=x<10) 3x -11 (x>=10) public class CalculateTest{ public static void main(String args[]){ float x,y; x = Float.parseFloat(args[0]); if(x<1) y = x; else if(1<=x&&x<10) y = 2*x-1; else y = 3*x-11; System.out.println(y); } }

相关主题
文本预览
相关文档 最新文档