JAVA语言基础复习题FXT2522431112文档格式.docx

上传人:b****2 文档编号:6053592 上传时间:2023-05-06 格式:DOCX 页数:23 大小:23.69KB
下载 相关 举报
JAVA语言基础复习题FXT2522431112文档格式.docx_第1页
第1页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第2页
第2页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第3页
第3页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第4页
第4页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第5页
第5页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第6页
第6页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第7页
第7页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第8页
第8页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第9页
第9页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第10页
第10页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第11页
第11页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第12页
第12页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第13页
第13页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第14页
第14页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第15页
第15页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第16页
第16页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第17页
第17页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第18页
第18页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第19页
第19页 / 共23页
JAVA语言基础复习题FXT2522431112文档格式.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA语言基础复习题FXT2522431112文档格式.docx

《JAVA语言基础复习题FXT2522431112文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA语言基础复习题FXT2522431112文档格式.docx(23页珍藏版)》请在冰点文库上搜索。

JAVA语言基础复习题FXT2522431112文档格式.docx

通常的动态联编将生效。

引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。

7、作用域public,private,protected,以及不写时的区别。

区别如下:

作用域 

 

当前类 

同一package 

子孙类 

其他package

public 

√ 

protected 

×

friendly 

private 

不写时默认为friendly。

8、error和exception有什么区别?

error 

表示恢复不是不可能但很困难的情况下的一种严重问题。

比如说内存溢出。

不可能指望程序能处理这样的情况 

exception 

表示一种设计或实现问题。

也就是说,它表示如果程序运行正常,从不会发生的情况。

9、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

都不能。

10、接口是否可继承接口?

抽象类是否可实现(implements)接口?

抽象类是否可继承实体类(concreteclass)?

接口可以继承接口。

抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

11、构造器Constructor是否可被重写?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

12、是否可以继承String类?

String类是final类故不可以继承。

13、try{ }里有一个return语句,那么紧跟在这个try后的finally{ }里的code会不会被执行,什么时候被执行,在return前还是后?

会执行,在return前执行。

14、在java中一个类被声明为final类型,表示了什么意思?

表示该类不能被继承,意味着它不能再派生出新的子类,不能作为父类被继承,是顶级类

15、JAVA类实现序例化的方法是?

JAVA类要实现序列化,对应的类必须先实现Serializable和Externalizable这两种接口,然后就可以调用ObjectOutputStream的witeObject()方法来保存对象以及通过ObjeatInputStream的readObjeact()方法来读取保存的对象。

16、多线程有几种实现方法,都是什么?

同步有几种实现方法,都是什么?

多线程有三种实现方法,分别为:

  ①实现Runnable接口,覆盖Run()方法。

  ②继承Thread,覆盖Run()方法。

  ③继承TimerTask,覆盖Run()方法。

  同步的实现是在方法前加synchronized,在调用wait()和notify()。

二、写出下列程序完成的功能

1、publicclassSum

{publicstaticvoidmain(Stringargs[])

{doublesum=0.0;

for(inti=1;

i<

=100;

i++)

sum+=1.0/(double)i;

System.out.println("

sum="

+sum);

}

}

2、importjava.io.*;

publicclassReverse

{publicstaticvoidmain(Stringargs[])

{inti,n=10;

inta[]=newint[10];

for(i=0;

n;

i++)

try{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

a[i]=Integer.parseInt(br.readLine());

//输入一个整数

}catch(IOExceptione){};

for(i=n-1;

i>

=0;

i――)

System.out.print(a[i]+"

"

);

System.out.println();

3、importjava.awt.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{newFrameOut();

classFrameOutextendsFrame//Frame为系统定

{Buttonbtn;

//义的窗框类

FrameOut()

{super("

按钮"

btn=newButton("

按下我"

setLayout(newFlowLayout());

add(btn);

setSize(300,200);

show();

4、importjava.io.*;

{SubClasssb=newSubClass();

System.out.println(sb.max());

classSuperClass {

inta=10,b=20;

classSubClassextendsSuperClass{

intmax(){

return((a>

b)?

a:

b);

}

三、程序阅读题

1、阅读下列代码段:

  Intx=10,y=12,r;

  If(y>

x)

  {

  intt=y;

  Y=x;

  X=t;

  }

  While(y!

=0)

  R=x%y;

  X=y;

  Y=r;

  System.out.println(x);

  程序运行结果为----------

2、阅读下面程序:

  PulbicclassTestextendsTT

  Publicstaticvoidmain(Stringargs[])

  Testt=newTest(“Tom”)

  PublicTests(Strings)

  super(s);

  System.out.println(“Howdoyoudo?

”);

  PublicTest()

  this(“IamJack”);

  classTT

  publicTT()

  System.out.println(“Whatapleasure!

  publicTT(Stirngs)

  this();

  System.out.println(“Iam”+s);

  给出程序结果

3、 下列程序输出结果是什么?

publicclassSum{

publicstaticvoidmain(String[]args){

intj=10;

System.out.println("

jis:

+j);

calculate(j);

Atlast,jis:

staticvoidcalculate(intj){

for(inti=0;

i<

10;

i++)

j++;

jincalculate()is:

输出结果为:

(1)

jincalculate()is:

(2)

Atlastjis:

(3)

4、按注释完成程序

publicclassLeaf{

privateinti=0;

//此属性值用于检验

Leafincrement(){//定义方法increment(),返回值是Leaf类的对象

i++;

return

(1);

//将当前对象的地址作为返回值返回

voidprint(){

i="

+i);

publicstaticvoidmain(Stringargs[]){

Leafx=

(2);

//创建Leaf类的对象x

x.increment().increment().increment().print();

}//多次调用方法increment(),返回的都是x的地址,i值表示调用次数

输出结果为i=(3)

5、按注释提示完成文件复制的程序

//FileStream源代码如下:

importjava.io.*;

classFileStream{

publicstaticvoidmain(Stringargs[]){

try{

FileinFile=newFile("

file1.txt"

//指定源文件

FileoutFile=newFile("

file2.txt"

//指定目标文件

FileInputStreamfis=

(1);

FileOutputStreamfos=newFileOutputStream(outFile);

intc;

//逐字节从源文件中输入,再输出到fos流

while((c=fis.read())!

=-1)

(2);

fis.close();

fos.close();

}

catch(Exceptione){

FileStreamsTest:

+e);

6、阅读下列代码:

  PublicclassTest{

  Publicstaticvoidmian(Stringargs[]){

  Floatf=12.0f;

  Inti=3;

  System.out.println((f--)/(++i));

  程序运行结果为________.

7、阅读下面代码段:

  PublicclassTest

  Publicstaticvoidmain(stringargs[])

  Charch;

  Switch(ch)

  Case‘a’:

system.out.print(“abc”);

break;

  Case’b’:

system.out.print(“ab”);

  Case’c’:

system.out.print(“c”);

  Default:

  不输出”abc”的ch值是-----------。

8、阅读下列代码:

  Floata=4.0f,b=6.0f,c=8.0f;

  Strings=”10.0”;

  System.out.println(a+b+s+c);

  System.out.println();

9、指出下列程序运行的结果是什么?

publicclassfff

{voidprintValue(intm)

{

do{System.out.println("

Thevalueis"

+m);

while(--m>

10)}

publicstaticvoidmain(Stringarg[])

{inti=10;

Testt=newTest();

t.printValue(i);

}

四、程序修改题

判断下面的程序片断是否正确。

若有错,指出错在哪里并改正。

1、classSomething{

finalinti;

publicvoiddoSomething(){

System.out.println("

i="

这错了吗?

2、此处,Something类的文件名叫OtherThing.java

classSomething{

privatestaticvoidmain(String[]something_to_do){

Dosomething..."

3、classIamAbstract

{

finalintf;

doubled;

abstractvoidmethod();

4、publicclassSomething{

publicstaticvoidmain(String[]args){

Somethings=newSomething();

s.doSomething()returns"

+doSomething());

publicStringdoSomething(){

return"

;

5、interfaceA{

intx=0;

classB{

intx=1;

classCextendsBimplementsA{

publicvoidpX(){

System.out.println(x);

newC().pX();

6、publicclassMyMain

publicstaticvoidmain(Stringargs[])

{System.out.println(MyClass1.data);

classMyClass1

intdata=10;

7、publicclassMyMain

{System.out.println(MyClass1.data);

classMyClass1

{intdata=10;

程序有错吗?

错在哪里?

8、publicclassMyClass

{intdata;

voidMyClass(intd)

{data=d;

五、程序编写题

1、请编写一个完整的java程序,将source.txt中的“这是在源文件中的数据”读出来显示在屏幕上,并且写入到destination.txt文件中。

2、请编写一个完整的JAVA程序,依次打印出命令行参数字符串数组各元素。

(字符串数组)

3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。

但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。

4.请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:

分别描述一张牌的牌面值(如:

A、K、Q、J、10、9、…、3、2等)和花色(如:

“黑桃”、“红桃”、“梅花”和“方块”)。

定义Card类中的public访问权限的构造方法,为类中的变量赋值;

定义protected访问权限的方法getFace(),得到扑克牌的牌面值;

定义protected访问权限的方法getSuit(),得到扑克牌的花色;

定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”等)。

5.若应用程序的main方法中,定义字符串数组f和s:

分别表示扑克牌的牌面值和花色;

定义52个元素的Card类型数组deck,用来存放4个花色的52张牌。

如下所示。

Stringf[]={"

A"

"

2"

3"

4"

5"

6"

7"

8"

9"

10"

J"

Q"

K"

};

Strings[]=

{"

黑桃"

红桃"

梅花"

方块"

Carddeck=newCard[52];

(1)使用Card类的构造方法给deck数组的52张牌赋值,要求数组中先存放黑桃花色的A、2、3、…、K;

然后是红桃花色的A、2、3、…、K;

梅花花色的A、2、3、…、K;

方块花色的A、2、3、…、K。

请写出实现上述功能的程序段。

JAVA语言基础复习题答案

1、计算1/1+1/2+1/3+...+1/100的值。

2、从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。

3、创建一个标题为"

的窗框,窗框中显示有"

字样的按钮。

4、求两个数的最大值。

1、  2

2、Whatapleasure!

  IamTom

  Howdoyoudo?

3、答案:

(1)10;

(2)20;

(3)10。

4.

(1)this;

(2)newLeaf();

(3)3

5、

(1)newFileInputStream(inFile);

(2)fos.write(c);

6、3

7、‘c’

8、10.010.08.0

9、10

四.改错题

1、答:

错。

finalinti是个final的instantvariable(实例变量,或叫成员变量)。

final的instantvariable没有defaultvalue,必须在constructor(构造器)结束之前被赋予一个明确的值。

可以修改为"

finalinti=0;

"

2、答:

正确。

从来没有人说过Java的Class名字必须和其文件名相同。

但publicclass的名字必须和文件名相同。

3、答:

IamAbstract作为具体类中不能包含有抽象方法。

改正如下:

abstractclassIamAbstract或classIamAbstract

{{

finalintf;

finalintf;

doubled;

a

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2