《JAVA语言程序设计》练习题及答案.docx

上传人:b****3 文档编号:5208472 上传时间:2022-12-14 格式:DOCX 页数:33 大小:31.96KB
下载 相关 举报
《JAVA语言程序设计》练习题及答案.docx_第1页
第1页 / 共33页
《JAVA语言程序设计》练习题及答案.docx_第2页
第2页 / 共33页
《JAVA语言程序设计》练习题及答案.docx_第3页
第3页 / 共33页
《JAVA语言程序设计》练习题及答案.docx_第4页
第4页 / 共33页
《JAVA语言程序设计》练习题及答案.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

《JAVA语言程序设计》练习题及答案.docx

《《JAVA语言程序设计》练习题及答案.docx》由会员分享,可在线阅读,更多相关《《JAVA语言程序设计》练习题及答案.docx(33页珍藏版)》请在冰豆网上搜索。

《JAVA语言程序设计》练习题及答案.docx

《JAVA语言程序设计》练习题及答案

JAVA语言程序设计题及部分答案

一、单选题:

(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

1.下列语句序列执行后,k的值是(B)。

intm=3,n=6,k=0;

while((m++)<(--n))++k;

A)0B)1C)2D)3

2.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。

A)i=i+2B)a[0]=7;

C)i++---j;D)a(0)=66;

3.Java语言的类间的继承关系是(B)。

A)多重的B)单重的C)线程的D)不能继承

4.设有定义inti=6;,则执行以下语句后,i的值为(C)。

i+=i-1;

A)10B)121C)11D)100

5.下列选项中,用于在定义子类时声明父类名的关键字是(C)。

A)interfaceB)packageC)extendsD)class

6.若已定义byte[]x={11,22,33,-66};

其中0≤k≤3,则对x数组元素错误的引用是(C)。

A)x[5-3]B)x[k]C)x[k+5]D)x[0]

7.下列语句序列执行后,ch1的值是(B)。

charch1='A',ch2='W';

if(ch1+2

A)'A'B)'B'C)'C'D)B

8.下列语句序列执行后,i的值是(D)。

inti=8,j=16;

if(i-1>j)i--;elsej--;

A)15B)16C)7D)8

9.下列语句序列执行后,k的值是(C)。

inti=10,j=18,k=30;

switch(j-i)

{case8:

k++;

case9:

k+=2;

case10:

k+=3;

default:

k/=j;

}

A)31B)32C)2D)33

10.下面语句执行后,i的值是(B)。

for(inti=0,j=1;j<5;j+=3)i=i+j;

A)4B)5C)6D)7

11.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是(B)。

A)x>y||x>zB)x!

=y

C)z>(y+x)D)x

(x

12.下列语句序列执行后,i的值是(D)。

inti=16;

do{i/=2;}while(i>3);

A)16B)8C)4D)2

13.以下由for语句构成的循环执行的次数是(B)。

for(inti=0;true;i++);

A)有语法错,不能执行B)无限次

C)执行1次D)一次也不执行

14.定义类头时能使用的修饰符是(C)。

A)privateB)staticC)abstractD)protected

15.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,

正确的switch语句是D)。

A)switch(x+y)B)switch(ch+1)

{......}{......}

C)switchchD)switch(a+b);

{......}{......}

16.下列最终属性i的定义中,正确的是()。

A)staticfinalinti=100;B)finalinti=1.2;

C)finali='w';D)finalchari;

17.下列类定义中,不正确的是(C)。

A)classx{....}

B)classxextendsy{....}

C)staticclassximplementsy1,y2{....}

D)publicclassxextendsApplet{....}

18.设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是()。

A)staticxx1;B)publicxx1=newx(int123);

C)yx1;D)xx1=x();

19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。

A)x(intm){...}B)voidx(intm){...}

C)x(intm,intn){...}D)x(inth,intm,intn){...}

20.下列方法定义中,正确的是(A)。

A)intx(){charch='a';return(int)ch;}

B)voidx(){...returntrue;}

C)intx(){...returntrue;}

D)intx(inta,b){returna+b;}

21.用于定义类成员的访问控制权的一组关键字是(D)。

A)class,float,double,public

B)float,boolean,int,long

C)char,extends,float,double

D)public,private,protected

22.不能构成循环的语句是(C)。

A)for语句B)while语句C)switch语句D)do__while语句

23.下列程序段执行后b3的结果是(D)。

booleanb1=true,b2,b3;

24=b1?

b1:

b2;

A)0B)1C)trueD)false

25下面数据结构中,属于非线性的是(B)。

A)线性表B)树C)队列D)堆栈

11.设有定义inti=123;longj=456;下面赋值不正确的语句是(D)。

A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;

二、填空题:

(每空1分)

1.构造函数_没__有返回值。

2.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和___double_______两种具体类型。

3.创建类对象的运算符是__new。

4.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是__n%13==0___________。

5.在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数。

6.定义类就是定义一种抽象的______父类______,它是所有具有一定共性的对象的抽象描述。

7.在Java语言中,使用__平台无关___、___java虚拟机___等技术,实现软件重用。

8.表达式3/6*5的计算结果是____0____。

9.下面是一个类的定义:

publicclass_intMyclass___________

{

intx,y;

Myclass(inti,___=0____)//构造函数

{

x=i;

y=j;

}

}

10.下面是一个JavaApplication的主类的定义,其功能是输出所有命令行参数。

importjava.io.*;

publicclassMyClass

{

publicstaticvoidmain(Stringargs[])

{

if(args.length!

=_0__)

for(inti=0;i

System.out.println(_"i="+i__________);

elseSystem.out.println(没有命令行参数);

}

}

11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在源程序中已定义的另两个类的类名:

importjavaawt.*;

importjavaapplet.*;

publicclassmyprogramextendsApplet//定义小程序的主类

{

Aa;Bb;

public_____myprogram___init()

{a=newA();b=___new__B();}

}

12.Java的复合数据类型有:

类、数组和___接口____等。

Java的简单数据类型有:

数值类型(整形和浮点类型),自负类型和布尔类型

13.表达式3/6*5的计算结果是_0_______。

14.定义初值为10的10次方的长整型变量lvar的语句是:

_______longlvar=1*e10___________________。

15.顺序结构、分支结构(或称选择结构)、__循环结构__________是结构化程序设计的三种基本流程控制结构。

16.以下方法m的功能是求两参数之积的整数部分。

intm(floatx,floaty)

{_______k=(int)x*y___________;}

17.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______。

18.Java和c++都是面向对象的程序设计语言。

三、程序分析:

(每题4分)

1.下面是一个排序的程序:

importjava.io.*;

publicclassTest56_Sort

{

publicstaticvoidmain(Stringargs[])

{

int[]a={42,99,5,63,95,36,2,69,200,96};

System.out.println(排序前的数据序列:

);

ShowArray(a);

Sort(a);

System.out.println(排序后的数据序列:

);

ShowArray(a);

}

publicstaticvoidSort(int[]x)

{

intw;

for(inti=1;i

{

for(intj=0;j

if(x[j]>x[j+1])

{w=x[j];x[j]=x[j+1];x[j+1]=w;}

/*if(i==1||i==2)ShowArray(x);

if(i==2)break;*/

}

}

publicstaticvoidShowArray(intb[])

{

for(inti=0;i

System.out.print("b[i"+i+"]="+b[i]);

System.out.println();

}

}

问题:

如果将方法Sort()中的一对注释符(/**/)去掉,程序输出的结果是什么?

排序前的数据序列:

b[0]=42b[1]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[9]=96

b[0]=42b[1]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]=200

b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200

排序后的数据序列:

b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200

2.请写下程序的输出结果:

publicclassTest52

{

Stringstr1="Hello,Javaworld!

\t";

Stringstr2="Hello,students!

";

publicstaticvoidmain(Stringargs[])

{

System.out.print(str1);

System.out.println(str2);

}

}

输出结果:

3.请写下程序的输出结果:

publicclassT2_4{

publicstaticvoidmain(String[]args)

{

inti,j;

charc='*';

for(i=0;i<5;i++)

{

for(j=0;j<=i;j++)

System.out.print("*");

System.out.println();

}

}

}

输出结果:

4、请写下程序的输出结果:

publicclassex2_2

{

publicstaticvoidmain(Stringargs[])

{

intx,y;

byteb=6;

floatz=1.234f;

doublew=1.23;

booleanflag;

x=12;

y=300;

flag=x>y;

System.out.println("x>y=="+flag);

flag=z>w;

System.out.println("z>w=="+flag);

}

}

 五、程序设计:

(每题11分,共33分)

1、编程:

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

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

2、编程求解:

所有两位整数能被3整除的数的和,以及不能被3整除的数的各位数字之和。

3、设计一个程序求解e的值。

精度达到1.0e-6,

4、请设计一个对N个数进行排序的程序

一、选择题(每道题只有一个正确答案,每小题2分,共30分)15道题

1、关于Java语言叙述错误的是:

(C)

A.Java语言具有跨平台性

B.Java是一种面向对象的语言

C.Java语言中的类可以多继承

D.Java的垃圾收集机制自动回收程序已不再使用的对象

2、以下叙述正确的是:

(B)的确台a

A.构造方法必须是public方法

B.main方法必须是public方法

C.Java应用程序的文件名可以是任意的

D.构造方法应该声明为void类型

3、关于Java中数据类型叙述正确的是:

(B)

A、整型数据在不同平台下长度不同

B.boolean类型数据只有2个值,true和false

C.数组属于简单数据类型

D.Java中的指针类型和C语言的一样

4、设intx=1,floaty=2,则表达式x/y的值是:

(D)

  A.0

  B.1

  C.2

  D.以上都不是

5、以下语句有语法错的是:

(A)

  A.intx=1;y=2;z=3

  B.for(intx=10,y=0;x>0;x++);

  C.while(x>5);

  D.for(;;);

6、关于类和对象的叙述正确的是:

(A)

A.Java的类分为两大部分:

系统定义的类和用户自定义的类

B.类的静态属性和全局变量的概念完全一样,只是表达形式不同

C.类的成员至少有一个属性和一个方法

D.类是对象的实例化

7、以下有关构造方法的说法,正确的是:

(A)

  A.一个类的构造方法可以有多个

  B.构造方法在类定义时被调用

  C.构造方法只能由对象中的其它方法调用

  D.构造方法可以和类同名,也可以和类名不同

8、以下有关类的继承的叙述中,正确的是:

(D)

  A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性

  B.子类只能继承父类的方法,不能继承父类的属性

  C.子类只能继承父类的非私有属性,不能继承父类的方法

  D.子类不能继承父类的私有属性

9、下列属于容器的组件有:

(B)

  A.JButton

  B.JPane

  C.Canvas

  D.JTextArea

10、void的含义:

(C)

  A.方法体为空

  B.定义的方法没有形参

  C.定义的方法没有返回值

  D.方法的返回值不能参加算术运算

11、关于Java中异常的叙述正确的是:

(D)

  A.异常是程序编写过程中代码的语法错误

  B.异常是程序编写过程中代码的逻辑错误

  C.异常出现后程序的运行马上中止

  D.异常是可以捕获和处理的

12、所有的异常类皆继承哪一个类?

(C)

  A.java.io.Exception

  B.java.lang.Throwable

  C.java.lang.Exception

  D.java.lang.Error

13、下面哪个不是java语言中的关键字?

(B)

  A.long

  B.sizeof

  C.instanceof

  D.const

14、为实现进程之间的通信,需要使用下列那种流才合适?

(D)

  A.Datastream

  B.Filestream

  C.Bufferedstream

  D.Pipedstream

15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?

(D)

  A.ActionListener

  B.MouseListener

  C.MouseMotionListern

  D.ItemListener

二、填空题(每空1分,共20分)

1、面向对象程序设计所具有的基本特征是:

___抽象性___,_封装性___,_继承性__,_多态性__

2、数组x定义如下

  intx[][]=newint[3][2]

  则x..length的值为____3________,

    x[0].length的值为_____2_______。

3、Java中实现多线程一般使用两种方法,一是___继承Thread类_________,二是_____实现Runnable方法__________

4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)__FlowLayout_____,___GridLayout_____,__BorderLayout_____,___CardLayout_______

5、Applet常用的方法是:

__init()_、__run()__、__stop()__和destroy()。

三、阅读程序,写出程序的输出结果(每题5分,共20分)

1、classA{

privateintprivateVar;

A(int_privateVar){

      privateVar=_privateVar;

   }

   booleanisEqualTo(AanotherA){

   if(this.privateVar==anotherA.privateVar)

   returntrue;

   else

   returnfalse;

   }

  }

publicclassB{

publicstaticvoidmain(Stringargs[]){

Aa=newA

(1);

Ab=newA

(2);

System.out.println(a.isEqualTo(b));

   }

  }

程序的输出结果为:

____false_____

  2、classA{

  doublef(doublex,doubley){

  returnx*y;

  }

  }

  classBextendsA{

  doublef(doublex,doubley){

  returnx+y;

  }

  }

  publicclassTest{

  publicstaticvoidmain(Stringargs[]){

  Bobj=newB();

  System.out.println("Theprogramoutputis"+obj.f(4,6));

  }

  }

程序的输出结果为:

__Theprogramoutputis10_

3、publicclassUnchecked{

publicstaticvoidmain(String[]args){

try{

method();

}catch(Exceptione){

System.out.println("A");

}finally{

System.out.println("B");

}

}

staticvoidmethod(){

try{

wrench();

System.out.println("C");

}catch(ArithmeticExceptione){

System.out.println("D");

}finally{

System.out.println("E");

}

System.out.println("F");

}

staticvoidwrench(){

thrownewNullPointerException();

}

}

程序的输出结果为:

E

A

B

4、publicclassTest{

publicstaticvoidmain(String[]args){

intx;

inta[]={0,0,0,0,0,0};

calculate(a,a[5]);

System.out.println("thevalueo

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

当前位置:首页 > 解决方案 > 学习计划

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

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