java程序设计试题库.docx

上传人:b****7 文档编号:10719871 上传时间:2023-02-22 格式:DOCX 页数:89 大小:106.47KB
下载 相关 举报
java程序设计试题库.docx_第1页
第1页 / 共89页
java程序设计试题库.docx_第2页
第2页 / 共89页
java程序设计试题库.docx_第3页
第3页 / 共89页
java程序设计试题库.docx_第4页
第4页 / 共89页
java程序设计试题库.docx_第5页
第5页 / 共89页
点击查看更多>>
下载资源
资源描述

java程序设计试题库.docx

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

java程序设计试题库.docx

java程序设计试题库

《Java语言程序设计基础教程》

练习思考题参考答案

第1章Java程序设计概述

1.1单项选择题

1.编译JavaApplication源文件将产生相应的字节码文件,扩展名是什么

A..javaB..class

C..htmlD..exe

解答:

B

2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中“一次编译,随处运行”的特点。

A.简单性B.平台无关性

C.面向对象性D.安全性

解答:

B

3.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中并行机制的特点。

A.多线程B.平台无关性

C.面向对象性D.安全性

解答:

A

4.在Java语言中,下列哪些语句关于内存回收的说明是正确的?

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

B.内存回收程序负责释放无用内存;

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

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

解答:

B

5.一个Java源文件中最多只能有多少个public类。

A.1个B.2个

C.3个D.任意多个

解答:

A

6.下面哪一个不是Java语言所具有的特点。

A.没有全局变量,在类的定义外部没有任何的变量定义;

B.不直接支持指针操作,而使用更安全的引用类型;

C.支持子类对父类的多继承;

D.具有自动垃圾收集功能;

解答:

C

7.下面哪一个不是Java开发工具包JDK的组成部分。

A.Java的编译器;

B.Java的解释器;

C.Java的API继承类库;

D.Eclipse开发工具;

解答:

C

8.JDK提供的编译器是()。

A.java.exeB.javac.exe

C.javap.exeD.javaw.exe

解答:

B

9.作为Java应用程序入口的main方法,其声明格式可以是()

A.publicvoidmain(String[]args)

B.publicstaticvoidmain(String[]args)

C.publicstaticvoidMain(String*args)

D.publicintmain(String[]args)

解答:

B

10.下列说法正确的是(A)

A、JAVA程序的main方法必须写在类里面

B、JAVA程序中可以有多个main方法

C、JAVA程序中类名必须与文件名一样

D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来

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

(B)

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

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

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

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

 

1.2填空题

1、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。

解答:

编辑源程序、编译生成字节码和解释运行字节码

2、使用Java编译器___javac____.exe编译源文件得到字节码文件。

3、Java应用程序必须通过Java解释器__JAVA__.exe来解释执行其字节码文件。

4、如果Java源文件中有一个类是public类,那么源文件的名字必须与这个类的名字完全_相同______,扩展名是.java。

5、Java应用程序总是从主类的____main___方法开始执行.

1.3简答题

13.简述Java程序的开发过程?

(1)使用一个文字编辑器,编写源文件。

(2)使用java编译器,编译源文件得到字节码文件。

(3)解释运行字节码,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。

1.什么是Java虚拟机?

为什么Java被称作是“平台无关的编程语言”?

解答:

Java虚拟机是一个可以执行Java字节码的虚拟机进程。

Java源文件被编译成能被Java虚拟机执行的字节码文件。

Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。

Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

3.Java语言的关键特点有哪些?

解答:

简单性

平台无关性

面向对象性

安全性

分布式

多线程

动态性

1.4综合题

第2章Java基本的程序设计结构

2.1单项选择题

1、下面哪一项在java中是非法的标识符?

()

A.$user

B.point

C.You&me

D._endline

解答:

2、若有定义inta=9,b=6;那么a>b的值是:

()

A.0B.1

C.falseD.true

解答:

D

3、执行完以下代码int[]x=newint[25];后,以下说明正确的是:

()

A.x[24]为0B.x[24]未定义

C.x[25]为0D.x[0]为空

解答:

A

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

int[]x={2,3,-8,7,9};

intmax=x[0];

for(inti=1;i

if(x[i]>max)

max=x[i];

}

System.out.println(max);

A.2B.-8

C.7D.9

解答:

5、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()

A.3B.3.5

C.4D.5

解答:

A

5、执行System.out.println(5/4),这条代码的输出结果是()

A.1B.1.25

C.1.5D.0

解答:

A

6、下列语句有错误的是:

()

A.int[]a;B.int[]b=newint[10];

C.intc[]=newint[];D.intd[]=null;

解答:

C

7、下列语句有错误的是:

()

A.inta[][]=newint[5][5];B.int[][]b=newint[5][5];

C.int[]c[]=newint[5][5];D.int[][]d=newint[5,5];

解答:

D

8、下列哪一个不属于Java中的8种基本数据类型()

A.double;B.char;

C.int;D.String;

解答:

D

9、以下数据类型存储空间最大的是()。

(A)byte(B)long(C)float(D)char

解答:

B

10、System.out.println("5"+2);的输出结果应该是()。

A52B7

C2D5

答案:

A

11.在类的定义中可以有两个同名方法,每个方法的参数不同,这种现象称为方法(D)。

(A)封装(B)继承(C)覆盖(D)重载

12.java中定义字符串Strings=”pzhu”,下面操作可以取得字符串长度的是()。

A.s.length()B.s.lengthC.s.size()D.length(s)

解答:

A

13.指出下列程序运行的结果(B)(很难)

publicclassExample{

Stringstr=newString("good");

char[]ch={'a','b','c'};

publicstaticvoidmain(Stringargs[]){

Exampleex=newExample();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+"and");

System.out.print(ex.ch);

}

publicvoidchange(Stringstr,charch[]){

str="testok";

ch[0]='g';

}

}

A、goodandabc

B、goodandgbc

C、testokandabc

D、testokandgbc

14.下面代码的运行结果为:

(C)(较难)

importjava.io.*;

importjava.util.*;

publicclassfoo{

publicstaticvoidmain(String[]args){

Strings;

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

}

}

A代码得到编译,并输出“s=”

B代码得到编译,并输出“s=null”

C由于Strings没有初始化,代码不能编译通过

D代码得到编译,但捕获到NullPointException异常

15.关于以下程序段,正确的说法是(C)

1.Strings1=”abc”+”def”;

2.Strings2=newString(s1);

3.if(s1==s2)

4.System.out.println(“==succeeded”);

5.if(s1.equals(s2))

6.System.out.println(“.equals()succeeded”);

A、行4与行6都将执行

B、行4执行,行6不执行

C、行6执行,行4不执行

D、行4、行6都不执行

16.Javaapplication中的主类需包含main方法,main方法的返回类型是什么?

(D)A、intB、float

C、doubleD、void

17.为一个boolean类型变量赋值时,可以使用(B)方式

A、boolean=1;

B、booleana=(9>=10);

C、booleana="真";

D、booleana==false;

18.表达式(11+3*8)/4%3的值是(D)

A、31B、0C、1D、2

19.运算符优先级别排序正确的是(A)(太难)

A、由高向低分别是:

()、!

、算术运算符、关系运算符、逻辑运算符、赋值运算符;

B、由高向低分别是:

()、关系运算符、算术运算符、赋值运算符、!

、逻辑运算符;

C、由高向低分别是:

()、算术运算符、逻辑运算符、关系运算符、!

、赋值运算符;

D、由高向低分别是:

()、!

、关系运算符、赋值运算符、算术运算符、逻辑运算符;

20.下列值不为true的表达式有(C)。

A、"john"=="john"

B、"john".equals("john")

C、"john"="john"

D、"john".equals(newString("john"))

21、下面的方法,当输入为2的时候返回值是多少?

(D)(很难)

publicstaticintgetValue(inti){

intresult=0;

switch(i){

case1:

result=result+i;

case2:

result=result+i*2;

case3:

result=result+i*3;

}

returnresult;

}

A0B2C4D10

答案:

D

解析:

注意这里case后面没有加break,所以从case2开始一直往下运行。

22、下面有关for循环的描述正确的是(A)

A、for循环体语句中,可以包含多条语句,但要用大括号括起来

B、for循环只能用于循环次数已经确定的情况

C、在for循环中,不能使用break语句跳出循环

D、for循环是先执行循环体语句,后进行条件判断

23、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是(B)

temp=score[0];

for(intindex=1;index<5;index++){

if(score[index]

temp=score[index];

}

}

A.求最大数B.求最小数C.找到数组最后一个元素D.编译出错

 

26、

 

2.2填空题

1、Java语言是一种完全的_面向对象_程序设计语言

2、Strings1=“China”;intn=s1.length();n的值为_5__

3、在Java语言中,基本数据类型包括:

____整数类型、____浮点类型、____字符类型_和____布尔类型

17、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用__2___字节内存空间,这样,无论是中文字符还是英文字符,都是占用__2___字节内存空间。

18、设x=2,则表达式(x++)/3的值是__0___。

20、设有数组定义:

intMyIntArray[]={10,20,30,40,50,60,70};

则执行以下几个语句后的输出结果是:

120。

intMyIntArray[]={10,20,30,40,50,60,70};

ints=0;

for(inti=0;i

if(i%2==1)

s+=MyIntArray[i];

System.out.println(s);

21、数组对象的长度在数组对象创建之后,就__不会____改变。

数组元素的下标总是从___0___开始。

22、对于数组int[][]t={{1,2,3},{4,5,6}}来说,t.length等于__2___,t[0].length等于__3____。

2.3简答题

1、Java的基本数据类型有哪8种,每种类型的内存空间分别是多少。

2.4综合题

26、编程计算10~20的整数的平方值,将结果保存在一个数组中。

27、编写一个程序使之从键盘读入10个整数存入整型数组a中,并输出这10个整数的最大值和最小值。

importjava.util.Scanner;

publicclasslianxi30{

publicstaticvoidmain(Stringargs[]){

Scannertemp;

float[]sum=newfloat[11];

floatmax,min;

for(inti=0;i<10;i++){

System.out.println("请输入第一个数字(回车结束):

");

temp=newScanner(System.in);

Stringa=temp.nextLine();

sum[i]=Integer.parseInt(a);//获取输入的字符串

}

max=sum[0];

min=sum[0];

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

{

if(max

max=sum[j];

elseif(min>sum[j])

min=sum[j];

}

System.out.println(max);

System.out.println(min);

}

}

31、如果我国经济以每年10%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。

classexA4_1{

publicstaticvoidmain(Stringargs[]){

inta=0;

doublei=0.10,sum=1;

while(sum<=4){

sum=(i+1)*sum;

a++;

System.out.println("第"+a+"年达到"+sum);

}

System.out.println("需要"+a+"年实现两番");

}

}

 

第3章类和对象

3.1单项选择题

 

1、下列关于变量的叙述哪个是错的?

()

A.实例变量是类的成员变量。

B.在方法中定义的局部变量在该方法被执行时创建。

C.实例变量用关键字static声明。

D.局部变量在使用前必须被初始化。

解答:

C

2、在Java语言中,下列哪个包是编译器自动导入的?

()

A.java.appletB.java.lang

C.java.ioD.java.awt

解答:

6、不允许作为类及类成员的访问控制符的是()。

A.publicB.private

C.staticD.protected

解答:

C

7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。

A、staticvoidmethod()B、publicvoidmethod()

C、finalvoidmethod()D、abstractvoidmethod()

解答:

A

8、可以在下面代码段pointx处写入的是?

()

//pointx

publicclassInteresting{

//dosomething

}

A.Stringstr;

B.staticintPI=3.14;

C.publicclassMyClass{//dootherthing…}

D.importjava.awt.*;

解答:

D

9、Java提供的许多类在不同的包中,使用下面哪个语句可以引入包中的类。

A.packageB.include

C.importD.add

解答:

C

11、已知A类被打包在packageA,B类被打包在packageB,且B类被声明为public,且有一个成员变量x被声明为protected控制方式。

C类也位于packageA包,且继承了B类。

则以下说法正确的是:

()

A、A类的实例不能访问到B类的实例

B、A类的实例能够访问到B类一个实例的x成员

C、C类的实例可以访问到B类一个实例的x成员

D、C类的实例不能访问到B类的实例

解答:

C(太难)

13、在Java中,关于final关键字的说法正确的是()

A、如果修饰变量,则一旦赋了值,就等同一个常量。

B、如果修饰类,则该类只能被一个子类继承。

C、如果修饰方法,则该方法不能在子类中被覆盖。

D、如果修饰方法,则该方法所在的类不能被继承。

解答:

A,C

14、关于构造方法以下说法错误的是(D)。

(A)构造方法名必须与类名一致(B)构造方法可以重载

(C)构造方法是通过new来调用(D)每个类都必须编写构造方法代码

15、关于类的定义以下说法错误(B)。

(A)类定义使用class关键字(B)每个类中必须有一个main方法

(C)一个包可以包含多个类(D)java中所有类都是Object类的子类

16、在创建对象时必须(C) 

A) 先声明对象,然后才能使用对象 

B) 先声明对象,为对象分配内存空间,然后才能使用对象 

C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 

D) 上述说法都对

17、在调用方法时,若要使方法改变实参的值,可以(B)

A)用基本数据类型作为参数B)用对象作为参数

C)A和B都对D)A和B都不对

18、关于以下程序代码的说明正确的是(D)

classHasStatic{

privatestaticintx=100;

publicstaticvoidmain(Stringargs[]){

HasStatichs1=newHasStatic();

hs1.x++;

HasStatichs2=newHasStatic();

hs2.x++;

hs1=newHasStatic();

hs1.x++;

HasStatic.x--;

System.out.println(“x=”+x);

}

}

A、5行不能通过编译,因为引用了私有静态变量

B、10行不能通过编译,因为x是私有静态变量

C、程序通过编译,输出结果为:

x=103

D、程序通过编译,输出结果为:

x=102

19、以下关于构造函数的描述错误的是(A)。

A、构造函数的返回类型只能是void型。

B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

20、Java中,在如下所示的Test类中,共有(C)个构造方法。

publicclassTest{

privateintx;

publicTest(){x=35;}

publicvoidTest(doublef){This.x=(int)f;}

publicTest(Strings){}

}

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

21、在Java中,关于构造方法,下列说法错误的是(C)

A、构造方法的名称必须与类名相同

B、构造方法可以带参数

C、构造方法不可以重载

D、构造方法绝对不能有返回值

22、在Java语言中,下列关于类的继承的描述,正确的是(B)。

A、一个类可以继承多个父类

B、一个类可以具有多个子类

C、子类可以使用父类的所有方法

D、子类一定比父类有更多的成员方法

23、分析选项中关于Java中this关键字的说法正确的是(A)

A、this关键字是在对象内部指代自身的引用

B、this关键字可以在类中的任何位置使用

C、this关键字和类关联,而不是和特定的对象关联

D、同一个类的不同对象共用一个this

24、在Java接口中,下列选项中有效的方法声明是(A)

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

当前位置:首页 > 高等教育 > 哲学

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

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