java测试题111203.docx

上传人:b****2 文档编号:24450634 上传时间:2023-05-27 格式:DOCX 页数:17 大小:19.49KB
下载 相关 举报
java测试题111203.docx_第1页
第1页 / 共17页
java测试题111203.docx_第2页
第2页 / 共17页
java测试题111203.docx_第3页
第3页 / 共17页
java测试题111203.docx_第4页
第4页 / 共17页
java测试题111203.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

java测试题111203.docx

《java测试题111203.docx》由会员分享,可在线阅读,更多相关《java测试题111203.docx(17页珍藏版)》请在冰豆网上搜索。

java测试题111203.docx

java测试题111203

Java测试题

一、选择题

1.执行下列代码后,那个语句是正确的?

publicclassPerson{

staticintarr[]=newint[10];

publicstaticvoidmain(Stringa[]){

System.out.println(arr[1]);

}

}

A.编译时将产生错误

B.编译时正确,运行时将产生错误

C.输出零*

D.输出空

2.定义一个类名为"MyClass"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:

()

A.privateclassMyClassextendsObject

B.classMyClassextendsObject

C.publicclassMyClass*

D.publicclassMyClassextendsObject

3.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?

()

A.ArrayListmyList=newObject();

B.ListmyList=newArrayList();·

C.ArrayListmyList=newList();

D.ListmyList=newList();

4.以下数据定义正确的是()

A.floatf=3.14f;·

B.Integerinteger=30;

C.byteb=10;·

D.booleanbo=(10>2)·;

E.Booleanboolean=newBoolean(true);

5.以下程序,正确的说法是()//类名和方法名可以相同,没有影响

publicclassTest{

Strings=“good”;

publicstaticvoidmain(String[]args){

Testtest=newTest();

test.test(“bye”);

}

publicvoidtest(Strings){

this.s+=s;

System.out.println(this.s);

}

}

A.输出“good”

B.输出“goodbye”·

C.输出“bye”

D.编译成功,运行失败

6.现有一变量booleanb;以下赋值正确的是()

A.b=0;B.b=(boolean)0

C.b=“true”;D.b=false;·

7.以下for循环的执行次数是()。

for(intx=0,y=0;(y!

=0)&&(x<4);x++);

A.无限次B.一次也不执行·

C.执行4次D.执行3次

8.下列哪些语句关于内存回收的说明是正确的?

()

A、程序员必须创建一个线程来释放内存;

B、内存回收程序负责释放无用内存·

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象

9.假如存在名为Test的类,则以下构造方法错误的是()

A.publicTest(){}

B.Test(floatf,floatf1){}

C.Test(intnum){}

D.Test(){}

E.voidTest(){}·//构造方法没有返回类型

10.以下代码运行结果是?

()

publicclassTest{

intnum=10;

publicstaticvoidmain(Stringargs[]){

intnum=1000;

Testtest=newTest();

System.out.println(test.num);

}

}

A.输出10

B.输出1000·

C.编译错误

D.编译成功,但是运行错误

///*******************************************************

publicclassTest{

intnum=10;

publicstaticvoidmain(Stringargs[]){

intnum=1000;

Testtest=newTest();

System.out.println(test.num);//usemember

System.out.println(num);//uselocal

}

}

Output:

101000

//***************************************

11.对于以下程序,运行将得到什么结果?

publicclassTest{

staticintj=20;

publicstaticvoidmain(String[]args){

inti=10;

Testp=newTest();

p.amethod(i);

System.out.println(i);

System.out.println(j);

}

publicvoidamethod(intx){

x=x*2;

j=j*2;

}

}

A.输出40和40

B.输出10和40·

C.编译错误

D.以上答案全错

12.以下程序输出是?

()

Strings1=“你好啊”;

Strings2=“你好啊”;

System.out.println(s1==s2);

System.out.println(s1.equals(s2));

A.0和true

B.true和true·

C.true和false

D.编译错误

13.以下程序运行的结果是()

longl=(10%4);

switch(l)

case1:

System.out.println(“1”);

break;

case2:

System.out.println(“2”);

break;

case3:

System.out.println(“3”);

case4:

System.out.println(“4”);

A.输出1

B.输出2

C.输出3

D.输出4

E.编译错误·

14.

publicclassTest{

staticintnum=100;

privateintnum1=200;

publicstaticvoidmain(Stringargs[]){

Test.test();

}

publicstaticvoidtest(){

System.out.println(num+num1);

}

}

A.输出300

B.输出0

C.编译错误*

D.编译成功,运行时错误

二、分析填空

1.写出以下程序打印结果(注意换行)

classBase{

Stringvar="父类的变量";

voidmethod(){

System.out.println("父类的方法");

}

}

classSubextendsBase{

Stringvar="子类的变量";

voidmethod(){

System.out.println("子类的方法");

}

voidtest(){

Stringvar="子类的局部变量";

System.out.println("varis:

"+var);

System.out.println("this.varis:

"+this.var);

System.out.println("super.varis:

"+super.var);

method();

this.method();

super.method();

}

}

publicclassTest1{

publicstaticvoidmain(String[]args){

Subsub=newSub();

sub.test();

}

}

打印结果是:

varis:

子类的局部变量

this.varis:

子类的变量

super.varis:

父类的变量

子类的方法

子类的方法

父类的方法

***********2.写出以下程序打印结果(注意换行)

classBase2{

Stringvar="父类的变量";

staticStringstaticVar="父类静态变量";

voidmethod(){

System.out.println("父类的方法");

}

staticvoidstaticMethod(){

System.out.println("父类的静态方法");

}

}

classSub2extendsBase2{

Stringvar="子类的变量";

StringsubVar="子类另一个变量";

staticStringstaticVar="子类静态变量";

voidmethod(){

System.out.println("子类的方法");

}

voidsubMethod(){

System.out.println("子类另外的方法");

}

staticvoidstaticMethod(){

System.out.println("子类的静态方法");

}

}

publicclassTest2{

publicstaticvoidmain(String[]args){

Base2base=newSub2();

System.out.println("base.var="+base.var);

System.out.println("base.staticVar="+base.staticVar);

base.method();

base.staticMethod();

}

}

打印结果是:

 

------------3.以下程序能否编译通过,如果能够编译,写出打印结果(注意换行)

publicvoidamethod(intx)throwsException{

intnum=x/0;

}

publicvoidtrythis(){

try{

System.out.println("11");

amethod(10);

}catch(Exceptione){

System.out.println("22");

}catch(ArithmeticExceptiona){

System.out.println("33");

}finally{

System.out.println("44");

}

}

执行以上程序结果是:

现在的jdk-1.6.0这种情况编译不过去

 

4.写出以下程序打印结果(注意换行)

classBase{

staticinta=1;

static{

System.out.println("initbase");

}

}

classSubextendsBase{

staticintb=10;

static{

System.out.println("initsub");

}

}

publicclassTest{

static{

System.out.println("inittest");

}

publicstaticvoidmain(String[]args){

System.out.println("b="+Sub.b);

}

}

执行以上程序结果是:

 

5.分析以下程序

1classBase{

2publicBase(inti,intj){}

3publicBase(inti){

4this(i,0);

5Base(i,0);////

6}

7}

8publicclassSub{////

9publicSub(inti,intj){////

10super(i,0);////

11}

12voidmethod1(inti,intj){

13this(i,j);

14super(i,j);////

15}

16voidmethod2(inti,intj){

17super(i,j);////

18}

19voidmethods3(inti,intj){

20Basebase=newBase(0,0);

21base.Base(0,0);////

22}

}

指出以上程序可能会出现编译错误的地方:

 

6.写出以下程序打印结果(注意换行)

publicclassTest{

staticintnum1=0;

intnum2=0;

publicTest(){

num1++;

num2++;

}

publicTest(intx){

num1++;

num2+=x;

}

publicstaticvoidmain(String[]args){

Testt1=newTest

(1);

Testt2=newTest();

Testt3=newTest();

Testt4=newTest

(1);

System.out.println("t4.num1="+t4.num1);

System.out.println("t4.num2="+t4.num2);

}

}

以上程序打印出的内容是:

4

1//静态区域……动态的……

7.写出以下程序打印结果(注意换行)

classTest{

privateStringname;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

}

publicclassMain{

publicstaticvoidmain(String[]args){

Testa=newTest();

a.setName("Hello");

Testb=newTest();

b.setName("world");

System.out.println("beforeswap:

"+"a="+a.getName()+";b="+b.getName());

swap(a,b);

System.out.println("afterswap:

"+"a="+a.getName()+";b="+b.getName());

}

privatestaticvoidswap(Testa,Testb){

Testtemp=a;

a=b;

b=temp;

System.out.println("swaping:

"+"a="+a.getName()+";b="+b.getName());

}

}

执行以上程序结果是:

beforeswap:

a=Hello;b=world

swaping:

a=world;b=Hello

afterswap:

a=Hello;b=world

------------------8.分析下面代码

1Strings="abc";

2Strings1=newString("abc");

3Strings2=newString("abc");

4Strings3=newString("abc");

5S1=s;

6s2=s1;

7s=s3;

8s3=s1;

以上代码中哪些行创建的对象可能成为垃圾回收的对象:

 

三、简答题

1.java中的数据类型分为哪两大类?

分别是什么?

是基本类型和引用类型。

基本类型有:

8中:

intbytelongshortcharbooleanfloatdouble

引用类型是:

2.方法重载和方法覆盖的区别有哪些?

重载:

overloading是:

同一类中方法名相同,参数不同

方法覆盖:

也叫重写override:

父子类中,子类的方法和父类的方法完全相同,子类重新写父类的方法。

3.final关键字主要用在哪些方面?

有什么意义?

final用在类前表示此类不可被继承;用在方法前表示此类不可以被重写,用在变量前表示此变量不可以被修改,即成常量。

------------------4.throw和throws关键字有什么区别?

Throw:

Throws:

方法体中方法体头

抛出的是对象抛出的是类

表示一定有异常可能有异常

抛出给某个类抛给上级,谁调用谁处理

-----抛出去必须捕获,并且捕获的异常范围要大于抛出的异常范围

-------------------------5.类的初始化时机包括哪些?

6.写出Java语言中基本数据类型对应的包装类。

Intbytelongshortcharbooleanfloatdouble

IntegerByteLongShortCharacterBooleanFloatDouble

8.写一个通用方法把任何一个类似“abcdefg”的字符串倒叙排,两种方法。

第一种:

借用另一个字符数组:

用indexof加for语句将String倒序到字符数组中,然后toString(或者StringBuffer)

第二种:

转换成字符数组用字符数组交换反序

第三种:

9.对类的成员而言修饰符public,protected,缺省,private的权限访问范围?

Public不同包,不同类,

Protected父子类之间

缺省同包中

Private除了自己不行

---------------------10.Java中多态是通过什么方式进行的?

这些方式有什么区别?

11.请列举你使用过的String类的方法,并写出其返回值类型,参数个数与类型,至少写出五个(不可包含构造方法,并且可重载的方法只算一个)。

.length().toArrayList().indexof(int).charAt(char)

.subString(int).subString(int,int).replace(Oldchar,newchar)

12.抽象类与接口有什么区别?

抽象类abstract,接口定义interface

抽象类可以实现一些方法,接口不能实现任何方法

抽象类中定义的属性可以改变,接口中定义的属性不能改变(常)

抽象类单一继承,接口多接

抽象类被extends,接口被implements

------------13.请依次写出对象输入流,缓冲输入流,文件输入流,管道输入流以及数据输入流的类名。

14.简述break,continue,return的区别?

Bread跳出循环

Continue结束本次循环

Return可以做返回类型,可以在语句中遇到就结束

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

当前位置:首页 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1