文档库 最新最全的文档下载
当前位置:文档库 › Java程序设计习题集

Java程序设计习题集

Java程序设计习题集
Java程序设计习题集

Java程序设计习题集

第一单元试题

一、选择题

1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A.java

B.class

C.html

D.exe

2.Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )

A.Java文档生成器

B.Java解释器

C.Java编译器

D.Java类分解器

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

A.安全性

B. 多线程

C. 跨平台

D. 可移植

4. Java编程所必须的默认引用包为( )

A.java.sys包

https://www.wendangku.net/doc/a83211546.html,ng包

C.java.new包

D.以上都不是

二、判断题

1. J2EE(Java 2 Platform Enterprise Edition)企业版是以企业为环境而开发应用程序的解决方案。()

2. J2ME(Java 2 Platform Micro Edition)——小型版是致力于消费产品和嵌入式设备的最佳解决方案。()

3. J2SE(Java 2 Platform Standard Edition)——标准版为桌面开发和低端商务应用提供了可行的解决方案。()

4. Java是区分大小写的语言,关键字的大小写不能搞错,如果把类class写成Class 或者CLASS,都是错误的。()

5. Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取的,它不一定与程序的主类名一致。()

6. 在JDK命令行开发工具中,用编译程序javac.Exe编译生成的文件是二进制可执行文件。()

7. Java程序可以分为Java Application和Java Applet两类,这两类程序的运行方式是相同的。()

8.操作系统Microsoft Wndows95/98/2000/XP/2003、Linux、UNIX、Mao OS等都是支持Java虚拟机的操作系统。()

9. Javac是Java编译器,用来将Java源程序编译成Java字节码的程序。字节码文件名和源文件名相同,扩展名是.class。()

10. appletviewer 是Java小程序浏览器,可以执行HTML文件中的 Java小程序,Applet。它是个模拟浏览器,可以显示Applet的运行结

果。()

三、简述题

1.简述Java语言的主要特点。

2. 简述Java程序的可移植性。

答案:

一、1.B 2.B 3.B 4.D

二、1. 对 2. 对 3. 对 4. 对 5. 错 6. 错7. 错8. 对9. 对10. 对

三、1.答:Java语言有下面一些特点:简单、面向对象、分布式、解释执行、健壮、

安全、体系结构中立、可移植、高性能、多线程以及动

态性。

2. 答:与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了了与不同平台的接口,使这些

类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C

实现,这使得Java系统本身也具有可移植性。 Write

once, run everywhere 也许是Java最诱人的特点。用Java开发成的系统其移植工作几乎为零,一般情况下只需对配置文件、批处理文件作

相应修改即可实现平滑移植。

第二单元试题

一、选择题

1.在Java中,属于整数类型变量的是( )

A. single

B. double

C. byte

D. char

2.下列语句片段

int a=10,b=4,c=20,d=6;

System.out.println(a++*b+c*--d);

结果为( )

A. 144

B. 28

C. 140

D. 不能执行

3.下列语句片段:

int a=-67,b=116,c=78;

int d=~a|b&c;

System.out.println(d); 的结果为( )

A. 70

B. 67

C. 78

D. 56

4.给出下面代码:

public class test{

static int a[] = new a[10];

public static void main(String args[]) {

System.out.println(arr[10]);

}

}

那个选项是正确的?( )

A. 编译时将产生错误

B. 编译时正确,运行时将产生错误;

C. 输出零;

D. 输出空。

5.下面哪些选项是正确的main方法说明?( )

A. public main(String args[])

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

C. private static void main(String args[])

D. void main()

6.System类在哪个包中( )

A. javA.util

B. java.io

C. java.awt

D. https://www.wendangku.net/doc/a83211546.html,ng

7.下列代码哪几行会出错: ( )

1) public void modify() {

2) int I, j, k;

3) I=100;

4) while(I>0){

5) j= I * 2;

6) System.out.println (" The value of j is " + j );

7) k=k + 1;

8) I--;

9) }

10)}

A. line 1

B. line 6

C. line 7

D. line 8

二、编程题

1. 在JBuilder 9集成开发环境建立你的工程文件名myjava.jpx,把myfirstapp.java添加

到myjava.jpx,并运行看结果。

2. 在你的D盘或E盘建立子文件夹myjava,用写字板编辑一个Java程序myfirstapp.java,保存在myjava目录下。程序实现在屏幕显示“你

好,这是我的第一个Java程序。”分别用Java Application和Java Applet 2种形式实现。三、简述题

1.简述保留字。

2. 简述标识符。

答案:

一、1.B 2.C 3.A 4.A 5.B 6.D 7.C

二、略

三、1. 答:保留字(关键字)是Java语言本身使用的标识符,它有其特定的语法含义。所有的Java关键字将不能被当作一般的标识符使用。

如:for、while、boolean等都是Java语言的保留字关键字。

2. 答:在Java源程序代码中程序员需要标识和使用的各种元素如变量、函数、类和

对象的名称就是标识符(identifier)。包括:包名称、类名、变量名、常量名、标号、方法名等。标识符要符合下面的规则。

第三单元试题

一、选择题

1.判断下列标识符是正确,答案写在()。(多选)

A. Java_proc

B. 科学家

C. _bit

D. 5job

E. t.45

F. %tools

G. 100.8

H. name

2. Math类是标准的数学类,它提供了一些基本数学运算的方法()。(多选)

A. 绝对值abs()

B. 指数运算exp()

C. 对数运算log()

D. 平方根sqrt()

E. 三角函数sin(),cos(),tan()

F. 求最大值max()、求最小值min()

G. 求乘方pow()

3.下列关于for循环和while循环的说法中哪个是正确的( )

A. while循环能实现的操作,for循环也都能实现

B. while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C. 两种循环任何时候都可替换

D. 两种循环结构中都必须有循环体,循环体不能为空

4.在Java中,不属于整数类型变量的是( )

A. double

B. long

C. int

D. byte

5.Java变量中,以下不属于复合类型的数据类型是( )

A. 类

B. 字符型

C. 数组型

D. 接口

6.JAVA程序经常用到“递归”,“递归”的基本思想是( )

A. “让别人反复调用自己”

B. “自己反复调用别人”

C. “自己反复调用自己”

D. 以上说法都不对

二、判断题

1.若循环变量在for语句前面已经有定义并具有循环初值,则初始语句可以为空(分号不可省略)。()

2.do…while循环的执行过程是无条件执行循环体一次,在根据判断条件决定是否继续执行循环体。()

3. Java语言的任何类型,包括整型、浮点型、字符和布尔型都可以使用运算符“==”来比较是否相等,用运算符“!=”来判断是否不

等。()

4.Java语言提供了三个专门的循环控制语句:for语句、while语句和do…while语句。()

5.Java语言提供了三个专门的循环控制语句:for语句、while语句和do…while语句。()

6.程序中的break语句是用于退出switch的,若无则程序将不再比较而是依次执行所有语句。()

三、简述题

1.简述Java的基本数据类型。

2. 简述Java的表达式和运算符。

3. 简述Java的方法(method)。

答案:

一、1. ABCH 2. ABCDEFG 3.D 4.D 5.B 6.B 7. D

二、1. 对2. 对 3. 对 4. 对 5. 对 6. 对7. 对

三、1. 答:基本数据类型包括: integer(整数),floating (浮点数),Boolean (布尔变量),Character or String(字符或字符串)。

2. 答:表达式是由标示符、常量、变量和运算符组成,是程序的基本组成部分。

运算符指明对各种操作数所进行的运算,Java提供了丰富的运算符,Java语言的基本运算符分为算术运算符、逻辑运算符、关系运算符

和位运算符4大类。同时也可以使用圆括号将一个表达式的几个部分组合到一起,并根据标准的代数规则建立优先地位。

3.答:方法(method)是类的一个成员,它和面向过程程序设计中的函数有很多类似之处。由于它是类的一个重要组成部分。

第四单元试题

一、判断题

1.若循环变量在for语句前面已经有定义并具有循环初值,则初始语句可以为空(分号不可省略)。()

2.do?while循环的执行过程是无条件执行循环体一次,在根据判断条件决定是否继续执行循环体。()

3.标号提供了一种简单的break语句所不能实现的控制循环的方法,当在循环语句中遇到break后面有标号时,不管其它控制变量如何,都会

终止标号的循环体。()

4.Java的类库是系统提供的已实现的标准类的集合,是Java编程的API,它可以帮助开发者方便、快捷地开发Java程序。()

5.Java的基础类库包https://www.wendangku.net/doc/a83211546.html,ng也要经过import语句引用。()

6.Java程序中使用import java.io.*;表示要引入带*的类。()

7.Java.awt包是Java语言用来构建图形用户界面(GUI)的类库,它包括了许多界面元素和资源,主要在3个方面提供界面设计支持:低级

绘图操作;图形界面组件和布局管理和界面用户交互控制和事件响应。()

8.Vector the Vecto =new Vector(100,100);这个语句创建了名称为the Vector的向量类

对象,它的每个成员的容量为100,共有10个元素。()

二、编程题

1. 编写一个程序,随机产生10个小写字母,并判断是元音字母、半元音字母还是复音字母。

2. 编写程序,找出50~100之间的所有素数。

三、简述题

1.什么是类?什么是对象?类和对象有何联系?

2.方法的重载和方法的覆盖有什么不同?

3.类变量和实例变量有何区别?

4. 抽象类和抽象方法有什么特点?

答案:

一、1. 对2. 对 3. 对 4. 对 5. 错 6. 错7. 对8. 错

二、1. 算法设计:

● 应用:char c= (char)(Math.random()*26+'a')随机产生一个小写的英文字母。

● 元音字母:a、e、i、o、u五个,半元音字母y、w二个其他19个都是复音字母。

● 使用for 循环。

● 使用switch ?case 方式。

参考源程序如下:(javajc\ch02\ Vowels Consonants.java):

package ch02;

public class VowelsConsonants {

public static void main(String[] args) {

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

char c = (char)(Math.random()*26+'a');//生成随机字母

System.out.print(c+" is ");

//判断是哪一类字母

switch(c)

{case 'a':

case 'e':

case 'i':

case 'o':

case 'u':

System.out.println("a vowel. ");

break;

case 'y':

case 'w':

System.out.println("Sometimes a vowel. ");

break;

default:System.out.println("a consonant. ");

}

}

}

}

2. 算法提示:一个数字的因子是1和本身,则这个数是素数。

源程序(javajc\ch02\FindPrime.java):

package ch02;

/**

*

Title:求素数

*

Description: 一个数字的因子是1和本身,则这个数是素数

*

Company: 学院信息技术系

*

Address:杭州下沙4号大街

*

Email:qinxueli@https://www.wendangku.net/doc/a83211546.html,

*

Postcode:310018

* @version 1.0

*/

public class FindPrime {

public static void main(String[] args) {

next:for( int i=50;i<=100;i++){

for (int j=2;j

if (i % j == 0) //如果因子,不是素数,取下一个属判断

continue next;

}

System.out.print(i+" ");//输出因素

}

}

}

运行结果:

53 59 61 67 71 73 79 83 89 97

三、1. 答:在面向对象程序设计里,类是定义一个对象的属性和方法的蓝本。对象就是一组变量和相关方法的集合,其中变量表明对象

的状态,方法表明对象所具有的行为。类是对象的模板,对象是类的实例,可以从一个类中创建许多对象。

2. 答:方法重载,指的是在类中创建多个具有相同名称,但使用不同参数的方法,Java虚拟机根据传递给方法的参数个数和类型决定调

用哪个重载方法。方法的覆盖指在子类中重新定义父类中已有的方法,对于重写的

方法,运行时系统根据调用该方法的实例的类型来决定选

择哪个方法调用。

3.答:由static修饰的变量称为类变量,当系统在程序中第一次遇到一个类时,便会拷贝一份所有的类变量在内存里。然后那些由此类

产生的实例便可分享这些类变量。

实例变量指不是用static修饰的变量,可供实例方法使用。实例变量会复制于每一个从类产生的实例中。

4.答:①一个抽象类里可以没有抽象方法,但含有抽象方法的类必定为抽象类。

②抽象类不能被实例化为对象,而只能作为其它类的超类,并且必须被继承。

③若某子类继承自一个抽象类,而该子类不是抽象类,则子类需用覆盖的方式来实例化超类中的所有抽象方法。抽象方法可再与

public、protected复合使用,但不能与final、private和static复合使用。

④抽象方法只有方法声明,不能有方法体。

第五单元试题

一、填空题

1.在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。

2.Java中所有类都是_______类的子类。

3.通过_______运算符就能实现对对象成员变量的访问和对象方法的调用。

4.类的构造方法的名称必须与_______名相同。

5.类方法只能处理用关键字_______修饰的对象。

二、选择题

1.对象使用时,下面描述错误的是( )

A. 通过“.”运算符调用成员变量和方法

B. 通过成员变量的访问权限设定限制自身对这些变量方法的调用

C. 将一个对象申明为类的成员时,必须在使用前为其分配内存

D. 在方法中使用对象作为参数时,采用引用调用

2.定义一个名为“MyClass”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( )

A. private class MyClass extends Object

B. class MyClass extends Object

C. public class MyClass

D. private class MyClass extends Object

3.Java中访问限定符不包括( )

A. public

B. private

C. default

D. final

4.构造方法何时被调用( )

A.类定义时

B.创建对象时

C.调用对象方法时

D.使用对象的变量时

5.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( )

A.public

B.private

C.protected

D.transient

三、程序阅读题

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

public class T1

{

public static void main (String[] args)

{

T1 a=new T1();

a.method(8);

a.method(1.2f);

}

void method(float i)

{

System.out.println("float: "+i);

}

void method(long i)

{

System.out.println("long: "+i);

}

}

(2)定义类A和类B如下:

class A

{

int a=1;

double d=2.0;

void show( )

{

System.out.println("Class A: a="+a +"\td="+d);

}

}

class B extends A

{

float a=3.0f;

String d="Java program.";

void show( )

{

super.show( );

System.out.println("Class B: a="+a +"\td="+d);

}

}

(1) 若在应用程序的main方法中有以下语句:

A a=new A(); a.show();

则输出的结果如何?

(2) 若在应用程序的main方法中定义类B的对象b:

A b=new B(); b.show();

则输出的结果如何?

答案:

一、1. super 2. Object 3. 圆点 4. 类 5. static

二、1.B 2.C 3.D 4.B 5.C

三、1.答:编译出错,Mine应声明为abstract类型。

2.答:程序可以编译运行,输出结果为:long: 8 float: 1.2

3.答:Class A: a=1 d=2.0

Class A: a=1 d=2.0

Class B: a=3.0 d=Java program.

第六单元试题

一、判断题

1. 内部类可以访问外层类的任何变量,包括私有的。()

2.匿名类可以有构造器,声明时候不能带参数。()

3.抽象方法可以是static的。()

4.构造器没有任何返回类型,哪怕是void也不行。()

5.只要类中显式地定义一个,那么Java不会再为你定义一个默认的构造器。()

6.构造方法可以被继承。()

7.方法的参数变量不能是final的()

8.一个Java类可以有多个父类,这称作多继承.()

二、简答题

1.Java的成员变量修饰符有哪几种?其中哪种修饰符限定的范围最大?

2.写出下列关键字的意义和运用场合:①final;②finalize;③finally。

3.作用域public,private,protected,以及不写时的区别

三、编程题

请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:分别描述一张牌的牌面值(如:A、K、Q、J、10、

9、?、3、2等)和花色(如:“黑桃”、“红桃”、“梅花”和“方块”)。定义Card类中的public访问权限的构造方法,为类中的变量赋

值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值; 定义protected访问权限的方法getSuit(),得到扑克牌的花色; 定义方法

toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”)。答案:

一、1. T 2. F 3. F 4. T 5. T 6. F 7. F 8.F

二、1. 答:成员变量的修饰符有public、protected、private、static、final、transient、volatile七种。Public修饰符的限定范围最大。

2. 答:final, finally, finalize的区别如下:

final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例

如关闭文件等。

3. 答:区别如下:

作用域当前类同一package 子孙其他package

public √√√√

protected √√√×

friendly √√××

private √×××

不写时默认为friendly

三、解题思路如下:

class Card {

private String face;

private String suit;

public Card( String f, String s ) {

face = f;

suit = s;

}

protected String getSuit(){

return suit;

}

protected String getFace(){

return face;

}

public String toString(){

return face + " of " + suit;

}

}

第七单元试题

一、判断程序段

1. abstract class Name {

private String name;

public abstract boolean isStupidName(String name) {} }

2. abstract class Something {

private abstract String doSomething ();

}

3. public class Something {

public int addOne(final int x) {

return ++x;

}

}

4. public class Something {

public static void main(String[] args) {

Other o = new Other();

new Something().addOne(o);

}

public void addOne(final Other o) {

o.i++;

}

}

class Other {

public int i;

}

5. class Something {

int i;

public void doSomething() {

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

}

}

二、下面代码编译和运行的结果是什么?

1. class Value{

public int i = 15;

}

public class Test{

public static void main(String argv[]){

Test t = new Test();

t.first();

}

public void first(){

int i = 5;

Value v = new Value();

v.i = 25;

second(v, i);

System.out.println(v.i);

}

public void second(Value v, int i){

i = 0;

v.i = 20;

Value val = new Value();

v = val;

System.out.println(v.i + " " + i);

}

}

A.15 0 20

B.15 0 15

C.20 0 20

D.0 15 20

2. class FatherClass {

public FatherClass(){

System.out.println("FatherClass Create");

}

}

public class ChildClass extends FatherClass{ public ChildClass() {

System.out.println("ChildClass Create");

}

public static void main(String[] args)

{

FatherClass fc = new FatherClass();

ChildClass cc = new ChildClass();

}

}

3. public class Static{

static{

int x = 5;

}

static int x,y;

public static void main(String args[]){

x--;

myMethod();

System.out.println(x + y + ++x);

}

public static void myMethod(){

y = x++ + ++x;

}

}

A.编译错误

B.输出1

C.输出2

D.输出3

4. class MyParent {

int x, y;

MyParent(int x, int y){

this.x = x;

this.y = y;

}

public int addMe(int x, int y){

return this.x + x + y + this.y;

}

public int addMe(MyParent myPar){ return addMe(myPar.x, myPar.y);

}

}

class MyChild extends MyParent{

int z;

MyChild (int x, int y, int z){

super(x,y);

this.z = z;

}

public int addMe(int x, int y, int z){

return this.x + x + this.y + y + this.z + z;

}

public int addMe(MyChild myChi){

return addMe(myChi.x, myChi.y, myChi.z); }

public int addMe(int x, int y){

return this.x + x + this.y + y;

}

}

public class MySomeOne{

public static void main(String args[]){

MyChild myChi = new MyChild(10, 20, 30);

MyParent myPar = new MyParent(10, 20);

int x = myChi.addMe(10, 20, 30);

int y = myChi.addMe(myChi);

int z = myPar.addMe(myPar);

System.out.println(x + y + z);

}

}

A.300

B.240

C.120

D.180

答案:

一、1. 错。abstract method必须以分号结尾,且不带花括号。

2. 错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节。

3. 错。int x被修饰成final,意味着x不能在addOne method中被修改。

4. 正确。在addOne method中,参数o被修饰成final。如果在addOne method里我们修改了o的reference(比如: o = new Other();),那么如同上例

这题也是错的。但这里修改的是o的member vairable(成员变量),而o的reference并没有改变。

5. 正确。输出的是"i = 0"。

二、1. 正确答案A

2. 答案:

FatherClass Create

FatherClass Create

ChildClass Create

3. 正确答案D

4. 正确答案:A

第八单元试题

一、判断程序段

1. class Something {

final int i;

public void doSomething() {

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

}

}

7. interface Playable {

void play();

}

interface Bounceable {

void play();

}

interface Rollable extends Playable, Bounceable { Ball ball = new Ball("PingPang");

}

class Ball implements Rollable {

private String name;

public String getName() {

return name;

}

public Ball(String name) {

https://www.wendangku.net/doc/a83211546.html, = name;

}

public void play() {

ball = new Ball("Football");

System.out.println(ball.getName());

}

}

二、下面代码编译和运行的结果是什么?

1. class MyThread extends Thread{

public void run(){

System.out.println("MyThread: run()");

}

public void start(){

System.out.println("MyThread: start()");

}

}

class MyRunnable implements Runnable{

public void run(){

System.out.println("MyRunnable: run()");

}

public void start(){

System.out.println("MyRunnable: start()");

}

}

public class MyTest {

public static void main(String args[]){ MyThread myThread = new MyThread(); MyRunnable myRunnable = new MyRunnable(); Thread thread = new Thread(myRunnable); myThread.start();

thread.start();

}

}

A.打印MyThread: start() 后面跟MyRunnable: run()

B.打印MyThread: run() 后面跟MyRunnable: start()

C.打印MyThread: start() 后面跟MyRunnable: start()

D.打印MyThread: run() 后面跟MyRunnable: run()

2. // 文件名:SuperclassX.java

package packageX;

public class SuperclassX{

protected void superclassMethodX(){}

int superclassVarX;

}

//文件名:SubclassY.java

1.package packageX.packageY;

2.

3.public class SubclassY extends SuperclassX

4.{

5. SuperclassX objX = new SubclassY();

6. SubclassY objY = new SubclassY();

7. void subclassMethodY()

8. {

9. objY.superclassMethodX();

10. int i;

11. i = objY.superclassVarX;

12. }

13.}

A.第5行编译错

B.第9行编译错

C.第11行意外

D.都不是

3. 程序段如下:

1.class MyClass

2.{

3. void myMethod(int i) {System.out.println("int version");}

4. void myMethod(String s) {System.out.println("String version");}

5. public static void main(String args[])

6. {

7. MyClass obj = new MyClass();

8. char ch = 'c';

9. obj.myMethod(ch);

10. }

11.}

A.第四行编译出错

B.第九行抛出例外

C.输出结果:int version

D.输出结果:String version

4. public class ThrowsDemo {

static void throwMethod() {

System.out.println("Inside throwMethod.");

throw new IllegalAccessException("demo");

}

public static void main(String args[]) {

try {

throwMethod();

} catch (IllegalAccessException e) {

System.out.println("Caught " + e);

}

}

}

A.编译错

B.运行错

C.编译成功,但是没有输出结果

D.以上都不是

5. class X {

Y b = new Y();

X() {

System.out.print("X");

}

}

class Y {

Y() {

System.out.print("Y");

}

}

public class Z extends X {

Y y = new Y();

Z() {

System.out.print("Z");

}

public static void main(String[] args) {

new Z();

}

}

A.Z

B.YZ

C.XYZ

D.YXYZ

6. public class MyThread implements Runnable { String myString = "Yes ";

public void run() {

this.myString = "No ";

}

public static void main(String[] args) { MyThread t = new MyThread();

new Thread(t).start();

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

System.out.print(t.myString);

}

}

A. 打印yes yes yes yes yes yes B. 打印no no no no no no no no

C. 打印yes no yes no ye no ye no D. 不确定

答案:

一、1. 错。final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器)

结束之前被赋予一个明确的值。可以修改为"final int i = 0;"。

2. 错。Ball ball = new Ball("PingPang");"实际上是"public static final Ball ball = new Ball("PingPang");"。在Ball类的Play()方法中,"ball =

new Ball("Football");"改变了ball的reference,所以编译时间错。

二、1.答案A

2.答案D

3.答案C

4.答案:A

5.答案D

6.答案D

第九单元试题

一、填空题

1.创建包需要使用的关键字是______,而且该语句应该是整个“.java”文件的______。

2.按异常处理不同可分为捕获异常、声明异常和______ 三种。

3.Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常。

4.接口中的成员只有静态常量和______。

5.Throwable类是类库______包中的一个类,它派生了两个子类:______和______。

二、简答题

1.Error类和Exception类有什么区别?

2.接口和抽象类有什么区别?

3.什么是包?为什么要使用包?

三、阅读下面的程序,并将有错误的地方更正。

1. public class MyClass

{

public static void main(String args[])

{

myMethod();

}

public void myMethod() throw MyException

{

throws(new MyException());

}

}

class MyException

{

public String toString()

{

return("用户自定义的异常");

}

}

2.在空白处填上合适的语句。

public class ServerTimedOutException extends Exception

{

private int port;

public ServerTimedOutException(String message, int port)

{

super(message);

this.port = port;

}

public int getPort()

{

return port;

}

}

class Client

{

//在下行空白出填上声明抛弃ServerTimedOutException异常的语句

public void connectMe(String serverName) ________________________

{

int success;

int portToConnect = 80;

success = open(serverName, portToConnect);

if (success == -1)

{

//在下行空白处填上抛出ServerTimedOutException异常的语句

____________________________________________________________

}

}

}

答案:

一、1. Pakage、第一条语句

2.抛出异常

3. Catch

4.抽象方法

https://www.wendangku.net/doc/a83211546.html,ng、Error、Execption

二、1.答:Error类及Exception类是Throwable类的两个直接子类。Error类描述的是内部系统错误,包括动态链接失败、虚拟机错误等,Java程

序不做处理。Exception类描述的是程序和外部环境引起的错误,这些错误能通过程序捕获和处理,Exception类是Java程序中需要大量处理

的。

2.答:从本质上讲,接口是一种特殊的抽象类,然而它们又有区别:

第十单元试题

一、简答题

1.什么是异常?为什么要进行异常处理?

2.简述异常处理的过程。

二、选择题

1. 下面( )是正确的接口。

A. interface A

B. abstract interface A

{ {

Void print(){ }; print();

} }

C. abatract interface A

D. interface A

{ {

Abstract void print(){ }; void print();

} }

2.在异常处理中,如释放资源、关闭文件、关闭数据库等由()来完成。

A. try子句

B. catch子句

C. finally子句

D. throw子句

3.当方法遇到异常又不知如何处理时,下列哪种说法是正确的()。

A. 捕获异常

B. 抛出异常

C. 声明异常

D. 嵌套异常

4.关键字( )可以抛出异常?

A. transient

B. throws

C. throw

D. static

5.下面是一个有错的程序:

1 package payroll;

2 class EmployeeNames{

3 public static String[] names={"a","b"};

4 public static String[] getNames(){

5 return names;

6 }

7 }

另一个文件

8 package client

9 import payroll.EmployeeNames;

10 public class TraderNames extends EmployeeNames{

11 public String[] traders={"c","d"};

12 }

下面有四个改正项,哪个答案能改正程序?( )

A.8 package client;

B.2 protected class EmployeeNames{

C.1 package paryroll;

D.9 import payroll.EmployeeNames

6.

String str = "Java";

StringBuffer buffer = new StringBuffer(str);

if(str.equals(buffer)){

System.out.println("Both are equal");

}else{

System.out.println("Both are not equal");

}

A. both are not equal

B. both are equal

C.编译错

D. 运行错

7. class Parent{

private void method1(){

System.out.println("Parent's method1()");

}

public void method2(){

System.out.println("Parent's method2()");

method1();

}

}

class Child extends Parent{

public void method1(){

System.out.println("Child's method1()");

}

public static void main(String args[]){

Parent p = new Child();

p.method2();

}

}

A. 编译错

B. 运行错

C. 打印parent’s method2() parent’s method1()

D. 打印parent’s method2() child’s method1()

8. 下面程序段的编译和运行的结果是什么?

String s1 = new String("Test");

String s2 = new String("Test");

if (s1==s2) System.out.println("Same");

if (s1.equals(s2)) System.out.println("Equals");

A. Same Equal

B. Equals

C. Same

D. 编译错

9. 那一行的输出结果是false ?

1.public class MyClass

2.{

3. static String s1 = "I am unique!";

4. public static void main(String args[])

5. {

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

Java程序设计习题集(含答案)

目录 一、判断题 ................................................................. 错误!未定义书签。 二、选择题 ................................................................. 错误!未定义书签。 三、填空题 ................................................................. 错误!未定义书签。 四、写出下列程序完成的功能................. 错误!未定义书签。 五、写出下面程序的运行结果................. 错误!未定义书签。 六、使用Java语言编写程序 ..................... 错误!未定义书签。 七、简答题 ................................................................. 错误!未定义书签。 Java程序设计习题集 一、判断题 1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。( F ) 2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。( T ) 4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。( F )(应该是左上角) 5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。( F) 6.Final类中的属性和方法都必须被final修饰符修饰。( F )(静态的必须被静态的修饰符修饰) 7.最终类不能派生子类,最终方法不能被覆盖。(T ) 8.子类要调用父类的方法,必须使用super关键字。( T ) 9.一个Java类可以有多个父类。( F ) 10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p 是正确的。( F ) 11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。( T )

JAVA语言程序设计期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char

JAVA程序设计期末习题集

第5章Java标准类库 习题五 一、简答题 1.计算调用下列方法得结果。 Math、sqrt(4); // 2、0 Math、pow(4, 3); // 64、0 Math、max(2, Math、min(3, 4)); // 3 2.下列程序中构造了一个set并且调用其方法add(),输出结果就是( 2 )。 import java、util、*; public class T1_2 { public int hashCode() { return 1; } public boolean equals(Object b) { return true; } public static void main(String args[]) { Set set = new HashSet(); set、add(new T1_2()); set、add(new String("ABC")); set、add(new T1_2()); System、out、println(set、size()); } } 3.Collection有哪几种主要接口?(Collection、List、Map、Set) 4.基本得集合接口有哪些? 5.映射、集合与列表得含义就是什么? 6.HashMap类与TreeMap类有何区别? 7.HashSet类与Treeset类有何区别? 8.ArrayList类与LinkedList类有何区别? 二、选择题 1.可实现有序对象得操作有哪些?(CD) A.HashMap B.HashSet C.TreeMap D.LinkedList 2.迭代器接口(Iterator)所定义得方法就是(ABC)。 A.hasNext() B.next() C.remove() D.nextElement() 3.下列方法属于java、lang、Math类得有(方法名相同即可)(ABCD)。 A.random() B.abs() C.sqrt() D.pow() 4.指出正确得表达式有(AB)。

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、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、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

JAVA程序设计习题集

JA V A程序设计习题集 第一章 1、动手完成Java 开发包的安装,并设置环境变量Path ,熟悉开发工具。 2、编写一个程序,要求程序运行后在屏幕上输出: *************************** This is my first java program! *************************** 3、编写一个程序,该程序从命令行接收4 个参数,并将接收的4 个参数打印输出到屏幕。 第二章 1、指出下列哪些变量名称是不合法的? tomSalary,float,1people,people1,price_per_m,price-per_m,$root,@test 2、编写一个程序,求解一元二次方程:ax2+bx+c=0. 参数a,b 及c 从命令行输入。 提示:需要用到https://www.wendangku.net/doc/a83211546.html,ng.Math 类,Math 类中提供了多种用于科学计算的方法,例如开发sqrt, 求幂pow 等等。 3、写出int min=x>y?y:x 的等价if 语句。 4、利用java API 帮助文档,找到一个可以将给定的字符串转化为小写的方法。 5、打印出成绩等级,如果成绩大于等于90 分,输出“优秀”,如果成绩大于等于80 分,输出“良好”,如果大于等于70 分,输出“中等”,如果大于等于60 分,输出“及格”,其它输出“不及格”。 第三章 1、选择题 (1)程序TestSketch.java 代码如下,4 个选项中正确的描述是() Class A{} Class B extends A{} Public class TestSketch{ Public static void mian(String[] args){ A a=new A();

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B ) 。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A)0 B) 1 C) 2 D) 3 2.设i 、j 为int 型变量名, a 为int 型数组名,以下选项中,正确的赋值语句是( B ) 。 A)i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是(B )。 A)多重的B) 单重的C) 线程的D) 不能继承 4.设有定义int i = 6 ; ,则执行以下语句后,i 的值为( C ) 。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。 A) interface B) package C) extends D) class 6.若已定义byte[ ] x= {11,22,33,-66} ; 其中O W k<3,则对x数组元素错误的引用是(C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后, ch1 的值是( B ) 。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B

Java程序设计期末考试试题

Java程序设计期末考试试题、试卷、习题A卷 一、选择题。本题共20小题,每题2分,满分40 分。 1、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行……… () A)init() B)start() C)destroy() D)stop() 2、有以下方法的定义,请选择该方法的返回类型() ReturnType method(byte x, double y) { return (short)x/y*2; } A)byte B)short C)int D)double 3、以下哪项可能包含菜单条()。 A)Panel B)Frame C)Applet D)Dialog 4、Java application中的主类需包含main方法,main方法的返回类型是什么?()A)int B)float C)double D)void 5、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A)String args B)String ar[] C)Char arg D)StringBuffer args[] 6、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A). java B) .class C) . html D) .exe 7、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。 A)3 B)3. 5 C)4 D)5 8、不允许作为类及类成员的访问控制符的是( )。 A)public B)private C)static D)protected 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A)static void method( ) B)public void method( ) C)final void method( ) D)abstract void method( ) 10、以下哪一个不是JAVA的标准数据流( )。 A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流 11.设有下面两个赋值语句:( ) a = Integer.parseInt(“123”); b = Integer.valueOf(“123”).intValue(); 下述说法正确的是()。 A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。 12、下列代表十六进制整数的是( ) A)0123 B)1900 C)fa00 D)0xa2

《Java编程基础知识点汇总及习题集》--答案

目录 第一章Java入门2? 第二章 Java基础5? 第三章条件转移1?4 第四章循环语句20? 第五章方法 ............................................... 26 第六章数组33? 第七章面向对象........................................... 42第八章异常63? ? 第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个 平台中最核心的部分,包含Java最核 心的类库。?JavaEE:(J2EE,Java 2 Platform, EnterpriseEdition,企业版), 开发、装配、部署企业级应用,包含 Servlet、JSP、JavaBean、JDB C、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platfor mMicro Edition,微型版),用于 小型电子设备上的软件开发。

2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径,J VM在运行时通过classpath加载需 要的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将 编写好的Java文件(.java)编译成 Java字节码文件(.class); ?java.exe:Java运行工具,启动Java 虚拟机进程,运行编译器生成的字节 码文件(.class) 5、一切程序运行的入口 publicstatic voidmain(String args []){ System.out.println(“Hel lo World!”); } 课堂笔记 练习题 一、填空题 1、Java的三个技术平台分别是(J2SE )、(J2EE)、(J2ME)。 2、Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是( J2SE ), 对于企业开发应用的是(J2EE),对于嵌入式设备应用开发的是( J2ME )。 (classpath )。 3、建立Java开发环境,安装JDK,一般需要设置环境变量(path)、 4、编写一个Java源程序,其文件名为Test.java,则编译该源程序的命令为(javac ),运行 该程序的命令为( java),生成文档注释的命令为( javadoc)。 5、Java程序的运行环境简称之为( JRE)。

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

《JAVA程序设计》期末考试试题汇总

《JA V A程序设计》期末考试试题 汇总 (适用于计科11) 喻思远 2012-12-3

前言: 同学们,JA V A考试就要来咯,现在我给大家一份复习资料,这份资料是我从网上找的,是各高校历年的期末试题,然后经过我的删选而得的。主要题型是单选题,填空题,判断题,读程序题,写程序题。 其中需要注意注意的是,最后的写程序题,本套题目中相对较少,我们的期末考试考的写程序题应该是书上的原题,因此我过两天再给大家说下具体可能考的写程序题目。还有,这份题目中可能有些题目重复了或很相似,对于这种出现次数多的题目,同学们要更加引起重视。这个题库题目较多,不要求大家能够看完每道题,只希望把看到的掌握好。大家一定要结合课本来复习,毕竟这个题不是老师给的,不会像c++那样都是原题。 最后,我想说明一点,我给这个题库只是想给大家一个复习的思路,知道考什么知识点,然后进行复习。 加油,同学们,JA V A考试的成功一定会眷顾你!!!

《JA V A程序设计》期末考试试题(一) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. privates C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; ,

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

Java程序设计试卷及答案

Java程序语言试卷(A) 答题卡: 一题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________ 6.___________________________________________________________ 四题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________五题:

《JAVA程序设计》模拟题带答案(A卷)

《JAVA程序设计》模拟题 一.判断题 1.Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(对) 2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。(错) 3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。(对) 4.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。(错) 5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法(错) 6.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。 (错) 7.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。(对) 8.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。(对) 9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象。 (错) 10.System类不能实例化,即不能创建System类的对象。(对) 11.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所 以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。(对) 12.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。(错) 13.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(对) 14.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。(对) 15.所有的鼠标事件都由MouseListener监听接口的监听者来处理(错) 二.单项选择题 1.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。 A、import java.awt.* ; B、import java.applet.* ; C、import java.io.* ; D、import java.awt.event.* ; 2. 关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( B ) A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B、可以被两种类访问和引用:该类本身、该类的所有子类 C、只能被该类自身所访问和修改 D、只能被同一个包中的类访问 3. Java application中的主类需包含main方法,main方法的返回类型是什么?( D ) A、int B、float C、double D、void 4. 设有下面两个类的定义: class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } } 则类Person和类Student的关系是( A )。 A、包含关系 B、继承关系 C、关联关系 D、上述类定义有语法错误 5 . 容器Panel和Applet缺省使用的布局编辑策略是( A ) A、FlowLayout B、BorderLayout C、GridLayout D、CardLayout

Java程序设计复习题

《Java程序设计》复习题 一、选择题 1.线程是Java的()机制。 A.检查 B.解释执行 C.并发 D.并行 2.Java语言的()特点能保证软件的可移植性。 A.健壮性 B.安全性 C.动态性 D.跨平台 3.下面不属于Java语言特点的是() A.面向过程 B.动态性 C.多线程 D.解释执行 4.Java作为编程语言,最基本的元素是() A.方法 B.对象 C.包 D.接口 5.下列项目中,不属于Java核心包的一项是() A.Javax.swing B.Java.io C. Java.util D. https://www.wendangku.net/doc/a83211546.html,ng 6.Java语言具有许多优势和特点,下面哪个特点是Java所不具有的?( ) A.利用了面向对象的技术基础 B.可移植性 C.独立于硬件 D.多重继承 7.下面的哪个特点不是Java虚拟机执行过程的特点( ) A.多线程 B.及时执行 C.动态连接 D.异常处理 8.下列属于Java语言垃圾回收机制的一项是( ) A.内存跟踪 B.异常处理 C.代码安全检测 D.健壮性 9.下列说法不正确的是() A.表达式可以作为其它表达式的操作数 B.单个的常是时或变量可以作为表达式 C.表达式和表达式语句是一样的 D.表达式的类型可以和操作数的类型不一致 10.下面选项不是表达式语句的是( ) A.a++ B.a=b+c; C.a+=b; D.System.out.println(“A”); 11.下列程序的输出结果为( ) public class B { public static void main(String[ ] args){ int x=5; double y=10.5f; float z=(float)(x*y); System.out.purintln(z); } } A.50.0 B. 52.0 C. 50.5 D. 52.5 12.对以下程序段,说法正确的是( ) int a=10; int t=0; do { t=a++; } while(t<=10); A.一次都不执行 B.执行一次 C.执行两次 D.无限次执行 13.下列程序的输出结果为() public class A{ public static void main(String[ ] args){ int a=3,b=4,c=5,d=6,e=7;

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

相关文档
相关文档 最新文档