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;iSystem.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;jif(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