文档库

最新最全的文档下载
当前位置:文档库 > java程序设计答案

java程序设计答案

java程序设计练习题一

一、单项选择题

1、下面哪个不是Java的关键字?( )

A、integer

B、double

C、float

D、char

2、常见的面向对象的程序设计语言包括()。

A、Pascal

B、Fortran

C、Java

D、C

3、在Java语言中,程序中最基本单位是哪一个?()

A、方法

B、类

C、语句

D、接口

4、while循环和do……while循环的区别是()?

A、没有区别,这两个结构任何情况下效果一样

B、while循环比do……while循环执行效率高

C、while循环是先循环后判断,所以循环体至少被执行一次

D、do……while循环是先循环后判断,所以循环体至少被执行一次

5、下面描述错误的有( )。

A、抽象类可以被继承

B、抽象类不可以被实例化

C、如果一个类中有抽象方法,则这个类一定是抽象类。

D、如果一个类是抽象类,那么这个类中一定有抽象方法。

6、实现一个线程有几种方法?()

A、一种

B、两种

C、三种

D、三种以上

7、下列哪一项不是Applet的生命周期方法?()

A、start()

B、getCodeBase()

C、destroy()

D、init()

8、下列标识符中,合法的一个是( )。

A、a#@!$

B、a--$

C、2aas

D、$11$

9、为了实现多线程程序中线程间通讯,需要使用的是()

A、File stream

B、Piped stream

C、Random access stream

D、Filter stream

10、设有定义int x=5;则执行以下语句后,x的值为( )。

x+=10;

A、10

B、15

C、20

D、25

11、执行下列程序段之后,输出的结果为( )。

public class aa{

public static void main(String[ ]args){

int a=5;

int b=5;

int c=10;

c/=(++a/(b--));

System.out.println( c);

}

}

A、0

B、5

C、10

D、15

12、下列哪些语句关于内存回收的说明是正确的? ( )

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

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

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

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

13、下列描述中,哪一项不属于finally语句应该执行的功能( )?

A、释放资源

B、关闭文件

C、分配资源

D、关闭数据库

14、下列说法中,错误的一项是( )。

A、MouseAdapter是鼠标运动适配器

B、WindowAdapter是窗口适配器

C、ContainerAdapter是容器适配器

D、KeyAdapter是键盘适配器

15、JApplet的默认布局管理器是( )。

A、FlowLayout

B、BorderLayout

C、GridLayout

D、BoxLayout

16、为了使包ch4在当前程序中可见,可以使用的语句是( )。

A、import ch4.*;

B、package ch4.*;

C、ch4 imporl,;

D、ch4 package;

17、设有定义int a=11;则执行以下语句后,a的值为( )。

a*=11;

A、121

B、11

C、22

D、0

18、编译,运行下列代码后的结果是:()。

public class Test {

static int age;

public static void main (String args[]) {

age = age + 1;

System.out.println("The age is " + age);

}

}

A、编译,运行后没有输出

B、编译,运行后输出:The age is 1

C、能通过编译,但运行时产生错误

D、不能通过编译

19、下列描述中不正确的一项是( )。

A、Java是纯面向对象语言

B、c++不是纯面向对象的,它兼容c语言

C、在Java语言中,使用对象时必须先声明

D、Java语言和c++一样有指针

20、哪个关键字可以对对象加互斥锁?( )

A、transient

B、synchronized

C、serialize

D、static

21、下列不属于Java保留字的一个是( )。

A、else

B、Unicode

C、char

D、static

22、下列选项中属于Java语言的垃圾回收机制的一项是( )。

A、语法检查

B、堆栈溢出检查

C、跨平台

D、内存跟踪

23、float类型数据和double类型数据做加法,得到结果的类型是( )。

A、int类型

B、short类型

C、double类型

D、float类型

24、以下字符常量中不合法的一个是( )。

A、’l’

B、?\\?

C、”\n”

D、?我?

25、下列说法中,不正确的一项是( )。

A、Java程序有两类:Application和Applet

B、类的方法只能由public修饰

C、面向对象的程序设计的优点有:可重用性、可扩展性、可管理性

D、Java语言通过接口支持多重继承

26、下列哪个不是面向对象程序设计方法的特点?()

A、抽象

B、继承

C、多态

D、结构化

27、下列选项中,列出用于定义类成员的访问控制权的一组保留字是( )。

A、class,float,double,public

B、float,boolean,int,long

C、char,extends,float,double

D、public,private,protected

28、有双精度浮点数a和b,a为负无限值,b为正无限值,下列哪一个是正确的a/b的值?( )

A、负无限

B、正无限

C、0.0

D、NaN

29、下列单精度浮点数fV alue的赋值语句中,不正确的一个是( )。

A、fValue=(double)-23.234f;

B、fValue=(char)-12.34f;

C、fV alue=(char)-56.78d;

D、fV alue=(int)23.234f;

30、下列说法中错误的一个是( )。

A、$1$eabc是合法的Java标识符

B、局部变量必须先声明后使用

C、void不是合法的Java保留字

D、类名是用标识符命名的

31、对于一个二位的十进制正整数x,求它的十位数字Y(Y为整型)的表达式是( )。

A、Y=x—x/10%10

B、Y=(x—x/10*10)%10

C、Y=x%10

D、Y=x/10

32、阅读下列代码段,选出该代码段的正确的文件名( )。

class A{

void methodl(){

System.out.println(”methodl in class A”):

}

}

public class B

void method2(){

System.out.println(”method2 in class B”):

}

public static void main(String args[]){

System.out.println(”main()in class B”):

}

}

A、A .java

B、A.class

C、B.class

D、B.java

33、现有一个整型数组a [4],它的所有数组元素是( )。

A、a0,a1,a2,a3

B、a[0],a[1],a[2],a[3]

C、a [1],a [2],a[2],a[4]

D、a [0],a[1],a [2],a[3],a[4]

34、下列关于Java语言和c++语言之间差别的描述中,不正确的一项是( )。

A、Java虽然提供了安全机制,但是还是没有c++安全

B、Java的内存管理优于c++的内存管理

C、Java没有全局变量,但是c++有全局变量

D、Java没有指针,但是c++的指针最灵活

35、下列程序中的循环体将会被执行( )。

public class ex6{

public static void main(String[ ]args){

int x=3;

do{

System.out.println(“Hello!”);

x--;

}while(x>=0);

}

}

A、1次

B、2次

C、3次

D、4次

36、若有定义int a=3;则执行完语句a-=a+=a*a;后,a的值是( )。

A、0

B、3

C、9

D、-9

37、在使用interface声明一个接口时,只可以使用哪一个修饰符修饰该接口?()

A、private

B、protected

C、private protected

D、public

38、现有一个变量声明为boolean bl;,下面赋值语句中正确的是( )。

A、b1=true;

B、b1=True;

C、bl=”true”;

D、bl=0;

39、Java语言属于下列哪一种语言?()

A、面向机器的语言

B、面向对象的语言

C、面向过程的语言

D、面向操作系统的语言

40、下列方法中哪一个不能用于获取异常信息( )?

A、toString ( )

B、getMessage( )

C、drawline( )

D、printStackTrace()

41、下列关于注释语句的描述中,正确的一项是( )。

A、以//开始的是多行注释语句

B、以/*开始,*/结束的是单行注释语句

C、以/**开始,*/结束的是可以用于生成帮助文档的注释语句

D、以/**开始,*/结束的是单行注释语句

42、对下面的语句序列正确的说法是()

int c=’A’/3; c+=’1’%5; System.out.println(c);

A、产生编译错误

B、输出结果25

C、输出结果21

D、输出结果2

43、算术表达式1+2/3—4*5的值为( )

A、1

B、-19

C、-5

D、0

44、运行下列代码中的方法divide(int a, int b) ,传递4,0,结果是:()

public void divide(int a, int b) {

try {

int c = a / b;

} catch (Exception e) {

System.out.print("Exception ");

} finally {

System.out.println("Finally");

}

A、打印输出: Exception Finally

B、打印输出: Finally

C、打印输出: Exception

D、没有任何输出

45、Applet使用下列哪一项布局管理器?()

A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout

46、main()方法是Java Application程序执行的入口点,关于main()方法的方法头下面哪一项是合法的?( )

A、public static void main( )

B、public static void main(String args[ ])

C、public static int main(Stnng[ ]arg)

D、public V oid main(Stnng arg[ ])

47、下列哪个是正确的字符常量?()

A、“DA”

B、…da?

C、…字”

D、…\t?

48、下列标识符中,正确的是( )。

A、1_Back

B、$_Money

C、$-money

D、2-Foward

49、构造方法何时被调用:()

A、创建对象时

B、类定义时

C、使用对象的方法时

D、使用对象的属性时

50、public void add(int a) {…}方法的重写方法返回类型为:()

A、void

B、int

C、任何需要的类型

D、public

二、简答题

1、线程的状态主要有哪几个,请分别简述。

2、程序中的注释有什么作用,Java程序中有哪几种注释?

3、JA V A当中有几种循环结构?并简述其使用语法。

4、简述Java applet程序的生命周期中所涉及的方法。

5、在Java中对于异常的处理除了默认的异常处理程序(只能处理运行时异常)外,还提供了哪两种方式

来处理程序中可能存在的异常?简述这两种方法。

三、程序结果题

1、请给出下面程序的输出结果

public class test {

public static void main(String[] args) {

int x=5;

int y=7;

int z=0;

z=y++-(--x);

System.out.println(x);

System.out.println(y);

System.out.println(z);

} };

2、给出程序中数组a的值

public class test {

public static void main(String[] args) {

int[][] a=new int[3][3];

for (int i=1;i<4;i++)

for (int j=1;j<4;j++)

a[i-1][j-1]=(i

}

};

3、执行下列代码之后,输出的结果为( )。

public class ex23{

public static void main(String[ ] args){

int x=7;

int y=15;

boolean bb=(127-x)>7 && (-128^y)<15;

System.out.println(bb);

}

}

4、下列语句序列执行后,结果是什么?

public class ex24{

public static void main(String[ ]args){

int a=2;

int b=3;

int c=7;

int d=a>c?a:c;

d=d>>2>b?d:b;

System.out.println(b);

}

}

5、public class test1{

public static void main(String[ ]args){

int al=3;

int a2=4;

int xl=5;

if(++al

xl=xl+1;

System.out.println(xl);

}

}

四、编程题

1、编写一个输出"Hello World!"的程序,用两种方式实现。

2、若x=4,y=2,编程按照下列公式来计算z值,并在程序中给出输出z的结果的语句:

(1) z=x&y

(2) z=x|y

(3) z=x|y

(4) z=x>>y

(5) z= ~ x

3、水仙花数:编写程序找出所有的水仙花数并输出。水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如 371=3*3*3+7*7*7+1*1*1,371就是一个水仙花数。要求分别用for循环和while循环实现

4、下列程序中,要求输出一个特定文件(这里是ex2_1.java)的相关信息,包括文件的名字,相对路径以及文件的长度。请将程序补充完整。

程序运行结果如下:

name :ex2_1.java

path:ex2_1.java

length:299

import java.io.*;

public class ex2_1{

public static void main(String[ ]args){

File file2_1=new File("ex2_1.java");

System.out.println("name:"+file2_1.________);

System.out.println("path:"+file2_1. ________);

System.out.println("length:"+file2_1. ________);

}

}

5、编写打印下列图形的程序:#

# #

# # #

# # # #

6、定义一个表示教师的教师类,包括的域有身份证号、姓名、性别、年龄,包括的方法有获得身份证号、姓名、性别、年龄及修改年龄。编写Java程序创建teacher类的对象及测试其方法的功能。

7、设一字符串中包含有大写字母的字符,也有小写字母的字符,编写一程序,将其中的大小写字母的字符分别输出。

8、编写一段Java程序,查找1~100之间的素数并将运行结果输出。

java程序设计练习题二

一、单项选择题

1、下列关于long类型的说法中,正确的一项是( )。

A、long类型占存储空间和int类型一样大

B、long类型能表示的数值范围和int类型一样

C、long类型不能自动转换为int类型

D、常数Long.MIN_V ALUE代表整型的最小值

2、下列描述中,不正确的是( )。

A、Java不支持多线程

B、一个Java源程序中不允许有多个公共类

C、Java程序可以划分为两大类:Application和Applet

D、Java通过接口支持多重继承

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

A、形式参数个数或者类型不同

B、返回值类型不同

C、调用时用类名或对象名做前缀

D、形式参数名称不同

4、下列各选项中,哪一个是JA V A的合法标识符?()

A、1dsf

B、qa@21

C、$@a

D、_ss11

5、下列关于作用域的说法中,正确的一个是( )。

A、不同方法中声明的不同变量,可以互相访问

B、在不同方法中可以声明相同数据类型的同名局部变量

C、在同一个类中可以声明相同数据类型的同名类变量

D、在同一个程序块中可以声明相同数据类型的同名变量

6、下列选项中,哪一个属于输出流?()

A、从打印机流向控制器的数据流

B、从键盘流向内存的数据流

C、从内存流向控制器的数据流

D、从内存流向网络的数据流

7、下列哪一个类实现了线程组?()

A、http://www.wendangku.net/doc/c4039a806f1aff00bed51e68.htmlng.Objict

B、java.1ang.ThreadGroup

C、Java.1ang.Thread

D、java.1ang.Runnable

8、现有负无限值双精度浮点数x和负有限值单精度浮点数y,以下关于x%y的说法中,哪一个是正确的?

()

A、NaN

B、负无限单精度浮点数

C、负有限双精度浮点数

D、负无限双精度浮点数

9、现有2个char类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应该是( )。

A、?a?

B、?c?

C、12

D、语句在编译时出错

10、下列数据类型中,哪一个不属于Java数据类型?()

A、接口

B、无符号整数类型

C、整数类型

D、浮点数类型

11、下列关于转义符的说法中,不正确的一项是( )。

A、\r表示回车

B、\f表示走纸换页

C、\t表示横向跳格

D、\b表示换行

12、布局管理器可以管理构件的哪个属性?()。

A、大小

B、颜色

C、名称

D、字体

13、下列哪一项不属于Applet中的显示方法?()

A、update()

B、repaint()

C、init()

D、paint()

14、char类型被包装在如下的哪一个类中?( )

A、iava.1ang.Integer

B、java.1ang.Char

C、http://www.wendangku.net/doc/c4039a806f1aff00bed51e68.htmlng.Boolean

D、java.1ang.Character

15、下列说法中,正确的一项是( )。

A、双精度数强制转换成单精度数后,其数值精度会提高

B、Java语言中的布尔变量可以和整型变量相互强制转换

C、强制转换是将存储长度长的数据转换为长度短的数据

D、强制转换是将存储长度短的数据转换为长度长的数据

16、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么?()

A、13个字节码文件,扩展名是.class

B、1个字节码文件,扩展名是.class

C、3个字节码文件,扩展名是.java

D、3个字节码文件,扩展名是.class

17、定义Java.Applet程序时,必须有的import语句是( )。

A、import java.awt.event;

B、import java.util. * ;

C、import java.applet.Applet;

D、import java.1ang.* ;

18、对于双精度浮点类型,常数NaN是由哪个包装类提供的?( )

A、java.1ang.Integer

B、java.1ang.Float

C、java.1ang.Long

D、java.1ang.Double

19、定义类时,不可能用到的保留字是( )。

A、private

B、class

C、extends

D、implements

20、能构成多分支的语句是( )。

A、for语句

B、while语句

C、switch语句

D、do—while语句

21、下列选项中,不属于Java语言特点的一项是( )。

A、分布式

B、安全性

C、编译执行

D、面向对象

22、下列API不属于java .1ang.Math类的一个是( )。

A、random()

B、abs()

C、drawLine()

D、sin()

23、抽象方法:()

A、可以有方法体

B、可以出现在非抽象类中

C、是没有方法体的方法

D、抽象类中的方法都是抽象方法

24、下列的变量定义中,错误的一个是( )。

A、int i;

B、int 22_$;

C、int i=Integer.MIN_V ALUE;

D、static short a=10;

25、如果在编译Java程序时,编译结果报告说找不到要编译的代码,通常的错误不是如下的哪一项?()

A、没有import相应的包

B、文件名拼写错误

C、未加.java后缀

D、源文件不在当前目录下

26、在Java中下列哪种技术属于垃圾回收机制?()

A、字节编译

B、语法检查

C、内存跟踪

D、堆栈上/下溢检查

27、下列说法中正确的一个是( )。

A、标识符区分大小写

B、”a”不是一个字符串

C、float f=3.14;是合法的语句

D、float f=(int)3.14;不是合法的语句

28、已知定义:int a[ ]={1,2,3,4,5,6,7,8,9,10} ;,为了打印输出数组a的最后一个元素,下

面正确的代码是( )。

A、System.out.println(a[10]);

B、System.out.println(a[9]);

C、System.out.println(a[a.1ength]);

D、System.Out.println(a(8));

29、下列关于异常使用原则的说法中错误的一项是( )。

A、程序中所有异常都可以不用捕获处理

B、中止程序,不让程序继续向下运行

C、使问题简化,不用花很多时间在跟踪错误上

D、让程序更安全

30、下列关于Java程序结构的描述中,不正确的一项是( )。

A、一个Java源文件中可以包括一个package语句

B、一个Java源文件中可以包括多个类定义,但是只能有一个public类

C、一个Java源文件中可以有多个public类

D、源文件名与程序类名必须一致

31、下列哪一项不属于AWT布局管理器?()

A、GridLayout

B、CardLayout

C、BorderLayout

D、BoxLayout

32、下列说法中不正确的一项是( )。

A、Tread类中没有定义run()方法

B、可通过继承Thread类来创建线程

C、Runnable 类中定义了run()方法

D、可以通过实现Runnable接口来创建线程

33、下列哪一项是java.applet.Applet的子类?()

A、javax.swing.JApplet

B、java.awt.Panel

C、java.awt.Window

D、javax.swing.JFrame

34、下列命名符合java命名方式的是?( )

A、char

B、dfe

C、*——

D、#09!

35、下列关于Unicode字符的说法中,不正确的一项是( )。

A、Unicode字符集比ASCII字符集丰富

B、Unicode字符是16位无符号数

C、字符常量?a?以八进制数表示为?\142?

D、字符常量?a?以八进制数表示为?\14l?

36、下列关于int类型和long类型的说法中,正确的一个是( )。

A、int类型可以自动转换为long类型

B、long类型可以自动转换为int类型

C、long类型占的存储空间比int类型的小

D、long类型和int类型数据能表示整数的范围一样

37、下列说法中错误的一项是()。

A、Java语言提供了检测与避免死锁的机制

B、在Java语言中,要避免死锁,只能通过程序进行控制

C、释放锁的时候,应该按照死锁顺序的逆序进行

D、在编写程序的时候,可以对所有共享数据设汁一个统一的加锁顺序

38、设x为int型变量,则执行以下语句段后,x的值为()

x=10;x+=x;

A、20

B、10

C、40

D、30

39、下列数据表示十六进制数的一个是( )。

A、02l

B、123

C、?23?

D、0xa34

40、下列描述中,正确的一项是( )。

A、异常机制可以用于流程控制

B、finally代码段在发生异常时不一定必须执行

C、在catch代码段中可以使用return语句来返回到异常抛出点

D、可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件

11、下列语句序列执行后,r的值是()

int x=5,y=10,r=5;

switch(x+y)

{

case 15:r+=x;

case 20:r-=y;

case 25:r*=x/y;

default:r+=r;

}

A、15

B、10

C、0

D、20

12、编译并运行下面的程序,运行结果为()

public class A {

public static void main(String[] args){

A a=new A();

a.method(8);

}

void method (int i) { System.out.println("int: "+i); }

void method (long i) { System.out.println("long: "+i); }

A、程序有编译错误,不能运行

B、可以运行,输出结果为long:8

C、可以运行,输出结果为int:8

D、可以运行,但没有输出

13、下列关于类、包和源文件的说法中,错误的一项是( )。

A、一个文件可以属于一个包

B、一个包可包含多个文件

C、一个类可以属于一个包

D、一个包只能含有一个类

14、一个处于运行过程中的Java Application在系统中是作为一项( )。

A、代码

B、程序

C、进程

D、线程

15、设有定义int a=12;则执行以下语句后,a的值为( )。

a*=12;

A、144

B、12

C、24

D、0

16、下列属于Java语言的特点的一项是( )。

A、运算符重载

B、类间多重继承

C、指针操作

D、垃圾回收

17、在类中若要处理ActionEvent事件,则该类需要实现的接口是( )。

A、ActionListener

B、Runnable

C、Serializable

D、Event

18、以下的选项中能正确表示Java语言中的一个整型常量的是( )。

A、435

B、-34+3

C、34,000

D、4 5 6

19、下列关于浮点型数据的说法中,不正确的一个是( )。

A、浮点型数据属于实型数据

B、浮点型数据由数据和小数组成

C、浮点型数据小数位数越少越精确

D、浮点数据包括实型常量和实变量

20、下列情况中,哪一项不需要异常机制。( )

A、当方法因为自身无法控制的原因而不能完成其任务时

B、编译出错时

C、处理在方法、类库、类中抛出的异常时

D、使系统从故障中恢复时

二、简答题

1、Java有哪些基本数据类型?请描述其分类情况。

2、Java中的注释分为几种,请简述

3、试比较break和continue语句的区别?

4、while和do......while的作用是什么,并说明它们的差异。

5、简述JA V A标识符命名规则。

三、程序结果题

1、给出下列程序的输出结果:

public class test{

public static void main(String[] args)

{

int x=5,y=8,z;

z=x+y*x++;

System.out.println(z);

System.out.println(x);

} };

2、下列代码的执行结果为:

public class Test {

public static void main(String[] args) { String s1=new String("Hello");

String s2=new String("Hello");

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

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

}

}

3、给出下列程序的输出结果:

public class ex23{

public static void main(String[ ]args){

float x=5;

float y=5;

double c=10;

c%=(++x)*y;

System.out.println(x);

System.out.println(c);

}

}

4、下列代码的执行结果为:

public class ex23{

public static void main(String[ ]args){

int x=12;

int m=11;

int y=13;

int temp=x>y?x:y;

System.out.println(temp);

temp=temp>m?temp:m;

System.out.println(temp);

}

}

5、public class test1{

public static void main(String[]args)

{

for(int cnt=0;cnt<10;cnt++)

{

if (cnt==5)

break;

System.out.print(cnt);

}

}

}

四、编程题

1、编写程序,求

10

2

1

k

k

=

∑的值。.

2、编写打印下列图形的程序。%

% %

% % %

% % % %

3、有一函数:

x (x<1)

y = 3x-2 (1≤x<10)

4x (x≥10)

编写一程序,x值通过键盘输入,输出y值。

4、编写打印下列图形的程序:(10分)

* * * * * * *

* * * * *

* * *

*

5、编写一程序,查找某一字符串是否包含有“abc”。

6、3、考虑一个2×3的数组a。(20分)

(1) 为a写一个声明。试问,这样的声明使a有多少行,多少列,多少元素?

(2) 写出a 的第1行的所有元素的名字。

(3) 写一条语句,置行1列2的元素为零。

(4) 写一个嵌套for结构,将a 的每个元素初始化为零。

(5) 写一条语句,求第3列元素的和。

7、编写程序,打印三角形状的九九乘法表,要求使用break或continue语句。(20分)