JAVA期末复习资料 含答案.docx

上传人:b****5 文档编号:8101396 上传时间:2023-01-28 格式:DOCX 页数:21 大小:46.37KB
下载 相关 举报
JAVA期末复习资料 含答案.docx_第1页
第1页 / 共21页
JAVA期末复习资料 含答案.docx_第2页
第2页 / 共21页
JAVA期末复习资料 含答案.docx_第3页
第3页 / 共21页
JAVA期末复习资料 含答案.docx_第4页
第4页 / 共21页
JAVA期末复习资料 含答案.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

JAVA期末复习资料 含答案.docx

《JAVA期末复习资料 含答案.docx》由会员分享,可在线阅读,更多相关《JAVA期末复习资料 含答案.docx(21页珍藏版)》请在冰豆网上搜索。

JAVA期末复习资料 含答案.docx

JAVA期末复习资料含答案

1.下面说法正确的是(C)。

A)Java程序的源文件名称与主类(公共类)的名称相同,后缀可以是java或txt等。

B)JDK的编译命令是java。

C)一个java源程序编译后可能产生几个字节码文件。

D)在命令行运行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。

2.下面的说法正确的是(ABCD)。

A)Java语言是面向对象的、解释执行的网络编程语言。

B)Java语言具有可移植性,是与平台无关的编程语言。

C)Java语言可对内存垃圾自动收集。

D)Java语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。

3.下面main()方法的定义哪些是正确的(ACD)?

A)publicstaticvoidmain(Stringargs[]){}

B)publicstaticvoidmain(String[]){}

C)publicstaticvoidmain(String[]args){}

D)publicstaticvoidmain(String[]x){}

4.用于定义数据简单类型的一组关键字是(B)。

A)class,float,main,public

B)float,boolean,int,long

C)char,extends,float,double

D)int,long,float,import

5.以下的变量定义中,合法的语句是(B)。

A)float1_variable=3.4;B)intabc_=21;

C)doublea=1+4e2.5;D)shortdo=15;

6.定义变量如下:

inti=18;

longL=5;

floatf=9.8f;

doubled=1.2;

Strings="123";

以下赋值语句正确的是(ABD)。

A)s=s+i;B)f=L+i;C)L=f+i;D)s=s+i+f+d;

7.以下语句输出的结果是(A)

Stringstr="123";

intx=4,y=5;

str=str+(x+y);

System.out.println(str);

A)1239B)12345C)会产生编译错误D)123+4+5

8.以下语句中没有编译错误或警告提示信息的是(B)?

A)byteb=256;B)doubled=89L;C)charc="a";D)shorts=8.6f;

9.下面的程序输出结果是:

1+2=3,请将程序补充完整。

publicclassApp2{

publicstaticvoidmain(Stringargs[]){

intx=1,y=2;

System.out.println(______________);

}

}

答案:

x+"+"+y+"="+(x+y)

10.阅读下面的程序,回答问题。

程序如下:

publicclassApp1{

publicstaticvoidmain(Stringargs[]){

charch='\n';

System.out.print("Thefirstsnowcame,"+ch+"Howbeautifulitwas!

");

}

}

(1)这是哪一类java程序?

(2)写出保存该文件的文件名及后缀名?

(3)在JDK下编译该文件的命令是什么?

编译后形成什么文件?

(4)在JDK下如何运行该程序?

程序运行后输出的结果如何?

10.答案:

(1)Java应用程序(JavaApplication);

(2)App1.java;

(3)在命令行用javacApp1.java编译该程序。

编译后形成App1.class的字节码文件;

(4)在命令行键入javaApp1即可运行该程序。

编程序运行后输出的结果为:

Thefirstsnowcame,

Howbeautifulitwas!

编写Java应用程序,定义类Car,类中有3个变量:

字符串name,表示汽车的品牌;字符串color,表示汽车的颜色;double型变量weight,表示汽车的自重;int型变量passenger,表示汽车能搭乘的人数。

类中还定义一个构造方法,用来初始化上面的4个变量。

在应用程序中创建类Car的1个对象(品牌:

“大众”;颜色:

“黑色”;自重:

1500公斤;搭乘的人数:

5人),并显示其信息。

1.以下选项中变量均已正确定义,错误的赋值语句是(D)。

A)i--;B)i+=7;

C)k+=x+2;D)y+x=z;

2.若以下变量均已正确定义并赋值,下面符合Java语言语法的表达式是(B)。

A)a=a≤7B)a=7+b+c

C)int12.3%4D)a=a+7=c+b

3.定义整型变量:

intn=456;,表达式的值为5的是(AB)。

A)n/10%10B)(n-n/100*100)/10

C)n%10D)n/10

4.对下面的语句序列正确的说法是(B)。

intc='A'/3;

c+='1'%5;

System.out.println(c);

A)产生编译错误;B)输出结果25;

C)输出结果21;D)输出结果2;

5.设a,f,x,y,z均为int型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)。

A)x>y&&f

C)y!

=++xD)y+x*x++

6.执行下列程序段后,b,x,y的值正确的是(C)。

intx=6,y=8;

booleanb;

b=x

A)true,6,8B)false,7,7

C)true,7,7D)false,6,8

7.下面的程序段输出的变量b的值是(B)。

inta=0xFFFFFFFE;

intb=~a;

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

A)0xFFFFFFFEB)1C)14D)-2

8.若a和b均是整型变量并已正确赋值,正确的switch语句是(AD)。

A)switch(a+b);B)switch(a+b*3.0)

{……}{……}

C)switchaD)switch(a%b)

{……}{……}

9.以下由do-while语句构成的循环执行的次数是(D)。

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

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

intk=0;

do{++k;}while(k<1);

10.执行完下面的程序段后,k的值是(B)。

intk=0;

label:

for(inti=1;i<10;i++)

{

for(intj=1;j<5;j++)

{

k+=i+j;

if(j==3)

breaklabel;

}

}

A)3B)9C)12D)6

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

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

C)intx(inti){return(double)(i+10);}D)x(inta){returna;}

12.下列方法定义中,方法头不正确的是(D)。

A)publicintx(){...}B)publicstaticintx(doubley){...}

C)voidx(doubled)D)publicstaticx(doublea){...}

13.为了区分重载多态中同名的不同方法,要求(A)。

A)采用不同的形式参数列表B)返回值类型不同

C)参数名不同D)选项A、B、C都对

14.在某个类中定义一个方法:

voidGetSort(intx),以下能作为这个方法的重载的是(ABCD)。

A.voidGetSort(floatx){x*=x;}

B.intGetSort(doubley){return(int)(2*y);}

C.doubleGetSort(intx,inty){returnx+y;}

D.voidGetSort(intx,inty){x=x+y;y=x-y}

15.若已定义:

inta[]={0,1,2,3,4,5,6,7,8,9};

则对a数组元素正确的引用是(B)。

A)a[-3]B)a[9]C)a[10]D)a(0)

16.下面是在命令行运行Java应用程序A,怎样才能在main(Stringargs[])方法中访问单词"first"(BD)?

javaAthefirstsnow,thefirstsnowcame.

A)args[0]B)args[1]C)args[2]D)args[5]

6.编写Java应用程序求1!

+2!

+...+20!

的和并显示,要求用方法实现求阶乘。

 

3.应用程序中定义方法头如下所示的方法:

staticint[]add(int[]x,int[]y)

staticint[]multi(int[]x,int[]y)

add方法的功能是:

把参数数组x和y(其元素个数相同)的每个元素相加,并作为返回数组的元素;multi方法的功能是:

把参数数组x和y(其元素个数相同)的每个元素相乘,并作为返回数组的元素。

在Java应用程序中使用这两个方法。

 

6.编写应用程序,定义一个5行3列的二维数组,给数组的每个元素赋10~100之间的随机值,显示二维数组每行的元素,并输出所有元素的和。

1.面向对象程序设计的基本特征是(ABCD)。

A)抽象B)封装C)继承D)多态

2.下面关于类的说法正确的是(ABCD)。

A)类是Java语言中的一种复合数据类型。

B)类中包含数据变量和方法。

C)类是对所有具有一定共性的对象的抽象。

D)Java语言的类只支持单继承。

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

A)packageB)interfaceC)classD)extends

4.定义类头时可以使用的访问控制符是(CD)。

A)privateB)protected

C)publicD)缺省的,即没有访问控制修饰符

5.有一个类A,对于其构造函数的声明正确的是(B)。

A)voidA(intx){...}B)A(intx){...}

C)AA(intx){...}D)intA(intx){...}

6.设X为已定义的类名,下列声明对象x1的语句中正确的是(ABD)。

A)staticXx1;B)privateXx1=newX();

C)abstractXx1;D)finalXx1=newX();

7.设类B是类C的父类,下列声明对象x1的语句中不正确的是(D)。

A)Bx1=newB();B)Bx1=newC();

C)Cx1=newC();D)Cx1=newB();

8.编译运行下面的程序,结果是(A)。

publicclassA{

publicstaticvoidmain(String[]args){

Bb=newB();

this.test();

}

publicvoidtest(){

System.out.print("A");

}

}

classBextendsA{

voidtest(){

super.test();

System.out.println("B");

}

}

A)产生编译错误,因为类B覆盖类A的方法test()时,降低了其访问控制的级别。

B)代码可以编译运行,并输出结果:

AB。

C)代码可以编译运行,但没有输出。

D)代码可以编译运行,并输出结果:

A。

9.下面的程序编译运行的结果是(A)。

publicclassAimplementsB{

publicstaticvoidmain(String[]args){

intm,n;

At=newA();

m=t.k;

n=B.k;

System.out.println(m+","+n);

}

}

interfaceB{intk=5;}

A)5,5B)0,5C)0,0D)编译程序产生编译错误

10.为了使包abc中的所有类在当前程序中可见,可以使用的语句是(A)。

A)importabc.*;B)packageabc.*;

C)importabc;D)packageabc;

1.定义一个名为MyRectangle的矩形类,类中有4个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有4个int参数的构造方法,用来初始化类对象。

类中还有以下方法:

getW()——计算矩形的宽度;getH()——计算矩形的高度;area()——计算矩形的面积;toString()——把矩形的宽、高和面积等信息作为为字符串返回。

编写应用程序使用MyRectangle类。

2.设计一个Dog类,它有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。

编写应用程序使用Dog类。

3.设计一个长方体类MyCube,该类包含第1题中的MyRectangle类对象作为类的域,表示长方体的底面;此外还包含一个整型变量d,表示长方体的高。

类中定义构造方法初始化类对象、定义求体积和表面积的方法。

编写应用程序测试MyCube类。

4.设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息的方法(包括用户名、口令)。

编写应用程序测试User类。

1.定义一个抽象基类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。

编写编写应用程序使用Rectangle类和Circle类。

2.定义一个接口ClassName,接口中只有一个抽象方法getClassName()。

设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。

编写应用程序使用Horse类。

3.定义接口MyItfc,接口中只有一个名为area的方法,该方法有一个double类型参数,返回类型也为double。

编写一个应用程序,并实现接口MyItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。

1.定义字符串s:

Strings=”Micrsoft公司”;执行下面的语句,c的值为(B)。

charc=s.charAt(9);

A)产生数组下标越界异常。

B)司C)nullD)公

2.以下语句执行后输出的结果是(B)。

Strings0=newString("hello,Java!

");

System.out.println(s0.length());

A)10B)11C)9D)15

3.应用程序的main方法中有以下语句,则输出的结果是(A)。

Strings1=newString("AAA");

Strings2=newString("AAA");

booleanb1=s1.equals(s2);

booleanb2=(s1==s2);

System.out.print(b1+""+b2);

A)truefalseB)falsetrueC)truetrueD)falsefalse

4.下面的程序段输出的结果是(A)。

Strings1="Java",s2="java";

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

A)trueB)falseC)JavaD)java

5.下面的程序段输出的结果是(A)。

Strings1="Abc",s2="Bcd";

System.out.println(pareTo(s2));

A)-1B)1C)falseD)true

6.下面的程序段执行完后,cont的值是多少(C)?

Stringstrings[]={"string","starting","strong","street","soft"};

intcont=0;

for(inti=0;i

if(strings[i].endsWith("ng"))

cont++;

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

7.定义字符串:

Stringstr="abcdefg";则str.indexOf('d')的结果是(C)。

A)’d’B)trueC)3D)4

8.下面的程序段输出的结果是(A)。

StringBufferbuf1;

Stringstr="北京2008";

buf1=newStringBuffer(str);

System.out.println(buf1.charAt

(2));

A)2B)京C)0D)null

9.下面的程序段输出的结果是(C)。

StringBufferbuf1;

Stringstr="007beijing";

buf1=newStringBuffer(str);

buf1.setCharAt(0,'6');

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

A)007bei0jingB)007beijingC)607beijingD)667beijing

10.若有如下赋值语句:

x=newStringBuffer().append("a").append(4).append("c").toString();

x的类型是_______;它的值是_______。

答案:

String;a4c。

11.下面的程序段希望把字符串str中的类名、对象名和方法名分离出来单独显示,因此创建了一个字符串分析器对象stoken,请把stoken的分隔符填写在程序中的空中,程序中定义的变量k的值是__

(1)___。

Stringstr="System.out.println(\"stoken.hasMoreTokens()=\"+stoken.hasMoreTokens())";

StringTokenizerstoken=newStringTokenizer(str,___

(2)___);

intk=stoken.countTokens();

答案:

(1)7

(2)".()\"+="

12.应用程序的main方法中有以下语句,则输出的结果是(B)。

Hashtablehashtable=newHashtable();

hashtable.put("100","aaa");

hashtable.put("200","bbb");

hashtable.put("300","ccc");

System.out.println(hashtable.get("200"));

A)aaaB)bbbC)200D)3

 

编写命令行界面的猜数游戏:

猜数范围由命令行输入,将猜数的结果输出并提示,直到猜出正确的结果。

6.编写应用程序,用1到6之间的随机数来模拟掷骰子游戏,统计扔5000次后出现骰子各点的次数并输出。

 

编写应用程序,在其main方法中定义以下两个字符串数组:

StringmpgStr[]={"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg"};

StringpngStr[]={"1.png","2.png","3.png","4.png","5.png"};

然后将他们的每个元素间隔添加到Vector对象中,并在命令行界面显示所有元素;然后将Vector对象中所有.png的元素都删除,再显示Vector对象中的所有元素,如图所示。

 

4.定义一个学生类Student,该类定义了3个属性:

学号number(String类型)、姓名name(String类型)和成绩mark(int型);类中定义一个构造方法,用来初始化类中的3个属性;为了方便显示,该类覆盖了父类Object的toString()方法,返回以下格式的字符串:

"学号:

"+number+"姓名:

"+name+"成绩:

"+mark。

编写应用程序,在main方法中创建ArrayList对象list,并添加5个Student类对象,并将list的所有元素分行显示;然后将list的元素按学号升序排序后输出。

1.为了捕获一个异常,代码必须放在下面哪个语句块中(A)?

A)try块B)catch块C)throwsD)finally块

2.下面关于try块的说法正确的是(C)?

A)try块后至少应有一个catch块。

B)try块后必须有finally块。

C)可能抛出异常的方法应放在try块中D)对抛出的异常的处理应放在try块中

3.finally块中的代码将(A)

A)总是被执行B)如果try块后面没有catch块时,finally块中的代码才会执行。

C)异常发生时才被执行D)异常没有发生时才被执行

4.一个异常将终止(C)?

A)整个程序B)只终止抛出异常的方法

C)产生异常的try块D)上面的说法都不对。

5.阅读下面的程序,选择正确的说法(B)。

classA{

publicstaticvoidmain(Stringargs[])throwsException{

method();

}

staticvoidmethod()throwsException{

try{

System.out.print("try:

performed\t");

}

finally{

System.out.print("fina

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

当前位置:首页 > 自然科学 > 化学

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

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