文档库 最新最全的文档下载
当前位置:文档库 › Java程序设计课后练习答案

Java程序设计课后练习答案

Java程序设计课后练习答案
Java程序设计课后练习答案

《J a v a程序设计》课后练习答案

第一章Java概述

一、选择题

1.( A )是在Dos命令提示符下编译Java程序的命令,( B )是运行Java程序的

命令。

A.javac

B.java

C.javadoc

D.javaw

2.( D )不是Java程序中有效的注释符号。

https://www.wendangku.net/doc/d05688608.html,ss

B. .jar

C. .jav

D. .java

二、简答题

1、Java的跨平台的含义是什么为什么Java可以跨平台

Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。

Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。以下图展示了Java程序从编译到最后运行的完整过程。

2、简述Java语言的特点

Java具有以下特点:

1)、简单性

Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java 还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。2)、可靠性和安全性

Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。

3)、面向对象

Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。

4)、平台无关和解释执行

Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。下图展示了Java程序从编译到最后运行的完整过程。

5)、分布式

分布式包括数据分布和操作分布,而Java支持WWW客户机/服务器计算模式,因此也支持这两种分布式。

6)、多线程

Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。

三、综合编程题

1、请编写一个简单的Java程序能够输出“这是我的第一个Java程序”。(注意为程序添

加合适的注释和文档注释)。

/**

* 第一个java程序

*/

public class Demo {

/**

* main方法,程序的起点

*/

public static void main (String[] args) {

Double B. this C. string D. bool

1.下面属于Java关键字的是( D )。

A. NULL

B. IF

C. Do

D. goto

2.在启动Java应用程序时可以通过main( )方法一次性地传递多个参数。如果传递的参数

有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用( B )把整个参数引起来。

A.单引号

B. 双引号

3.下面哪个是Java语言中正确的标识符(BD )。

A. 5x

B. $x

C. abc@

D. com

4.Java语言中,下列标识符错误的是( D )。

A. _abc

B. abc

C. ABC

D. 5abc

5.在Java中,整型常量不可以是( A )。

A. double

B. Long

C. int

D. byte

6.在Java中,不属于整数常量的是( D )。

A. 100

B. 100L

C. 0x100A

D. 6.0f

7.下面哪个语句能定义一个字符变量chr( B )。

A. char chr=’abcd’;

B. char chr=’\uabcd’;

C. char chr=”abcd”;

D. char chr=\uabcd;

8.下面哪个是对字符串s1的不正确定义(CD )。

A. String s1=”abcd”;

B. String s1;

C. String s1=‘abcd\0’;

D. String s1=”\abcd”;

9.下面哪个范围是char型的取值范围( C )。

A.-256 ~ 255

B. - (2^15) ~ (2^15)-1

C. \u0000’ ~ ‘\uffff’

D. 0~32767

10.下面哪条语句不能定义一个float型的变量f1(ABD )。

A. float f1=

B. float f1=

C. float f1=

D. f1=3.14F

11.下列运算结果为float的是( C )。

A. 100/10

B. 100*10

C. +10

D. 100-10

12.数组中可以包含什么类型的元素( D )。

A. int型

B. string型

C. 数组

D. 以上都可以

13.Java中定义数组名为xyz,下面哪项可以得到数组元素的个数( B )。

A. ( )

B.

C. len(xyz)

D. ubound(xyz)

14.下面哪条语句定义了3个元素的数组( A )。

A. int [ ] a={20,30,40};

B. int a [ ]=new int(3);

C. int [3] array;

D. int [ ] arr;

二、简答题

1、Java有哪些基本的数据类型写出这些基本数据类型所占用的最大空间(用字节描述)。

(1)数字型(number),具体又分为:

a.整型(integers),整型又包括:

①字节整数(byte, 8 bits)

②短整数(short, 16 bits)

③整数(int, 32 bits)

④长整数(long, 64 bits)

b.实型(real numbers),具体又分为:

①单精度(float, 32 bits)

②双精度(double, 64 bits)

(2)字符型(char, 16-bit Unicode字符)

(3)布尔型(boolean)。

2、说明Java字符编码的类型与特点。

Java字符编码的类型为Unicode,具有以下特点:

(1)Unicode是16比特的字符编码,其支持当前世界上绝大多数的语言;

(2)Unicode给每个字符提供了一个唯一的编码表示,不论是什么平台、程序或语言;

(3)Windows系统(Windows 2000版本)、Java、XML、LDAP等已支持Unicode;

(4)Unicode实现了ISO/IEC 10646标准;

3、写出Java中六个常用的转义字符。

\b 退格

\t 制表符

\n 换行(Newline)

\r 回车(Carriage return)

\' 单引号

4、下面的几个标示符哪些是正确的,哪些是错误的,如果是错误的,请说明原因。

MyClass, _isHis, 3JavaProgram, _$asdf, Java-Visual-Machine

MyClass:正确,符合标识符的组成规则。

_isHis:正确,符合标识符的组成规则。

3JavaProgram:错误,因为第1个符号不能为数字。

_$asdf:正确,符合标识符的组成规则。

Java-Visual-Machine:错误,标识符不能为保留字。

5、说出常量与变量的定义并举例说明。

常量是指程序执行过程中,值保持不变的量,类型划分如下:

整型常量

实型常量

布尔型常量

字符型常量

字符串常量

如整型常量:

变量是指在程序执行过程中,值可以改变的量,类型划分为:整型变量、实型变量、字符型变量、字符串变量、布尔变量等。如:int x=2,就定义了一个整型变量x并且赋值为2。

6、什么是强制类型转换并说明其运用场合。

显型类型转换是强制类型转换,它是一种窄化转换(narrowing conversion),如:

double a = ;

float b = a;

编译:"possible loss of precision"

数据精度丢失,数据丢失。

强制类型转换一般运用在

二元运算符的二个操作数类型不同

表达式值的类型与变量的类型不同

7、描述Java程序的构成。如何判断Java程序的主类下面的程序有哪些错误并改正,该程序的源代码应当保存为什么

名字的文件

Public class MyClass{

Public static void main(){

“my name is …”);

}

“the end!”);

}

Java程序的主类中包含main(),而其它类中没有;该程序的源代码应当保存为。另外该程序中包含以下的错误:(1)Public的第一个字符应当小写;

(2)定界符“”应当改为"";

(3)printIn应该为println\

(4)“the end!”); 代码应放在方法中

8、结构化程序设计有哪三种基本流程分别对应Java中的那些语句

结构化程序设计有下面三种基本流程:顺序结构语句,条件选择语句,循环控制语句,跳转/转向语句。

条件选择语句对应Java中的if,if-else,嵌套的if-else,条件运算符,switch-case。

循环控制语句对应Java中的for,while,do-while语句。

跳转/转向语句对应Java中的contonue,break,return语句。

9、在一个循环中使用break,continue,return的差别。

break:跳出(中止)循环

continue:结束本次循环

return:方法返回

10、数组的定义,特点与分类。如何进行数组的初始化

数组的定义:数组是一组同类型的变量或对象的集合。

数组的特点:数组的类型可以是基本类型,或类和接口;数组中每个元素的类型相同;引用数组元素通过数组名[下标];数组下标(数组的索引)从0开始。数组是一种特殊的对象(Object),可以定义类型(声明);创建数组(分配内存空间) ;释放(Java虚拟机完成)。

数组分类:一维数组、多维数组。

第三章面向对象的实现

一、选择题

1.在Java中,用package说明一个包时,该包的层次结构必须是( B )。

A. 与文件的结构相同

B. 与文件的目录层次相同

C. 与文件的类型相同

D. 与文件大小相同

2.下列构造方法的调用方式中,正确的是( C )。

A. 按照一般方法调用

B. 由用户直接调用

C. 可通过new自动调用

D. 被系统调用

3.int 型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是

( D )。

A. public int MAX_LENGTH=100

B. final int MAX_LENGTH=100

C. public const int MAX_LENGTH=100

D. public final int MAX_LENGTH=100

4.在Java中,以下叙述不正确的是( B )

A.构造方法名与类名相同。

B.构造方法不是用来完成初始化的。

C.构造方法由new 操作调用,而不能被用户直接调用。

D.构造方法没有返回类型。

5.在Java中,下面的叙述哪个是不正确的( D )

A.类的静态方法可以在该类的对象被创建前调用

B.类的静态方法不能访问该类的非静态方法

C.abstract 修饰符可以出现在类或方法的前面,但不能出现在变量之前

D.final 修饰符可以出现在类或变量之前,但不能出现在方法之前

6.在Java里,下列选项( D )不是实现面向对象思想的机制。

A.封装

B. 继承

C.多态

D. 数据类型转换

7.类Worker是类Person的子类,Worker构造方法中有一句"super( );",该语句是什么意

思( C )

A.调用类Worker中定义的super( )方法

B.调用类Person中定义的super()方法

C.调用类Person的构造函数

D.语法错误

8.给定Java程序,如下:编译运行,结果是( C )。

public class Test{

private static final int counter=10;

public static void main(String[ ] args){

}

}

A. 10

B. 11

C. 编译错误

D. 运行时出现异常

9.给定如下Java代码,编译时会在( D )出现错误。(只选择一项)

class Parent{

}

class Child extends Parent{

public static void main(String[ ] args){

A.Parent p1 = new Child( ); 第二行

C.第三行

D. 第四行

10.在Java中,某类方法使用下列(BC )访问修饰符修饰后,可以被其的子类访问。

A.private

B. protected

C.public

D. friendly

11.在Java 语言中,如果你有下面的类定义:

abstract class Shape{

abstract void draw();

}

class Square extends Shape{

}

以下描述正确的是( B )

A.一切成功编译

B.Shape可以编译,Square不能编译

C.Square可以编译,Shape不能编译

D.Square,Shape都不能编译

12.分析下列Java代码:

class A{

public static void main(String[ ] args){

method( );

}

static void method( ){

(0);

}

}

编译运行后,输出结果是( A )。

A."Hello"

B. "good-bye"

C."Hello"后面是"good-bye"

D. 代码不能编译

13.下表是final修饰符与变量、方法、类等一起作用的结果的对应表,但是对应关系存在

错误,请选择正确的对应关系。( C )

概念作用

1 变量 A 不能再产生子类

2 方法 B 一旦赋值,就不能更改

3 类 C不能在子类中覆盖

A.1-A 2-B 3-C

B.1-C 2-A 3-B

C.1-B 2-C 3-A

D.1-C 2-B 3-A

14.有以下程序:

public class ConstOver {

public ConstOver (int x, int y, int z) { }

}

下面哪个方法重载了上面的ConstOver构造方法( B )

A.protected int ConstOver ( ){ }

B.private ConstOver (int z, int y, byte x) { }

C.public object ConstOver (int x, int y, int z) { }

D.public void ConstOver (byte x, byte y, byte z) { }

15.有以下程序:

class BaseClass {

private float x = 1.0f ;

public float getVar() ( return x;)

}

class Subclass extends BaseClass {

private float x = 2.0f;

A.good and gbc

C.test ok and abc

D. test ok and gbc

16.下列哪些语句关于内存回收的说明是正确的( B )

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

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

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

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

17.创建一个名为“”的文件,该文件中只有一个可被整个工程中的所有类访问的类,那么

该类的正确声明应为:( C )

A.private class MyClass extends Object

B. class TestClass extends Object

C.public class MyClass

D. public class TestClass

18.下列叙述中,错误的是( A )

A.内部类的名称与定义它的类的名称可以相同

B.内部类可用abstract修饰

C.内部类可作为其他类的成员

D.内部类可访问它所在类的成员

19.用于在子类中调用被重写的父类方法的关键字是( B )

A.this

B.super

C.This

D.Super

20.下面程序输出结果是( A )

public class Delta {

static boolean foo(char c) {

return true;

}

public static void main( String[] argv ) {

int i =0;

for ( foo('A'); foo('B')&&(i<2); foo('C')){

i++ ;

foo('D');

}

}

}

A.ABDCBDCB

B.ABCDABCD

C.编译错误

D.运行时异常

21.下列( B )修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问。

A.private

B. 无修饰符

C.public

D. protected

22.给出下列代码,如何使成员变量m 被方法fun( )直接访问( C )

class Test{

private int m;

public static void fun( ){

...

}

}

A.将private int m 改为protected int m

B.将private int m 改为public int m

C.将private int m 改为static int m

D.将private int m 改为int m

23.已知有下列类的说明,则下列哪个语句是正确的( A )

public class Test{

private float f = ;

int m = 12;

static int n = 1;

public static void main(String[ ] args){

Test t = new Test( );

}

}

A.;

B. ;

C.;

D. ;

24.下列代码的执行结果是( A )

public class Test{

public void aMethod( ) {

}

public static void main(String[ ] args){

Test test = new Test( );

( );

}

}

A.编译错误

B. 0

C. 1

D. 运行成功,但不输出

25.若特快订单是一种订单,则特快订单类和订单类的关系是( C )

A.使用关系

B. 包含关系

C.继承关系

D. 无关系

26.下列代码中,将引起一个编译错误的行是( D )

1)public class Test{

2)int m,n;

3)public Test( ) { }

4)public Test(int a) {m=a;}

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

6)Test t1,t2;

7)int j, k;

8)j = 0; k = 0;

9)t1 = new Test();

10)t2 = new Test(j,k);

11)}

12)}

A.第3行

B. 第5行

C.第6行

D. 第10行

27.下列叙述中,错误的是( D )

A.父类不能替代子类

B. 子类能够替代父类

C.子类继承父类

D. 父类包含子类

二、程序阅读题

1、写出以下程序的结果:

public class Test {

private static void printArray(int[] arr) {

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

}

private static void changeValue(int value) {

value*=2;

}

private static void changeValue(int[] arr) {

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

arr[i]*=2;

}

public static void main (String[] args) {

int[] arr={1,2,3,4,5};

changeValue(arr[0]);

printArray(arr);

changeValue(arr);

printArray(arr);

}

}

运行结果:

1,2,3,4,5,

2,4,6,8,10,

2、指出以下程序的错误,并改正:

public class Main {

public static final A obj = null;

public static void main(String[] args) {

obj = new A();

}

}

class A{

}

错误:final的对象不能改变。

3、指出以下程序的错误,并改正:

public class Test {

public static void main(String[] args) {

MyClass obj=new MyClass();

+=”,World!”;

}

}

class MyClass {

public String Info=”Hello”;

public MyClass(String Info)

{

=Info;

}

}

错误:MyClass obj=new MyClass();找不到匹配的构造方法。

4、指出下面程序的错误,并改正:

abstract class Animal {

public abstract void saySomething() {

你想说什么就说吧!”);

}

}

class Dog extends Animal {

public void saySomething() {

我现在有了第二职业:捉耗子!”);

}

}

public class Test {

public static void main (String[] args) {

Animal ani=new Dog();

();

}

}

错误:public abstractvoid saySomething()抽象方法不能有方法体。

三、简答题

1、简述继承、方法重写和抽象类如何支持多态性(略)

2、解释什么是方法重载和重定义,并举例说明他们的作用。(略)

3、说明抽象类与接口的区别。(略)

4、什么是垃圾回收,它是如何工作的什么是finalize()(略)

5、举例说明this关键字的作用(略)

6、举例说明java中枚举类型的用法。(略)

第四章异常和异常处理

一、选择题

1.以下( A )和( C )是Throwable的直接子类。

A.Error

B. NullPointerException

C.Exception

D. Assert

2.能单独和finally块一起使用的块是( A )

A.try

B. catch

C.throw

D. throws

3.下列异常类中,在多重catch中同时使用时( C )异常类的catch块应该最后列出

A.NullPointerException

B. ArithmeticException

C.Exception

D. ArrayIndexOutOfBoundsException

4.程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用

throw语句显式地引发异常,异常输出信息为"something wrong!",语句为( C )。

A.if (i>10) throw Exception("something wrong!");

B.if (i>10) throw Exception e ("something wrong!");

C.if (i>10) throw new Exception("something wrong!");

D.if (i>10) throw new Exception e ("something wrong!");

5.分析下列Java代码:

class A{

public static void main(String[ ] args){

method( );

}

static void method( ){

try{

(0);

}finally{

}

}

}

编译运行后,输出结果是( A )

A.Hello

B. good-bye

C.Hello

D. 代码不能编译

good-bye

6.关于捕获错误的语法try-catch-finally的下列描述正确的是( C )。

A.try必须和catch搭配使用

B.try可以单独使用

C.try-finally可以搭配使用

D.在try块后如果定义了finally,则不能再定义catch块

7.在Java 中,假定有一个包含引起异常(不是一个RuntimeException)的代码的方法,

用什么方式告诉方法的调用者要捕获该异常。( B )

A.throw Exception

B. throws Exception

C.new Exception

D. 不用特别指定

8.考虑下列JAVA代码:

class A{

public static void main(String[ ] args){

try{

"Hello,World!");

}

}

}

这段代码错误的原因是( A )。

A.没有catch和finally块

B.没有抛出异常的代码不能出现在try代码块内

C.如果没有catch块而使用try,main( )会总是抛出异常

D.class A没有throws IOException

9.考虑一下代码,编译运行之后,会( D )

String s=null;

(0));

A.输出null

B.没有输出

C.编译错误

D.编译成功,但是运行时报NullPointerException异常

10.研究下面的Java代码:

public class testException{

public static void main(String[ ] args){

int a[ ]={0,1,2,3,4};

int sum=0;

try{

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

sum=sum+a[i];

}catch(ArrayIndexOutOfBoundsException e){

}finally{

}

}

}

输出结果将是( C )。

A.10 数组越界

程序结束

B.10 程序结束

C.数组越界

程序结束

D.程序结束

第五章包和字符串

一、选择题

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

A. 包

B. 包

C. 包

D. 以上都不是

2.在Java中,所有类的根类是( A )

3.设有下面两个赋值语句:

x1=("123");

x2=("123").intValue();

下述说法正确的是( D )。

A.x1为int型变量,x2为Integer类的对象

B.x2为int型变量,x1为Integer类的对象

C.x1、x2均为Integer类的对象

D.x1、x2均为int型变量

4.在Java中,存放字符串常量的对象属于( B )类对象。

A. Character

B. String

C. StringBuffer

D. Vector

5.已知如下定义:String str = "I love";下面( D )表达式是合法的。

A. char ch = str[0];

B. int len = ;

C. String to = (1, 2);

D. str += "China";

6.设有以下程序段,执行后,屏幕输出( A )。

String s1 = "I love "+"China";

String s2 = new String(s1);

if (s1 == s2)

if (s2) == true)

A. equals

B. ==

C. == equals

D. 不输出

7.下列方法中,不属于类String的方法是( D )。

A. toLowerCase ()

B. replace ()

C. charAt ()

D. append ()

8.有下列程序:

public class aa{

public static void main(String[ ] args) {

String s = "";

try {

double number1 = (s);

int number2 = (s);

}catch(NumberFormatException nfe) {

}catch(Exception e){

}

}

}

执行结果是( C )。

A. B. Sorry C. Sorry D. 程序编译错误

第六章包和字符串

一、选择题

1.下列(A )集合不能含有重复元素。

A. Set

B. List

C. Map

D. Collection

2.当元素个数固定时,使用( D )集合查找效率最高。

A. Set

B. List

C. Map

D. Arrays

3.你希望存储少量数据并能快速访问. 你并不需要排序这些数据,那种数据结构最适合这

种需求( D )

A.TreeSet

B. HashMap

C. LinkedList

D. 数组

4.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的(B )

A.ArrayList myList=new Object();

B.List myList=new ArrayList();

C.ArrayList myList=new List();

D.List myList=new List();

5.关于HashMap和TreeMap类,判断下列那种说法是正确的( A )

A.它们都能方便地定位映射中的值对象

B.它们都实现了SortedMap接口

C.它们都能高效地按照顺序遍历键

D.以上说法都不对

6.下列哪个不是Iterator接口所定义的方法( D )

A. hasNext()

B. next()

C. remove()

D. nextElement()

7.关于链表结构,陈述错误的是哪个( B )

A.链表可动态增长

B.在链表中查找对象是最有效的

C.链表中的元素可以重复

D.通常情况下,向链表中插入元素的效率高于向ArrayList中插入元素的效率

8.Java语言的集合框架类定义在( B )语言包中。

9.Set 集合如何处理重复的元素( B )

A. 如果试图向Set集合中添加一个与集合中已有元素值相同的元素时,将抛出异常

B. 如果试图向Set集合中添加一个与集合中已有元素值相同的元素时,add方法返回

false

C. 如果试图向Set集合中添加一个与集合中已有元素值相同的元素时,将发生编译

错误

D. 可以在Set集合中添加一个与集合中已有元素值相同的元素

10.下列哪项是正确的( D )

A. Collection是集合继承体系中根类

B. Collection接口中提供了enumerator方法

C. interator方法返回Vector类的对象

D. 实现Set接口的类对象中,每个元素的值均不相等

11.给定下列java代码:

import .*;

public class LetterASort {

public static void main(String[ ] args) {

ArrayList strings = new ArrayList ( );

("aAaA");

("AaA");

("aAa");

("AAaa");

(strings);

for ( String s : strings ) {

}

}

}

对该程序编译运行,结果是( C )。

A.编译失败

B.aAaAaAaAAaaAaA

C.AAaaAaAaAaaAaA

D.AaAAAaaaAaAaAa

E.aAaAaAaAaAAAaa

F.运行时抛出异常

12.给定下列java代码:

;

public class Old {

public static Object get(List list){

return ( 0 );

}

}

以下选项中,哪三个能编译成功(ADE )

A.Object o = (new LinkedList());

B.Object o = (new LinkedList<>());

C.String s = (new LinkedList());

D.Object o = (new LinkedList());

E.String s = (String)(new LinkedList());

13.给定下列java代码:

public void takeList(List< extends String> list){

0042”;

public class MyInt implements Comparable{

private int i;

public MyInt(int i) { = i;}

public String toString() { return (i); }

public int compareTo(Object o){

MyInt i2 = (MyInt)o;

return ;

}

public static void main(String[] args) {

ArrayList list = new ArrayList();

(new MyInt(2));

(new MyInt(1));

(list);

}

}

该程序运行结果为[1,2],请将以下选项填入下划线内。

A.implements

B.Object

https://www.wendangku.net/doc/d05688608.html,parable

D.protected

E.public

F.i -

G.i

H.– i

https://www.wendangku.net/doc/d05688608.html,pare(MyInt o, MyInt i2)

https://www.wendangku.net/doc/d05688608.html,pare(Object o, Object i2)

https://www.wendangku.net/doc/d05688608.html,pareTo(MyInt o)

https://www.wendangku.net/doc/d05688608.html,pareTo(Object o )

二、综合编程题

1.设有一数列:a1=3,a2=8,……,a n=2a n-1+2a n-2,使用堆栈结构输出a n的若干项。

import

public class NumNameMap {

public static void main(String[] args) {

HashMap stu=new HashMap();

("1","list");

("2","Bill");

("3","Ann");

}

}

2.有如下的类:

public class NumberList{

private ArrayList al;

public NumberList(int[] value){

;

public class Forest implements Serializable {

private Tree tree = new Tree();

public static void main(String[] args) {

Forest f = new Forest();

try {

FileOutputStream fs = new FileOutputStream("");

ObjectOutputStream os = new ObjectOutputStream(fs);

(f);

();

} catch (Exception ex) {

();

}

}

}

class Tree {

}

结果是什么( B )

A.代码不能编译

B.代码可以编译,运行时抛出异常

C.一个Forest实例被序列化

D.一个Forest实例和Tree实例都被序列化

1.分析下面的代码:

1)import .*;

2)public class Foo implements Serializable{

3)public int x, y;

4)public Foo(int x, int y){ = x; = y;}

5)private void writeObject(ObjctOutputStream s) throws IOException{

6)(x);

7)(y);

8)}

9)private void readObject(ObjectInputStream s) throws IOException,

C.事件源

D. 事件处理程序

1.以下关于布局管理器哪句是错误的( D )

A.FlowLayout将组件按顺序从左到右、从上到下进行排列

B.BorderLayout布局将组件按照上、下、左、右、中进行排列

C.GridLayout布局将组件按照行和列的矩阵进行排列

D.BorderLayout布局中允许放置多于5个的组件

2.以下那句描述不正确( D )

A.Swing组件是在AWT基础上发展起来的

B.Swing组件是纯Java的轻量型组件

C.所有的Swing组件均已“J”开头

D.Swing组件所在的包在中

3.哪个组件可以从一组选项中选择多个选项( C )

A.JRadioButton

B.JComboBox

C.JCheckBox

D.JTextField

4.以下哪一个是JTable的父类( A )

A.JComponent

B.JContainer

https://www.wendangku.net/doc/d05688608.html,ponent

D.Container

5.以下菜单类中哪个是父类( D )

A.JCheckBoxMenuItem

B.JRadioButtonMenuItem

C.JMenu

D.JMenuItem

第九章JDBC数据库编程

一、选择题

1.用于创建数据库连接的接口是哪个( B )

A.Connection

B.DriverManager

C.Statement

D.ResultSet

2.用于执行SQL语句并返回执行结果的接口是哪个( C )

A.Connection

B.DriverManager

C.Statement

D.ResultSet

3.用于保存查询结果的接口是哪个( D )

A.Connection

B.DriverManager

C.Statement

D.ResultSet

4.访问数据库必须要捕获的异常是哪个( B )

A.IOException

B.SQLException

C.ClassNotFoundException

D.EOFException

5.以下哪个不是使用预编译接口的优点( D )

A.速度快

B.一次编译,多次执行

C.效率高

D.代码量少

二、简答题

1.简述JDBC技术连接数据库的优点。

答:JDBC(Java Database Connectivity,Java数据库连接)技术是Sun公司推出的一种专门访问数据库的API。它是由一组用Java 编程语言编写的类和接口组成,支持基本SQL语句,提供多样化的数据库连接方式,可连接不同的数据库。JDBC技术是用来Java 语言编写的访问数据库标准接口,使用这样的API编写的应用程序无论从安全性、健壮性、可移植性都是具有优势的

1.线程被阻塞可能是多方面原因造成的,下面方法中哪一种不能引起线程阻塞( D )。

A.调用sleep( )方法,使线程进入睡眠状态。

B.用suspend( )方法暂停纯种的执行。

C.用wati( )方法暂停线程的执行。

D.调用setPriority( )方法。

2.下面不是产生死锁的必要条件的是( B )。

A.互斥条件

B. 不可抢占

C.占有CPU并运行

D. 循环等待

3.下面哪个操作不能使线程从等待阻塞状态进入到对象阻塞状态( D )。

A.等待阻塞状态下的线程被notify( )方法调用。

B.等待阻塞状态下的线程被Interrupt( )方法中断。

C.等待时间到。

D.等待阻塞状态下的线程调用wait( )方法。

4.下面说法错误的是( C )。

A.Java中的第一个线程都属于某个线程组。

B.线程只能在其创建时设置其线程组。

C.线程创建之后,可以从一个线程组转移到另一个线程组。

D.新建线程默认情况下属于其父线程所属的线程组。

二、问答题

1.举例说明什么是多线程

2.线程进程相比,有什么优越性

3.举例说明创建线程的两种方法

4.sleep( )方法和wait( )方法有什么区别

5.当一个线程进入一个对象的synchronized方法后,其他线程是否可进入此对象的其他

方法

6.简述线程的生命周期

7.线程的优先级如何得知,如何设置,主线程的优先级是多少

8.如何理解线程抢占式调度和线程轮转

三、编程题

1.模拟一个电子时钟,它可以在任何时候被启动或停止,并可独立运行。这个类称为Clock

类,它继承Label类。这个类有一个Thread类型的clocker域,以及start( )、stop( )和run( )方法。在run( )方法的while循环中每隔一秒就把系统时间显示为label文本。构造方法初始化时,把Label设为当前系统时间。

2.编写一个龟兔赛跑的多线程程序,单击按钮龟兔开始运行。

3.编写一个程序,让一个小球在JFrame中滚动,当撞到边缘时则选择一个角度反弹回去。

第十一章网络编程

一、选择题

1.在TCP/IP中解决计算机之间的通信问题的是( A )

A.网络层

B.应用层

C.数据链路层

D.传输层

A.Socket socket=new Socket(" ",1001);

B.InetAddress addr= (" ");

Socket socket=new Socket(" ",1001,addr,1008);

C.InetAddress addr= (" ");

Socket socket=new Socket(" ",1008,addr,1001);

D.Socket socket=new Socket(" ",1008);

A.ServerSocket socket=new ServerSocket(1008);

B.ServerSocket socket=new ServerSocket(1008,10);

C.InetAddress addr= (“localhost”);

ServerSocket socket=new ServerSocket(1008,10,addr);

D.InetAddress addr= (" ");

ServerSocket socket=new ServerSocket(1008,10,addr);

2.如果本机拥有多个IP地址,则执行以下代码的结果是( A )

InetAddress addrs[]= ("localhost ");

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

}

A.显示所有IP地址的值

B.显示其中一个IP地址的值

C.不显示任何信息

D.出错

二、填空题

1.InetAddress类代表Internet上的(主机地址),InetAddress类的一个实例由(主机名)与(主

机地址)组成。

2.(DatagramPacket)代表了UDP中的数据报,被发送的数据报包含了(目的地地址)以及(内

容),(DatagramSocket)完成了数据报的发送与接收。

Java程序设计实例教程考试题

Java程序设计练习题 一、选择题 1、为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件( A ) A)分开B)结合 C)联系D)融合 2、Java语言与C++语言相比,最突出的特点是( C ) A)面向对象B)高性能 C)跨平台D)有类库 3、下列Java源程序结构中前三种语句的次序,正确的是(D) A)import,package,public class B)import必为首,其他不限 C)public class,package,import D),import,public class 4、在JDK目录中,Java程序运行环境的根目录是( A ) A)bin B)demo C)lib D)jre 5、下列运算符中属于关系运算符的是(A ) A)== B).= C)+= D)-= 6、下列布尔变量定义中,正确并且规范的是( B ) A)BOOLEAN canceled=false; B)boolean canceled=false; C)boolean CANCELED=false; D)boolean canceled=FALSE; 7、下列关键字中可以表示常量的是( A ) A)final B)default C)private D)transient 8、下列运算符中,优先级最高的是( A ) A)++ B)+ C)* D)> 9、Java中的基本数据类型int在不同的操作系统平台的字长是( B ) A)不同的B)32位 C)64位D)16位

10、给一个short类型变量赋值的范围是( C ) A)-128 至 +127 B)-2147483648至 +2147483647 C)-32768至 +32767 D)-1000至 +1000 11、下列运算中属于跳转语句的是( D ) A)try B)catch C)finally D)break 12、switch语句中表达式(expression)的值不允许用的类型是( C ) A)byte B)int C)boolean D)char 13、下列语句中,可以作为无限循环语句的是( A ) A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false) 14、下列语句中执行跳转功能的语句是( C ) A)for语句B)while语句 C)continue语句D)switch语句 15、下列表达式中,类型可以作为int型的是( C ) A)“abc”+”efg”B)“abc”+’efg’ C)‘a’+’b’D)3+”4” 17、数组中各个元素的数据类型是( A ) A)相同的B)不同的 C)部分相同的D)任意的 18、在Java语言中,被成为内存分配的运算符是( A ) A)new B)instance of C)[] D)() 19、接口中,除了抽象方法之外,还可以含有( B ) A)变量B)常量 C)成员方法D)构造方法 20、下列能表示字符串s1长度的是( A ) A)s1.length()B)s1.length C)s1.size D)s1.size() 21、StringBuffer类字符串对象的长度是( C ) A)固定B)必须小于16个字符 C)可变D)必须大于16个字符 22、构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。( A ) A)类名B)对象名 C)包名D)变量名 23、子类继承了父类的方法和状态,在子类中可以进行的操作是( D ) A)更换父类方法B)减少父类方法 C)减少父类变量D)添加方法 24、String、StingBuffer都是______类,都不能被继承。( C )

Java程序设计A卷

《Java语言程序设计》 一.选择题:本大题共20小题;每小题1分,共20分。在每 小题给出的四个选择中,只有一项是符合题目要求的,把所选 择项前的字母填在题后的括号内。 1.使用Java语言编写的源程序保存时的文件扩展名是()。 (A).class (B).java (C).cpp (D).txt 2. 设int a=1,则表达式(true|(++a==1))&(a==2)的值为()。 (A)true (B)0 (C)false (D)1 3. 下列关于构造方法描述错误的是()。 (A)Java语言规定构造方法名与类名必须相同 (B)Java语言规定构造方法没有返回值,但不用void声明 (C)Java语言规定构造方法不可以重载 (D)Java语言规定构造方法只能通过new自动调用 4. 以下关于字符串类的说法正确的是()。 (A)String类用于字符串变量,而StringBuffer类用于字符串常量 (B)String类用于字符串常量,而StringBuffer类用于字符串变量 (C)String类的对象只能用“new”关键字生成 (D)StringBuffer字符串的容量是指字符串中字符的个数 5. 下面语句中哪一个不是用于异常处理的语句()。 (A)try (B)break (C)catch (D)finally 6. 类可以保护它的成员变量和成员函数不会被其他对象随意访问到,这一特性 属于类的()。 (A)封装性(B)继承性 (C)多态性(D)重载 7. 下面文件操作中哪一个方法是用来创建目录的()。 (A)createNewFile() (B)mkdir() (C)isDirectory() (D)delete() 8. 以下Swing组件中哪一个不是顶层容器组件()。 (A)框架(B)对话框 (C)面板(D)小程序 9. 下面哪一个是Java中不合法的标识符()。 (A)$persons (B)twoNum (C)_myVar (D)*point 10. 对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的 关系,需要()。 (A)创建两个单选框对象时定义相同的对象名 (B)将两个单选框对象放在同一个面板上 (C)定义一个ButtonGroup对象group,将两个单选框对象加到group中 (D)让两个单选框排成一行或一列 11. 下面关于Java Application与Java Applet的说法错误的是()。 (A)Java Application 与Applet 所用编译命令相同 (B)通常情况下Java Application 只能有一个main()方法 (C)Java Applet 必须有HTML 文件才能运行 (D)Java Applet 程序的.class 文件可用java 命令运行 12. 在JDK中用于将文档注释自动生成HTML在线帮助文档的工具是()。 (A)javadoc (B)java (C)javac (D)appletviewer

Java语言程序设计基础教程习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章 Java程序设计概述 练习思考题 1、 Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、 Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、 public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

java程序设计基础(含参考答案)

“Java程序设计基础”课程习题 一、填空 1.Java程序分两类___Applet___和application,Java Application 类型的程序,程序从 ___main方法___开始执行。 2.定义一个Java类时,通过关键字__extends____指明该类的父类。一个类可以有___1___ 个父类。 3.用public修饰的类称为_公有类或公用类__。用public修饰的类成员称为公有成员。被 说明为public的内容可以被__所有其他类___ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。 4.用___private___ 修饰的类成员称为私有成员。私有成员只能在__本类__ 中使用。 5.如果子类定义的成员变量与父类的成员变量同名,称为___方法覆盖___ ,要表明使用 子类的成员变量,可以在成员变量前加上关键字__super___ 。 6.____Object__ 类是Java类库中所有类的父类。 7.Java字符使用__16位的字符集,该字符集成为__Unicode____ 。 8.当子类中定义的方法与父类方法同名时,称子类方法___覆盖___ 父类方法,子类默认 使用自己的方法。使用父类的同名方法,必须用关键字__super__ 说明。 9.Java源程序文件名的后缀是___.java___,Java字节码文件名的后缀是_.class_____。 10.Java类名的第一个字母通常要求___大写___。 11.Java程序由____类__组成,每个程序有一个主类,Java程序文件名应与____主__类的 名称相同。 12.Java__Application_类型的程序需要main()方法,程序从__main____开始执行。 13.布尔型数据类型的关键字是_boolean__ ,占用位数是___1位___ ,有__true__ 和_false_ 两种值。整型数可以采用_十_ 、__八_ 和__十六_三种进制表示。 14.八进制整数以数字__0_开头。十六进制整数以_0x或0X_ 开头。 15.int整型数占用__32位内存。long整型数占用__64 位内存。 16.127L表示__长整型____ 常量。 17.根据占用内存长度将浮点常量分为_double_____ 和__float____ 两种。 18.单精度浮点常量占用__32_ 位内存,双精度浮点常量占用__64 位内存。 19.在Java语言中,字符串“ABC\tD\b\n”中包括__7个字符。 20.数学关系44&&x<9____ 。数学关系x>3且x<=10对应 的Java表达式是_x>3&&x<=10。数学关系x>3或x<-10对应的Java表达式是_x>3||x<-10_。 21.逻辑表达式true&&false&&true的结果是_false_ 。 22.__new__ 运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会 自动调用类中的构造方法为对象_初始化_。 23.省略访问修饰符的类只能被同_一包_中的类使用,称之具有包访问特性。 24.用public修饰的类称为_公共类_。用public修饰的类成员称为公共成员。被说明为public 的内容可以被_所有类_ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过_import_语句引入。 25.用_private_ 修饰的类成员称为私有成员。私有成员只能在_本类使用。 26.在类中可以定义多个具有相同名称、但参数不同的方法,这种做法称为__方法重载_ 。 27.如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在 成员变量前加上关键字__this__。

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程序设计a卷试卷汇总

2011J A V A程序设计A 卷试卷

华南农业大学期末考试试卷(A 卷) 2011-2012学年第 1 学期 考试科目: Java 程序设计 考试类型:(闭卷)考试 考试时间: 120 分钟 学号 姓名 年级专业 考试说明:所有答案必须填写在答卷上,考试结束时答卷和试卷都上交。 一、单项选择题(本大题共 25 小题,每小题 2 分,共 50 分) 1. 下列有关Java 程序的说法中正确的是________: 2. A. 由于Java 程序是解释执行的,所以执行前不需要进行编译 B. 一个.java 源程序编译后将产生一个.class 的字节码文件 C. 安装了JDK 后,安装程序会自动配置系统的环境变量path 和classpath D. 面向对象的解释型高级编程语言 3. 下列为合法变量名的是________。 4. A. false B. 0xabc C. iStudent D. cow ’s 5. 对于构造方法,下列叙述不正确的是________。 6. A. 构造方法是类的一种特殊函数,它的方法名必须与类名相同 B. 构造方法没有返回值类型

C. 子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。 D. 子类在创建构造方法是必须把调用父类构造方法放在第一条语句 7.下列关于接口的说明正确的是________。 8. A. 接口和抽象类是同一回事 B. 一个类不可以实现多个接口 C. 接口间不能有继承关系 D. 实现一个接口必须实现接口的所有方法 9.Java为移动设备提供的平台是________。 10.A.J2ME B.J2SE C.J2EE D.JDK5.0 11.下列语句中,属于多分支语句的是________。 A.if语句 B.switch语句 C.do while语句 D.for语句 12.在Java中,存放字符串常量的对象属于________类对象。 13. A. Character B. String C. StringBuffer D. Char 14.下列关于继承的哪项叙述是正确________。 15. A. 在java中允许多继承 B. 在java中一个类只能实现一个接口 16. C. 在java中一个类不能同时继承一个类和实现一个接口 17. D. java的单一继承使代码更可靠 18.给出如下代码: class Test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun()直接访问? A. 将private int m 改为protected int m B. 将private int m 改为 public int m C. 将private int m 改为 static int m D. 将private int m 改为 int m 19.System和Math类在哪个包中________。

Java程序设计实用教程_习题解答

习题 1 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件 2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。 3)使用java解释器(java.exe)来解释执行字节码文件。 3.D:\JDK 1) 设置path 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。 2) 设置classpath 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。 4.(B)javac 5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class” 6.Java应用程序主类的main申明(D)public static void main(String args[])

《Java程序设计》试卷(A卷

《Java程序设计》试卷(A卷) 一.选择(每个1分,共10分) 1.Which of the following are Java keywords?C A. System B. exit C. new D. instanceOf 2.Which of the following statements are true? A. A byte can represent between 0 to 256 B. A byte can represent between -128 to 127 C. A byte can represent between -127 to 128 D. A char can represent between -2x2 pow 16 2 x2 pow 16 –1 3. Which of the following statements are true? A. An interface can only contain method and not variables B. Interfaces cannot have constructors C. A class may extend only one other class and implement only one interface D. Interfaces are the Java approach to addressing its lack of multiple inheritance, but require implementing classes to create the functionality of the Interfaces. 4. 以下类中是Container的子类的是 A.JList B.JCanvas C.JCheckBox D.JPanel 5. protected限定成员变量,以下说法正确的是( ) A. 可以被三种类所引用: 该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B. 可以被两种类访问和引用: 该类本身、该类的所有子类 C. 只能被该类自身所访问和修改 D. 只能被同一个包中的类访问 6. 关于数组的说法,以下正确的是() A. int[] x=new int[20]建立了一个20个元素的整数数组 B. 数组声明时可以不限定大小 C. 数组大小在运行时可以动态改变 D. 跟C的规定相同 7.以下正确的说法是 A. Applet类中不能有main方法 B.Applet类是java.awt中的类 C.Applet类是Container的间接子类 D.Applet类不是容器类 8.以下那种布局是JFrame的默认布局 A.空布局B.BorderLayout C.FlowLayout D.CardLayout 9.对于绘图类Graphics、Grphics2D,正确的说法是: A.Graphics是抽象类 B.Graphics2D对象也可以当成Graphics对象使用 C.Graphics类中包含Graphics2D中定义的全部方法 D.Graphics2D是Graphics中二维绘图操作的具体实现类 10. 关于流的说法,正确的是 A.流专门用于描述跟外设的I/O操作 B.File类是专门用来文件流式读写操作的 C.流可以描述任何数据处理过程

java编程题全集题及答案

J a v a程序设计总复习题 1、编写一个Java程序,用if-else语句判断某年份是否为闰年。(分支) // Programme Name LeapYear.java public class LeapYear{ public static void main(String args[]){ int year=2010; if(args.length!=0) year=Integer.parseInt(args[0]); if((year%4==0 && year%100!=0)||(year%400==0)) 年是闰年。"); else 年不是闰年。"); } }//if-else语句 2、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。(循 环) // programme name ForTest.java public class ForTest { public static void main( String args[] ) { int i,j,mul,sum=0; for(i=1;i<=10;i++) { mul=1; for(j=1,j<=i;j++) { mul=mul*j; } sum=sum+mul; } “1!+2!+3!+……+10!= ”+sum); } } 3、依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格) 并计算人数(switch) 4、使用冒泡排序(数组) public class BubbleSort { public static void main(String[] args) {

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application得入口方法main()得检验: main()方法得参数名就是否可以改变? main()方法得参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗? 参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? bytei =127; bytej = 128; longl1 = 999999; long l2= 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 =3、5; float f2 = 3.5f; 参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1)4+5 == 6*2 ?(2) (4=5)/6?? (3)9%2*7/3>17(4)(4+5)<=6/3 ? (5) 4+5%3!=7-2????(6)4+5/6〉=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得. 7、下列()就是合法得Java标识符。 (1)Counter1 ??(2)$index, (3) name-7 ??(4)_byte

2010JAVA程序设计A卷答案

华南农业大学期末考试试卷(A卷) 2010-2011学年第1 学期考试科目:Java程序设计 考试类型:(闭卷)考试考试时间:120 分钟 学号姓名年级专业 一、单项选择题(本大题共15 小题,每小题 2 分,共30 分) 1.Java语言是____D_____。 A. 面向问题的解释型高级编程语言 B. 面向机器的低级编程语言 C. 面向过程的编译型高级编程语言 D. 面向对象的解释型高级编程语言 2.下列为合法类名的是___C_____。 A. class B. 123Student C. GraduateStudent D. “类名” 3.对于构造方法,下列叙述不正确的是___B_____。 A. 构造方法是类的一种特殊函数,它的方法名必须与类名相同 B. 构造方法的返回类型只能是void类型 C. 构造方法的主要作用是完成对类的对象的初始化工作 D. 一般在创建新对象时,系统会自动调用构造方法 4.下列关于接口的说明正确的是___D_____。 A. 接口和抽象类是同一回事 B. 一个类不可以实现多个接口 C. 接口间不能有继承关系 D. 实现一个接口必须实现接口的所有方法 5.在Java中,存放字符串常量的对象属于___B_____类对象。 A. Character B. String C. StringBuffer D. Vector 6.在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10}; 为了打印输出数组a的最 后一个元素,下面正确的代码是___B_____。 A. System.out.println(a[10]); B. System.out.println(a[9]); C. System.out.println(a[a.length]); D. System.out.println(a(9)); 7.定义如下的二维数组b,下面的说法不正确的是___C_____。

Java程序设计-习题参考答案

参考答案 第1章 3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用? 一台计算机由硬件和软件组成。一台典型的计算机由五大部分组成。这五大部分是:运算器,控制器,存储器,输入设备和输出设备。 运算器是执行算术运算和逻辑运算的部件。 控制器是向计算机其他部分发送命令的部件。 存储器是计算机用来存储数据、信息的部件。 输入设备就是外界向计算机输入信息设备。 输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。 9、将以下十进制数转换为对应的二进制数 (1)32 (2)97 (3)256 (4)500 (1)100000 (2)1100001 (3)100000000 (4)111110100 第2章 1.Java语言有哪些主要特点。 平台独立性 安全性 多线程 网络化 面向对象 3.Java Application的开发步骤有哪些。 Java Application的开发步骤: (1)下载JDK软件并安装; (2)配置相应的环境变量(path和classpath); (3)编写Java源程序(文本编辑器或集成开发环境IDE); (4)编译Java源程序,得到字节码文件(javac *.java); (5)执行字节码文件(java 字节码文件名)。

4.什么是环境变量,设置环境变量的主要目的是什么。 环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。 第3章 1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法标识符。 a a2 3a *a _a $a int a% 在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。 合法的标识符: a a2 _a $a 5.数据类型强制转换的原则是什么?如何转换? 对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char 到short等,则需要进行强制转换。 float f = 11.5; short b ; b = (short)f; (强制转换) 第4章 5.用穷举法求出3位数中百、十、个位数的立方和就是该数的数。 public class Test { public static void main(String[] args) { int a,b,c,x=100; while(x<1000){ a=x%10; b=(x%100-a)/10; c=(x-x%100)/100; if(a*a*a+b*b*b+c*c*c==x) System.out.println(x); x+=1;

2012《Java语言程序设计》_A卷

2011-2012 学年第二学期《Java语言程序设计》考试卷 (A卷) 授课班号273601 年级专业学号姓名 一、问答题(共15分,每小题5分) 1. 请解释一下Java语言的主要特点(至少说明五个特点)? 2. 进程和线程的概念是什么?两者有什么区别和联系? 3. 什么是流?什么是字节流?什么是字符流?字节流和字符流的差别是什 么? 二、单项选择题 (共30分,每小题2分,把最恰当的答案题 号填入括号内) 1. Java程序经过编译后生成的文件后缀是__C___。 A. .obj B. .exe C. .class D. .java 2. 下列关于Java语言的描述中,错误的是__D___。 A. Java语言支持多线程操作 B. Java语言与平台无关 C. Java语言可以直接访问Internet上的对象 D. Java语言仍保留了结构和联合 1

3. 下列循环语句的循环次数是__C___。 int i=6; do{ System.out.println(i--); i--; }while(i!=0); A. 0 B. 2 C. 3 D. 5 4. 如下选择中,__D___不是Java中的合法的变量标识符? A. $fieldname B._int C. main D. 3a 5. 下面的代码段中,___C__注释符错误的是 A. // B. /*…*/ C. /**…**/ D. /**…*/ 6. 下列关于Java中子类继承父类中的成员的描述中,错误的是__A___。 A. 子类中继承父类的所有成员变量都可以直接访问 B. 子类中定义有与父类同名变量时:子类继承父类的操作中,使用继承父 类的变量;子类定义自己的操作时,使用自己定义的变量 C. 当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆 盖父类中的成员方法 D. 方法重载是编译时处理的,而方法覆盖是运行时处理的 7. 下列关于抽象类的描述中,错误的是__C___。 A. 抽象类是用修饰符abstract说明的 B. 抽象类是不可以定义对象的 C. 抽象类是不可以有构造方法的 D. 抽象类通常要有它的子类 8. 下面关于Applet程序的描述中,错误的是__B___。 A. Applet程序的主类必须是Applet类的子类 B. Applet程序的主类中必须有一个main()方法 C. Applet不是完整的独立程序 D. Applet字节码文件必须嵌套在一个HTML文件中 9. 在Applet类的主要方法中,用来实现初始化操作的是___A_。 A. init() B. stop() C. start() D. paint() 2

JavaWeb程序设计教程课后练习答案

第1章 Web应用开发简介 习题答案 1.Web在组成上包括______和______两部分。 答案: 服务器 客户端 2.谈谈对面向对象的认识。 答案: 面向对象将将要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙解决问题中的各个步骤中的行为。面向对象编程方式是建立在面向过程编程方式基础上,其最重要的改变在于面向对象编程中,程序将围绕被操作的对象来设计,而不是操作本身。面向对象编程方式以类作为构造程序的基本单位,具有封装、抽象、继承、多态性等特点。 3.介绍几种常用的框架技术。 答案: Java中常用的框架。 1.Struts Struts是Apache 基金会Jakarta 项目组的一个开源项目,是一个基于Sun J2EE平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。 2.WebWork WebWork是由OpenSymphony组织开发的,是一个基于Web的MVC框架。它在运行时通过Interceptor(拦截器)自动应用,因此脱离了Action类。 3.Struts 2 Struts 2是Apache基金会的一个开源项目,它建立在Struts框架与WebWork框架基础之上,继承了二者的优点,是目前非常流行的一个Web框架。 4.Spring Spring是一个以IoC和AOP为核心的轻量级容器框架。它提供了一系列的Java EE开发解决方案,包括表示层的Spring MVC、持久层的Spring JDBC以及业务层事务管理等众

多的企业级应用技术。 5.Hibernate Hibernate是一个ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装。通过使用Hibernate框架,开发人员能够以面向对象的思维方式来操作数据库。 6.Ibatis 相对于Hibernate而言,Ibatis是一个“半自动化”的ORM实现框架,它主要致力于POJO与SQL之间的映射关系,是对“全自动化”ORM框架的一种有益补充。 7.EasyJWeb EasyJWeb是一个核心基于模板技术实现的MVC框架,主要致力于Java Web应用程序的快速开发。 4.IDE的用途是什么? 答案: IDE是一种用于辅助开发人员开发应用程序的应用软件,它一般包括代码编辑器、编译器、调试器和图形用户界面工具,有的还包括版本控制系统、性能分析器等更多工具,因此IDE也就具有了编写、编译、调试等多种功能。正是基于这些功能,使用IDE能够减少项目的开发周期,减轻程序员的工作量,提高应用程序的开发效率等。 5.Web应用服务器的用途是什么? Web应用服务器是为创建、部署、运行以及管理Web应用提供多种运行时服务(如事务、安全等等)的分布式系统,它是应用程序运行的一个基本环境。

中南民族大学《Java语言程序设计》期末试卷A卷

科目序号:6002 A卷 《Java语言程序设计》期末试卷 (试卷总分:100分,考试时间:120分钟,答案写在答卷纸上) 一.判断题(每题1分,共10分) 1.无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件。(X )2.Java的各种数据类型所占用的内存长度与具体软硬件环境有关。(X )3.静态初始化器是在其所属的类加载内存时由系统自动调用执行的方法。(O )4.与C语言不同的是,Java语言中的数组元素下标总是从1开始。(X )5.在Java的方法中定义一个常量要用const关键字。(X )6.Java有两类程序:Java Application和Java Applet,其中Java Applet程序只能在图形界面中工作,而Java Application程序只能在字符界面中工作。(X)7.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。(X )8.程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(X )9.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out 和标准错误输出System.err。(O )10.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。(O ) 二.单项选择题(每题2分,共40分) 1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B)。 A、java B、class C、html D、exe 2.Java application中的主类需包含main方法,main方法的返回类型是什么?(D ) A、int B、float C、double D、void 3.以下哪个方法用于定义线程的执行体?( C ) A、 start() B、init() C、run() D、synchronized() 4.当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?(D ) A、init() B、start() C、destroy() D、stop() 5.下面哪个不是Java中的容器? ( A ) A、Canvas B、ScrollPane C、Applet D、Dialog 6.以下标识符中哪项是不合法的( A ) A、const B、$double C、hello D、BigMeaninglessName 7.以下哪个关键字可以用来为对象加互斥锁?(D )

《JAVA程序设计》(含答案)

《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. 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( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:( D) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于for循环和while循环的说法哪个正确?( B) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空

《Java程序设计》课后习题参考答案

习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。 习题2参考答案 1.Java语言包含哪些数据类型? 答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。 2.Java有多少关键字? 答:abstract, continue, for, new, switch,boolean, default, goto*, null, synchronized,break, do, if, package, this,byte, double, implements, private, threadsafe,byvalve*, else, import, protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final,

相关文档 最新文档