Java 试题附参考答案

附录B 参考答案

第1章:Java简介——实践与练习

1.7.1 填空题

1.Java源程序文件的后缀是*.java ,Java字节码文件的后缀名称是*.class 。

2.Java程序实现可移值性,依靠的是JVM 。

3.Java语言的三个分支是:Java SE 、Java ME 、Java EE 。

4.Java程序由类组成,如果Java使用public class 声明类,则文件名称必须与类名称一致。

5.Java执行是从main() 方法开始执行的,此方法的完整定义是public static void main(String args) 。

6.Java类名的每个单词的首字母通常要求大写。

1.7.2 选择题

1.推出Java语言的公司是 B 。

A.IBM B.SUN C.Apple D.Microsoft 2.下面的哪个环境变量是java解释时所需要的? B

A.path B.classpath C.JAVA_HOME D、TEMP

1.7.3 判断题

1.Java语言属于编译型的开发语言。(×)2.Java Application程序不是由main()方法开始执行的。(×)

1.7.4 简答题

1.简述Java实现可移值性的基本原理。

答:Java属于编译型和解释型的编程语言,所有的*.java程序必须编译为*.class文件后才可以在电脑上执行,而执行*.class文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟

J ava核心技术精讲

Note 出来的一台虚拟电脑,称为Java虚拟机,而针对不同的操作系统平台,有不同版本的Java虚拟机,即由Java虚拟机去适应不同的操作系统,只要Java虚拟机的支持没有改变,同一个*.class 可以在不同的平台上运行。

2.简述Java语言的三个程序分支。

答:Java SE(Java标准版):提供基础的Java类库及平台支持。

Java ME(Java微型版):提供嵌入式开发支持。

Java EE(Java企业版):提供企业平台支持。

3.简述Java中path及classpath的作用。

答:Path:是操作系统的环境属性,指的是可以执行命令的程序路径。

CLASSPATH:是所有*.class文件的执行路径,java命令执行的时候将利用此路径加载所需要的*.class文件。

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

答:Java语言的主要特点如下:

(1)Java语言是一门面向对象语言,且语法足够简单;

(2)Java避免了C/C++中复杂的指针关系,而使用了更为简单的引用方式来进行内存传递;

(3)Java是为数不多的支持多线程开发的编程语言;

(4)Java提供了自动的垃圾收集机制,可以定期释放出无用的垃圾空间;

(5)Java语言的安全性较高;

(6)Java最大的特点是具备可移植性,即:同一个程序在不同的操作系统上都可以运行。

1.7.5 编程题

1.在屏幕上输出:“我喜欢学习Java”的信息。

答案:

public class TestDemo {

public static void main(String[] args) {

System.out.println("我喜欢学习Java");

}

}

2.在屏幕上打印出以下图形:

*************************************

********* Java 程序设计 *********

*************************************

答案:

public class TestDemo {

public static void main(String[] args) {

System.out.println("*************************************");

System.out.println("********* Java 程序设计*********");

System.out.println("*************************************");

}

488

附录B参考答案

}

Note

489

J ava核心技术精讲

Note

第2章简单Java程序——实践与练习

2.9.1 填空题

1.Java中的标识符组成原则:由字母、数字、下划线、$所组成,其中不能以数字开头,不能是Java的关键字。

2.assert 关键字是在JDK 1.4时加入的,enum 关键字是在JDK 1.5时加入的。

3.列举出已经知道的5个关键字:public、static、void、int、double 。

4.Java注释分为以下三种:单行注释(//)、多行注释(/* …*/)、文档注释。

5.Java中使用int 关键字,可以定义一个整型数据。

6.在一个Java源文件中定义了3个类和15个方法,编译该Java源文件时会产生 3 个字节码文件,其扩展名是*.class 。

7.布尔型数据类型的关键字是boolean ,有true 和false 两种取值。

8.整型数可以采用byte 、short 、int 和long 4种类型表示。

9.根据占用内存长度的不同将浮点型分为float 和double 两种。

10.Java程序结构分为:顺序结构、分支结构、循环结构3种。

11.逻辑表达式:true&&false&&true的结果是false 。

12.逻辑表达式:!true||false的结果是false 。

13.在方法中可以使用return 语句来结束方法的执行。

14.在Java中数组排序的方法是。

15.方法中的void 关键字用来表示方法不返回任何值。

2.9.2 选择题

1.下面哪些标识符是正确的? D

A.class B.hello world C.123$temp D.Demo 2.下面哪些关键字是Java中未使用到的关键字?A、B (多选)

A.const B.goto C.int D.assert 3.public static void main方法的参数描述是: A 。

A.String args[] B.int[] args C.Strings args[] D.String args 4.下面说法正确的是 C 。

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

B.JDK的编译命令是java

C.一个java源文件编译后可能产生多个class文件

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

490

491

Note

附录B 参考答案

5.下面说法不正确的是 A 。

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

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

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

D .Java 语言执行时需要Java 的运行环境 6.下面 A 不是Java 的关键字。 A .integer B .double C .float D .char 7.在Java 中,字节数据类型的关键字和默认值是 A 。 A .byte 和0 B .byte 和1 C .boolean 和true D .boolean 和false 8.3.15E2表示的数据是 C 。 A .3.15 × 2 B .3.15 × 10-2 C .3.15 × 102 D .0.315 × 10-2 9.程序System.out.println("1 + 1 = " + 1 + 1) ;的输出结果是 C 。 A .1 B .1 + 1 = 2 C .1 + 1 = 11 D .2 10.程序System.out.println(10 / 3) ;的输出结果是 B 。

A .1

B .3

C .3.3

D .3.33333 11.执行下面的语句后,a 、b 、c 的值分别是 C 。

i nt a = 2 ;

i nt b = (a++) * 3 ; i nt c = (++a) * 3 ;

A .2、6、6

B .4、9、9

C .4、6、12

D .3、9、9 12.以下的 B 能正确表示Java 语言中的一个整型常量。

A .35.d

B .-20

C .1,234

D ."123" 13.下面的数据类型 D 是float 型

A .33.8

B .129

C .89L

D .8.6F 14.下列关于自动类型转换的说法中,正确的一个是 B 。

A .int 类型数据可以自动转换为char 类型数据

B .char 类型数据可以被自动转换为int 类型数据

C .boolean 类型数据不可以做自动类型转换,但是可以做强制转换

D .long 类型数据可以被自动转换为short 类型数据

15.一个方法在定义过程中又调用自身,这种方法称为 B 。

A .构造方法

B .递归方法

C .成员方法

D .抽象方法

2.9.3 判断题

1.变量的内容可以修改,常量的内容不可修改。 ( √ ) 2.goto 是Java 中未使用到的关键字。 ( √ ) 3.enum 关键字是在JDK 1.4版本中增加的。 ( × ) 4.使用public class 定义的类,文件名称可以与类名称不一致。 ( × ) 5.主方法编写:public void main(String arg)。 ( × ) 6.字符$不能作Java 标识符的第一个字符。 ( × ) 7.System.out.println()输出后是不加换行的,而System.out.print()输出后是加换行的。 ( × )

J ava核心技术精讲

Note

8.使用break语句可以跳出一次循环。(×)9.byte的取值范围是:0~255。(×)10.int和double进行加法操作,int会自动转换为double类型。(×)11.使用“&”操作时,如果第一个条件是false,则后续的条件都不再判断。(×)12.使用“&&”操作时,如果第一个条件是false,则后续的条件都不再判断。(√)13.使用“|”操作时,如果第一个条件是true,则后续的条件都不再判断。(×)14.使用“||”操作时,如果第一个条件是true,则后续的条件都不再判断。(√)15.定义多个同名方法时,可以依靠返回值区别同名方法。(×)

2.9.4 简答题

1.请解释常量与变量的区别。

答:常量就是一个固定的数值,是不可改变的,如数字1、2就是一个整型的常量。

变量是利用声明的方式,将内存中的某个内存块保留下来以供程序使用。可以声明的数据类型为整型、字符型、浮点型或是其他数据类型,作为变量的保存之用。变量在程序语言中扮演了最基本的角色。变量可以用来存放数据,而使用变量之前必须先声明它的数据类型。

2.解释方法重载的概念,并举例说明。

答:方法重载指的是多个方法的方法名称相同,但是方法中的参数类型及个数不同。

代码说明:

public static int add(int x, int y) {

return x + y;

}

public static int add(int x, int y, int z) {

return x + y + z;

}

public static double add(double x, double y) {

return x + y;

}

2.9.5 编程题

1.打印出100~1000范围内的所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

答案:

public class TestDemo {

public static void main(String[] args) {

int i, j, k;

for (int x = 100; x < 1000; x++) {

i = x / 100; //计算百位数字

j = (x / 10) % 10; //计算十位数字

k = x % 10; //计算个位数字

if (x == i * i * i + j * j * j + k * k * k) {

492

493

Note

附录B 参考答案

System.out.print(x + "、");

}

}

}

}

程序运行结果:

153、370、371、407、

2.通过代码完成两个整数内容的交换。 答案:

实现一:引用第三方变量

实现二:利用数学计算完成

public class TestDemo {

public static void main(String[] args) { int x = 10; int y = 20; int temp = x; x = y; y = temp; System.out.println("x = " + x); System.out.println("y = " + y); } }

public class TestDemo {

public static void main(String[] args) { int x = 10; int y = 20; x += y ; y = x - y; x = x - y ; System.out.println("x = " + x); System.out.println("y = " + y); } }

程序运行结果:

x = 20 y = 10

3.判断某数能否被3,5,7同时整除。 答案:

public class TestDemo { public static void main(String[] args) { int data = 105; if (data % 3 == 0 && data % 5 == 0 && data % 7 == 0) { System.out.println(data + "可以同时被3、5、7整除。"); } else { System.out.println(data + "不可以同时被3、5、7整除。"); } } }

程序运行结果:

105可以同时被3、5、7整除。

4.编写程序,分别利用while 、do …while 和for 循环求出100~200的累加和。 答案:

实现一:使用while 循环

public class TestDemo { public static void main(String[] args) { int sum = 0;

J ava核心技术精讲

Note

int x = 100;

while (x <= 200) {

sum += x;

x++;

}

System.out.println("累加结果:" + sum);

}

}

实现二:使用do…while循环

public class TestDemo {

public static void main(String[] args) {

int sum = 0;

int x = 100;

do {

sum += x;

x++;

} while (x <= 200);

System.out.println("累加结果:" + sum);

}

}

实现三:使用for循环

public class TestDemo {

public static void main(String[] args) {

int sum = 0;

for (int x = 100; x <= 200; x++) {

sum += x;

}

System.out.println("累加结果:" + sum);

}

}

第3章面向对象——实践与练习

3.3

4.1 填空题

1.面向对象的三大特征:封装、继承、多态。

2.类由属性和方法组成。

3.new 运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会自动调用类中的构造方法为对象实例化。

4.使用private 修饰的类成员称为私有成员。私有成员只能在类中使用。

5.构造方法的名称与类名称相同。

6.private 关键字可以让类中的属性和方法对外部不可见。

494

495

Note

附录B 参考答案

7.this 关键字可以调用本类中的 属性 、 方法 、 构造方法 ,调用 构造方法 时必须放在 构造方法 的首行。

8.Java 中通过 extends 关键字实现继承。

9.一个类只能继承 一 个父类,但能实现 多个 接口。

10. Object 类是所有类的父类,该类中判断两个对象是否相等的方法是 public boolean equals(Object oth) ,取得对象完整信息的方法是 public String toString() 。

11.Integer 类是对 int 基本数据类型的封装。Float 类是对 float 基本数据类型的封装。Double 类是对 double 基本数据类型的封装。字符类Character 是对 char 基本数据类型的封装。

12.当子类中定义的方法与父类方法同名且参数类型及个数、返回值类型相同时,称子类方法 覆写 父类方法,子类默认使用 本类已经覆写 方法,使用父类的同名方法,必须使用 super 关键字说明。

13.当子类定义的成员变量与父类的成员变量同名时,称子类 覆盖 父类的成员变量,子类默认使用 本类 属性。使用父类的同名成员变量,必须用 super 关键字说明。

14.如果子类定义了构造方法,在创建子类对象时首先默认调用 父类无参构造方法 ,然后再调用本类的构造方法。

15.在Java 中,数组排序的方法是 java.util.Arrays.sort() 。

3.3

4.2 选择题

1.如果希望方法直接通过类名称访问,在定义时要使用的修饰符是 A 。 A .static B .final C .abstract D .this

2.如果类中没有定义构造方法,系统会提供一个默认的构造方法。默认构造方法的特点 是 C 。

A .无参数有操作

B .有参数无操作

C .即无参数也无任何操作

D .有参数有操作 3.有一个类Demo ,对与其构造方法的正确声明是 B 。 A .void Demo(int x){…} B .Demo(int x){…} C .Demo Demo(int x){…} D .int Demo(){}

4.以下关于面向对象概念的描述中,不正确的一项是 C 。 A .在现实生活中,对象是指客观世界的实体 B .程序中的对象就是现实生活中的对象 C . 在程序中,对象是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类(class ) D .在程序中,对象是一组变量和相关方法的集合

5.下列哪一项不属于面向对象程序设计的基本要素? D A .类 B .对象 C .方法 D .安全 6.下列程序的执行结果是 A 。

public class TestDemo { public void fun() { static int i = 0;

J ava核心技术精讲

Note

i++;

System.out.println(i);

}

public static void main(String args[]) {

Demo d = new Demo();

d.fun();

}

}

A.编译错误B.0 C.1 D.运行成功,但不输出7.顺序执行下列程序语句后,则b的值是 C 。

String str = "Hello" ;

String b = str.substring(0,2) ;

A.Hello B.hello C.He D.null

8.不能直接使用new创建对象的类是 B 。

A.静态类B.抽象类C.最终类D.公有类

9.为类定义多个名称相同、但参数的类型或个数不同的方法的做法称为 B 。

A.方法重载B.方法覆写C.方法继承D.方法重用

10.定义接口的关键字是 C 。

A.extends B.class C.interface D.public

11.现在有两个类A、B,以下描述中表示B继承自A的是 D 。

A.class A extends B B.class B implements A

C.class A implements D.class B extends A

12.下面关于子类调用父类构造方法的描述正确的是 C 。

A.子类定义了自己的构造方法,就不会调用父类的构造方法

B.子类必须通过super关键字调用父类有参的构造方法

C.如果子类的构造方法没有通过super调用父类的构造方法,那么子类会先调用父类中无参构造方法,之后再调用子类自己的构造方法

D.创建子类对象时,先调用子类自己的构造方法,然后再调用父类的构造方法13.假设类X是类Y的父类,下列声明对象x的语句中不正确的是 D 。

A.X x = new X() ; B.X x = new Y() ;

C.Y x = new Y() ; D.Y x = new X() ;

14.编译并运行下面的程序,结果是 B 。

public class A {

public static void main(String args[]) {

B b = new B();

b.test();

}

void test() {

System.out.print("A");

}

}

class B extends A {

void test() {

496

497

Note

附录B 参考答案

super.test();

System.out.println("B");

}

}

A .产生编译错误

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

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

D .编译没有错误,但会运行时会产生异常

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

public class A { public static void main(String args[]) { B b = new B(); b.test(); } public void test() { System.out.print("A"); } }

class B extends A { void test() { super.test(); System.out.println("B"); } }

A .产生编译错误,因为类

B 覆盖类A 的方法test()时,降低了其访问控制的级别

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

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

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

16.下面 B 修饰符所定义的方法必须被子类所覆写。

A .final

B .abstract

C .static

D .interface 17.下面 A 修饰符所定义的方法不能被子类所覆写。

A .final

B .abstract D .static D .interface 18.下面的程序编译运行的结果是 A 。

public class A implements B { public static void main(String args[]) { int m, n; A a = new A(); m = a.K ; n = B.K ; System.out.println(m + "," + n); } }

interface B { int K = 5; }

A .5,5

B .0,5

C .0,0

D .编译程序产生编译结果 19.下面关于接口的说法中不正确的是 C 。

J ava核心技术精讲

Note

A.接口所有的方法都是抽象的

B.接口所有的方法一定都是public类型

C.用于定义接口的关键字是implements

D.接口是Java中的特殊类,包含全局常量和抽象方法

20.下面关于Java的说法不正确的是 A

A.abstract和final能同时修饰一个类

B.抽象类不光可以做父类,也可以做子类

C.抽象方法不一定声明在抽象类中,也可以在接口中

D.声明为final的方法不能在子类中覆写

3.3

4.3 判断题

1.没有实例化的对象不能使用。(√)2.不可以为类定义多个构造方法。(×)3.使用static声明的方法可以调用非static声明的方法。(×)4.非static声明的方法可以调用static声明的属性或方法。(√)5.String对象可以使用==进行内容的比较。(×)6.垃圾是指无用的内存空间,会被垃圾收集机制回收。(√)7.构造方法可以有返回值类型的声明。(×)8.匿名对象是指使用一次的对象,使用之后将等待被垃圾回收。(√)9.使用static定义的内部类就成为外部类。(√)10.多个实例化对象之间不会互相影响,因为保存在不同的内存区域之中。(√)11.final声明的类可以有子类。(×)12.一个类继承了抽象类,则抽象类中的抽象方法需要在其子类中覆写。(√)13.final类型的变量是常量,其内容不可改变。(√)14.一个类不能既是子类又是父类。(√)15.子类只能继承父类的成员,但不能修改父类成员。(×)16.Java语言只支持单继承,不支持多继承。(√)17.子类可以继承父类的所有成员。(√)18.一个接口可以继承一个抽象类。(×)19.一个接口可以同时继承多个接口。(√)20.在程序中,this和super调用构造方法时可以同时出现。(×)

3.3

4.4 简答题

1.String类的操作特点。

答:String类的对象有两种实例化方式。

☑方式一:直接赋值,只开辟一块堆内存空间,并且对象可以入池;

☑方式二:构造方法,开辟两块堆内存空间,有一块将称为垃圾,不会自动入池,使用

498

499

Note

附录B 参考答案

intern()方法手工入池。

String 对象的比较方法如下所示。 ☑ ==:比较的是两个字符串对象的内存地址数值; ☑ e quals():字符串内容比较。

字符串对象一旦声明,则内容不可改变,改变的只能是字符串对象的地址指向。 2.简述垃圾对象的产生。

答:垃圾指的是一块无用的引用内存,当将变量设置为null 或者长时间不使用时,就将成为垃圾。

3.static 方法如何调用?非static 方法如何调用?

答:static 方法可以使用类名称或实例化对象调用,而非static 方法只能依靠实例化对象才可以调用。

4.类与对象的关系是什么?如何创建及使用对象?

答:类规定了对象所具有的属性及行为(方法),类只有通过产生对象才可以分配属性或者是调用方法,对象的创建依靠关键字new 创建。

5.举例说明子类对象的实例化过程。

答:当通过关键字new 实例化子类对象时,会默认调用父类的无参构造方法,为父类对象实例化,而后才会调用子类的构造方法,为子类对象实例化。

6.简述this 与super 关键字的区别。

答:this 和super 都可以调用类中的属性、方法、构造方法,但是this 调用的是本类操作,而super 是由子类调用父类操作。

7.简述方法的重载与覆写的区别。

答:方法重载是发生在一个类中,方法名称相同、参数的类型及个数不同,不受权限的限制。而覆写是发生在继承关系之中,子类和父类定义了方法名称相同、参数类型及个数、返回值类型完全相同的方法时所发生的操作,在子类覆写父类方法时,被覆写的方法不能拥有比父类更严格的访问权限。

8.在已有类的基础上派生新的类有什么好处?

答:扩充已有类的功能,并且利用方法的覆写扩充已有方法的功能。 9.如何区分子类和父类?子类可以继承父类的哪些内容?

答:子类使用extends 继承父类或使用implements 实现多个接口,子类可以继承父类中的全部内容,但是对于私有操作属于隐式继承,而非私有操作属于显式继承。

10.什么是多态?实现多态的方法有哪些?

答:多态是面向对象的最后一个主要特征,它本身主要分为两个方面。 ☑ 方法的多态性:重载与覆写

➢ 重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能; ➢ 覆写:同一个方法,根据操作的子类不同,所完成的功能也不同。 ☑ 对象的多态性:父子类对象的转换。

➢ 向上转型:子类对象变为父类对象,格式:父类 父类对象 = 子类实例,自动;

➢ 向下转型: 父类对象变为子类对象,格式:子类 子类对象 = (子类) 父类实例,强制; 11.接口有哪些特征?如何定义和实现接口?

答:接口之中全部由全局常量及抽象方法所组成,一个类可以同时实现多个接口,在Java 中使用interface 定义接口,子类使用implements 实现接口。

12.接口和抽象类有哪些区别?

J ava核心技术精讲

Note

答:抽象类及接口区别如下。

No. 区别抽象类接口

1 定义关键字abstract class interface

2 组成常量、变量、抽象方法、普通方法、构造方法全局常量、抽象方法

3 权限可以使用各种权限只能是public

4 关系一个抽象类可以实现多个接口

接口不能够继承抽象类,却可以继承

多接口

5 使用

子类使用extends继承抽象类子类使用implements实现接口

抽象类和接口的对象都是利用对象多态性的向上转型,进行接口或抽象类的实例化操作

6 设计模式模板设计模式工厂设计模式、代理设计模式

7 局限一个子类只能够继承一个抽象类一个子类可以实现多个接口

13.简述基本数据类型的自动装箱及自动拆箱操作。

答:在JDK 1.5后,基本数据类型可以采用直接赋值的方式为包装类进行对象的实例化操作,而包装类的对象也可以通过直接赋值的方式变回基本数据类型。

3.3

4.5 编程题

1.编写并测试一个代表地址的Address类,地址信息由国家、省份、城市、街道和邮编组成,并可以返回完整的地址信息。

答案:

class Address {

private String national;

private String provincial;

private String city;

private String street;

private String zipcode;

public Address() {

}

public Address(String national, String provincial, String city,

String street, String zipcode) {

super();

this.national = national;

this.provincial = provincial;

this.city = city;

this.street = street;

this.zipcode = zipcode;

}

public String toString() {

return "国家:" + this.national + ",省份:" + this.provincial + ",城市:"

+ this.city + ",街道:" + this.street + ",邮政编码:" + this.zipcode;

}

//setter、getter略

}

public class TestDemo {

500

501

Note

附录B 参考答案

public static void main(String args[]) { Address ad = new Address("中国", "北京", "北京市", "MLDN", "100088"); System.out.println(ad); }

}

程序运行结果:

国家:中国,省份:北京,城市:北京市,街道:MLDN ,邮政编码:100088

2.定义并测试一个代表员工的Employee 类,员工属性包括编号、姓名、基本薪水和薪水增长额,还包括计算增长后的工资总额。

答案:

class Employee { private int empno ; //雇员编号 private String ename ; //雇员姓名 private double sal ; //基本工资 private double rate ; //工资增长额 public Employee() { } public Employee(int empno, String ename, double sal, double rate) { super (); this .empno = empno; this .ename = ename; this .sal = sal; this .rate = rate; } public String toString() { return "雇员编号:" + this .empno + ",雇员姓名:" + this .ename + ",基本工资:" + this .sal ; } public void growthin() { //增长薪水 this .sal = this .sal * this .rate ; } //setter 、getter 略 }

public class TestDemo { public static void main(String args[]) { Employee emp = new Employee(7369, "SMITH", 1000, 1.5); emp.growthin() ; //工资增长 System.out.println(emp); } }

程序运行结果:

雇员编号:7369,雇员姓名:SMITH ,基本工资:1500.0

3.编写程序,从字符串“want you to know one thing ”中统计出字母“n ”的出现次数。 答案:

public class TestDemo { public static void main(String args[]) { String str = "want you to know one thing" ; //定义字符串

J ava核心技术精讲

Note

int sum = 0 ;

while (str.indexOf("n") != -1) { //是否还有字母n

sum ++ ; //数据统计量增加

str = str.substring(str.indexOf("n") + 1); //改变字符串内容

}

System.out.println("字母n的出现次数:" + sum);

}

}

程序运行结果:

字母n的出现次数:4

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

答案:

class Dog {

private String name ;

private String color ;

private int age ;

public Dog() {

}

public Dog(String name, String color, int age) {

super();

https://www.360docs.net/doc/5b19349176.html, = name;

this.color = color;

this.age = age;

}

public String toString() {

return "狗的名字:" + https://www.360docs.net/doc/5b19349176.html, + ",狗的颜色:" + this.color + ",狗的年龄:" + this.age ;

}

// setter、getter略

}

public class TestDemo {

public static void main(String args[]) {

Dog dog = new Dog("金毛", "金黄色", 3);

System.out.println(dog);

}

}

程序运行结果:

狗的名字:金毛,狗的颜色:金黄色,狗的年龄:3

5.字符串操作:

从字符串“MLDN中心Java技术学习班20130214”中提取开班日期。

答案:

public class TestDemo {

public static void main(String args[]) {

String str = "MLDN中心Java技术学习班20130214" ;

System.out.println(str.substring(str.indexOf("20130214")));

}

502

503

Note

附录B 参考答案

}

程序运行结果:

20130214

☑ 将“MLDN JAVA 高端技术培训”字符串中的“JAVA ”替换为“JAVA EE ”。 答案:

public class TestDemo { public static void main(String args[]) { String str = "MLDN JAVA 高端技术培训" ; System.out.println(str.replaceAll("Java".toUpperCase(), "JAVA EE")); } }

程序运行结果:

MLDN JAVA EE 高端技术培训

☑ 取出“Java 技术学习班20130214”中的第8个字符。 答案:

public class TestDemo { public static void main(String args[]) { String str = "Java 技术学习班20130214" ; System.out.println(str.charAt(8)); } }

程序运行结果:

☑ 清除“Java 技术学习班20130214”中的所有“0”。 答案:

public class TestDemo { public static void main(String args[]) { String str = "Java 技术学习班20130214" ; System.out.println(str.replaceAll("0", "")); } }

程序运行结果:

Java 技术学习班213214

☑ 从任意给定的身份证号码中提取此人的出生日期。 答案:

public class TestDemo { public static void main(String args[]) { String str = "1101051976091900520" ; System.out.println(str.substring(6,14)); } }

程序运行结果:

19760919

6.编写一个银行账户类,类的构成包括:

J ava核心技术精讲

Note

☑数据成员

用户的账户名称、用户的账户余额;

☑方法

开户(设置账户名称及余额),利用构造方法完成

☑查询余额

答案:

class Account {

private String name ;

private double balance ;

public Account() {

}

public Account(String name, double balance) {

super();

https://www.360docs.net/doc/5b19349176.html, = name;

this.balance = balance;

}

public String toString() {

return "账户名称:" + https://www.360docs.net/doc/5b19349176.html, + ",余额:" + this.balance;

}

public double getBalance() {

return balance;

}

// setter、getter略

}

public class TestDemo {

public static void main(String args[]) {

Account acc = new Account("张三", 5000.0);

System.out.println(acc);

System.out.println("账户余额:" + acc.getBalance());

}

}

程序运行结果:

账户名称:张三,余额:5000.0

账户余额:5000.0

7.定义一个ClassName接口,接口中只有一个抽象方法getClassName()。设计一个类Company,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名称。编写应用程序使用Company类。

答案:

interface ClassName {

public String getClassName() ;

}

class Company implements ClassName {

public String getClassName() {

return "Company";

}

}

504

505

Note

附录B 参考答案

public class TestDemo { public static void main(String args[]) { ClassName name = new Company() ; System.out.println(name.getClassName()); } }

程序运行结果:

Company

8.建立一个人类(Person )和学生类(Student ),其功能要求:

(1)Person 中包含4个保护型的数据成员name 、address 、sex 、age ,分别为字符串、字符串、字符及整型,表示姓名、地址、性别和年龄。一个4参构造方法、一个无参构造方法及一个输出方法用于显示4种属性。

(2)Student 继承Person ,并增加输出成员math 、english 存放数学和英语成绩。一个6参构造方法、一个两参构造方法,一个无参构造方法,重写输出方法用于显示全部6种属性。

答案:

class Person { private String name ; private String address ; private char sex ; private int age ; public Person() { } public Person(String name, String address, char sex, int age) { super (); this .name = name; this .address = address; this .sex = sex; this .age = age; } public String toString() { return "姓名:" + this .name + ",地址:" + this .address + ",性别:" + this .sex + ",年龄:" + this .age; } //setter 、getter 略 }

class Student extends Person { private double math ; private double english ; public Student() { } public Student(String name, String address, char sex, int age, double math, double english) { super (name, address, sex, age); this .math = math; this .english = english; } public String toString() {

J ava核心技术精讲

Note

return super.toString() + ",数学成绩:" + this.math + ",英语成绩:" + this.english;

}

//setter、getter略

}

public class TestDemo {

public static void main(String args[]) {

Student stu = new Student("张三", "北京西城区甲11号德外大街德胜科技园美江大厦A 座- 6层", '男', 25, 90.0, 99.0);

System.out.println(stu);

}

}

程序运行结果:

姓名:张三,地址:北京西城区甲11号德外大街德胜科技园美江大厦A座- 6层,性别:男,年龄:25,数学成绩:90.0,英语成绩:99.0

9.定义员工类,具有姓名、年龄、性别属性,并具有构造方法、显示数据方法、定义管理层类、继承员工类,并有自己的属性:职务和年薪。定义职员类,继承员工类,并有自己的属性:所属部门和月薪。

答案:

class Employee {

private String name ;

private int age ;

private char sex ;

public Employee() {

}

public Employee(String name, int age, char sex) {

super();

https://www.360docs.net/doc/5b19349176.html, = name;

this.age = age;

this.sex = sex;

}

public String toString() {

return "雇员姓名:" + https://www.360docs.net/doc/5b19349176.html, + ",年龄:" + this.age + ",性别:" + this.sex;

}

//setter、getter略

}

class Manager extends Employee {

private String job ;

private double income ;

public Manager() {

}

public Manager(String name, int age, char sex, String job, double income) {

super(name, age, sex);

this.job = job;

this.income = income;

}

public String toString() {

return super.toString() + ",职位:" + this.job + ",年薪:" + this.income ;

}

506

java考试试题及答案

java考试试题及答案 一、选择题 1.以下关于Java的说法,哪个是正确的? A. Java是一种编程语言 B. Java只能在Windows系统上运行 C. Java只用于游戏开发 D. Java不能用于Web开发 答案:A 2.下面哪个关键字用于定义一个类? A. class B. public C. static D. void 答案:A 3.Java中的基本数据类型有哪些? A. int, float, char, boolean B. Integer, Float, Character, Boolean C. String, Double, Boolean

D. int, double, String, boolean 答案:A 4.以下哪个不是Java的访问修饰符? A. public B. protected C. private D. final 答案:D 5.以下哪种循环结构在未知条件的情况下会被循环执行? A. for循环 B. while循环 C. do-while循环 D. switch语句 答案:C 二、填空题 1.Java中用于接收用户输入的类是__Scanner__。 2.Java中String类的equals()方法用于比较两个字符串的__内容__。 3.在Java中,用于创建对象的关键字是__new__。

4.Java中的集合类是位于__java.util__包下的。 5.Java中的逻辑与运算符是__&&__,逻辑或运算符是__||__。 三、简答题 1.请简要介绍Java的特点及优势。 Java是一种跨平台的编程语言,具有以下特点和优势: - 简单易学:Java语法相对简单,与C++相比更容易上手。 - 面向对象:Java支持面向对象编程,具有封装、继承和多态的特性。 - 平台无关性:Java通过虚拟机实现跨平台,只需编写一次代码即 可在不同操作系统上运行。 - 安全性:Java有严格的访问控制和内存管理机制,可防止非法访 问和内存泄漏。 - 异常处理:Java提供了强大的异常处理机制,可以捕获和处理程 序中的异常情况。 - 大量类库:Java拥有丰富的类库,提供了各种常用的功能和工具。 2.请简述Java的继承和多态的概念及用途。 继承是Java面向对象编程的重要特性,通过继承可以创建新的类,并从已有的类继承属性和方法。子类继承父类后,可以直接调用父类

2021年java基础测试题及答案

2021年java基础测试题及答案 java基础测试题及答案1 一、单选题:(每道题目2分) 1、下列哪个声明是错误的?(B) A、int i=10; B、float f=1.1; //float f=1.1f C、double d=34.4; D、byte b=127; long类型的数据加后缀L或者l float类型的数据加后缀F或者f 整数默认是int类型 浮点数默认是double类型 2、下面哪个不是java中的关键字?(C) A、public B、true C、main D、class 3、下面程序哪个语句是正确的(C) A、byte a=0,b=3; byte c =a+b;//a+b的类型为int B、short s =23; s=s+12; //s+12底层是转成int进行相加,所以结果为int。 C、short s=23; s+=12; //相当于s=(short)(s+12)

D、float f = 23+23.23; //23+23.23的结果为double 4、下面程序执行的结果是?(B) class Test { public static void main(String[] args) { System.out.println(“”+‘a’+1); } } A、98 B、a1 C、971 D、197 //空串放前相当于字符串的拼接,空串放后,‘a’+1,先做运算,再与空串进行拼接,byte,short,char可以自动转为int, 5、下面程序执行的结果是?(B) int i =100; while(true) { if (i++ > 100) //i先计算在自加 { break;

java试题附参考答案

java试题附参考答案 Java试题附参考答案 Java作为一门广泛应用于软件开发领域的编程语言,其基础知识和技能对于程 序员来说是必不可少的。为了帮助读者更好地掌握Java,本文将介绍一些常见 的Java试题,并附上参考答案,希望能对读者的学习和提高有所帮助。 一、基础知识题 1. Java中的8种基本数据类型是什么? 答案:byte、short、int、long、float、double、char、boolean。 2. Java中的自动装箱和拆箱是什么意思? 答案:自动装箱是指将基本数据类型自动转换为对应的包装类,而自动拆箱 则是指将包装类自动转换为对应的基本数据类型。 3. Java中的final关键字有什么作用? 答案:final关键字可以用来修饰类、方法和变量。修饰类时表示该类不能被 继承,修饰方法时表示该方法不能被重写,修饰变量时表示该变量是一个常量,不能被修改。 4. Java中的String和StringBuilder有什么区别? 答案:String是一个不可变的类,每次对String进行修改都会创建一个新的String对象,而StringBuilder是一个可变的类,可以对其进行修改而不创建新 的对象。 5. Java中的异常处理机制是什么? 答案:Java中的异常处理机制通过try-catch-finally语句块来实现。try块中 包含可能会抛出异常的代码,catch块用来捕获并处理异常,finally块用来执行

无论是否发生异常都需要执行的代码。 二、编程题 1. 编写一个Java程序,判断一个数是否是素数。答案: ```java public class PrimeNumber { public static boolean isPrime(int num) { if (num < 2) { return false; } for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { return false; } } return true; } public static void main(String[] args) { int num = 17; if (isPrime(num)) { System.out.println(num + "是素数");

java试题及答案

java试题及答案 Java是一种面向对象的编程语言,广泛应用于软件开发领域。对于学习和使用Java的人来说,熟悉并掌握各种Java试题及答案是非常重要的。本文将提供一些常见的Java试题及答案,帮助读者巩固和拓展Java知识。 一、选择题 1. 下列哪个关键字用于定义一个类的成员方法? A)this B)super C)class D)public 答案:D)public 2. 下列哪个关键字用于定义类的实例变量? A)final B)static C)this D)new 答案:B)static

3. 在Java中,以下哪个关键字用于定义一个常量?A)constant B)static C)final D)immutable 答案:C)final 4. 下列哪个选项用于在Java中处理异常? A)try-catch语句 B)for循环 C)if-else语句 D)switch语句 答案:A)try-catch语句 5. 下列哪个方法用于将字符串转换为整数? A)parseInt() B)parseDouble() C)toString() D)valueOf()

答案:A)parseInt() 二、填空题 1. Java中,用于创建线程的类是_____________。 答案:Thread 2. 在Java中,用于将对象序列化为字节流的接口是_____________。 答案:Serializable 3. Java中,用于遍历数组或集合的关键字是_____________。 答案:foreach 4. Java中,用于在子类中调用父类的构造方法的关键字是 _____________。 答案:super 5. Java中,用于执行垃圾回收的方法是_____________。 答案:System.gc() 三、编程题 1. 编写一个Java程序,实现一个简单的计算器。要求用户输入两个 数字和运算符(+、-、*、/),然后输出计算结果。 ```java import java.util.Scanner;

java基础考试试题及答案

java基础考试试题及答案 一、选择题 1. 在Java中,以下哪个不是访问修饰符? A) public B) protected C) private D) static 答案: D 2. 下列选项中,不属于Java基本数据类型的是? A) int B) double C) boolean D) string 答案: D 3. Java中的包(package)用于什么目的? A) 控制访问权限 B) 组织类和接口 C) 定义变量和方法

D) 实现多态性 答案: B 4. 下面关于Java异常处理的说法中,正确的是? A) 所有异常类都必须派生自Throwable类 B) 编译时异常必须使用try-catch块捕获 C) RuntimeException是编译时异常的子类 D) finally块用于捕获异常并处理 答案: B 5. 在Java中,以下哪个关键字用于终止整个循环? A) break B) continue C) return D) exit 答案: D 二、填空题 1. Java中,使用关键字____声明一个类。 答案: class 2. Java中,使用关键字____定义一个方法。

答案: void 3. Java中,使用关键字____声明一个常量。 答案: final 4. Java中,使用关键字____定义一个抽象类。 答案: abstract 5. Java中,使用关键字____定义一个接口。 答案: interface 三、编程题 1. 编写一个Java程序,输出1到100之间所有的偶数。```java public class EvenNumbers { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { System.out.println(i); } } }

计算机二级考试《java》试题及答案

计算机二级考试《java》试题及答案计算机二级考试《java》试题及答案「篇一」 1、以下不是Java中有效的关键字。 A、const B、NULL C、false D、this 本题考查的是Java的关键字。 Java中常量null,false,true,new,this,const,break都是小写。 故本题答案为B。 2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是。 A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B、可以被两种类访问和引用:该类本身、该类的所有子类 C、只能被该类自身所访问和修改 D、只能被同一个包中的类访问 本题考查的是成员变量的修饰符。

private修饰的变量说明变量为私有访问。只能被该类自己访问或调用,是对成员变量的高级保护。 故本题答案为C。 3、当检索一个压缩文件时,首先要建立压缩文件输入流对象。该对象。 A、以选中的压缩文件为参数 B、以FileInputStream对象为参数 C、以InputStreamReader对象为参数 D、以BufferedReader对象为参数 本题考查的是压缩文件。 在java.io包中提供了对压缩文件进行操作的能力。它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。 故本题答案为B。 4、计算机中的流是______ 。 A、流动的字节 B、流动的对象 C、流动的文件 D、流动的数据缓冲区

java设计模式期末试题及答案

java设计模式期末试题及答案 一、单选题(共10题,每题2分,共计20分) 1. 设计模式是一套用于解决软件设计问题的**经验**。 A) 规范 B) 经验 C) 原则 D) 方法 2. 下列哪种设计模式用于将对象的创建与使用分离,隐藏对象的创 建细节。 A) 工厂方法模式 B) 抽象工厂模式 C) 单例模式 D) 原型模式 3. 下列哪种设计模式用于定义一系列算法,将每个算法都封装起来,并且使它们可以相互替换。 A) 策略模式 B) 观察者模式 C) 适配器模式

D) 迭代器模式 4. 下列哪种设计模式用于为一个复杂子系统提供一个简单接口。 A) 装饰者模式 B) 外观模式 C) 代理模式 D) 桥接模式 5. 下列哪种描述在对象结构中递归地定义了一组对象的方式。 A) 访问者模式 B) 组合模式 C) 责任链模式 D) 迭代器模式 6. 下列哪种设计模式用于将对象之间的解耦合,并且避免相互紧耦合。 A) 原型模式 B) 装饰者模式 C) 命令模式 D) 中介者模式

7. 下列哪种设计模式用于提供一种机制,使得对象可以在其状态发生改变时通知其他对象。 A) 观察者模式 B) 适配器模式 C) 解释器模式 D) 规则模式 8. 下列哪种设计模式用于将对象的状态保存在外部对象中,并且可以根据需要恢复对象的状态。 A) 备忘录模式 B) 状态模式 C) 命令模式 D) 中介者模式 9. 下列哪种设计模式用于为一组相关或者相互依赖的对象提供一个封装访问接口。 A) 代理模式 B) 过滤器模式 C) 桥接模式 D) 抽象工厂模式

10. 下列哪种设计模式用于将复杂对象的构建与其表现分离开来,以便同样的构建过程可以创建不同的表现。 A) 生成器模式 B) 解释器模式 C) 迭代器模式 D) 模板方法模式 二、简答题(共5题,每题4分,共计20分) 1. 简要介绍工厂方法模式的核心思想及应用场景。 答: 工厂方法模式的核心思想是定义一个用于创建对象的工厂接口,让子类决定实例化哪个类。在工厂方法模式中,我们将对象的创建与使用分离开来,隐藏对象创建的细节。这样一来,我们可以通过新增工厂子类来创建新的对象类型,而不需要修改现有的代码。 工厂方法模式常用于以下场景: - 创建对象的过程比较复杂,需要隐藏创建细节。 - 一个类希望由它的子类来决定实例化哪个类。 - 需要通过多个工厂子类来创建不同类型的对象。 2. 简要介绍观察者模式的核心思想及应用场景。

Java语言练习题库含答案

单选题 1.为了保证方法的线程安全,声明方法的时候必须用哪个修饰符? C (A) new ((B) transient (C) void .j (D) synchronized 2-编译Java源文件使用哪个? ♦(A) javac (B) jdb ((C) javadoc (D) junit 3.哪一种类的对象中包含有Internet地址。 二(A) Applet ((B) Datagramsocket ♦(C) InetAddress ((D) Appletcontext 4-有关GUI容器叙述,不正确的是? (A)容器是一种特殊的组件,它可用来放置其它组件 (B)容器是组成GUI所必需的元素

(C)容器是一种特殊的组件,它可被放置在其它容器中 ・(D)容器是一种特殊的组件,它可被放置在任何组件中 5-使用javadoc生成的文档的文件格式是? (A) XML格式 (B)自定义格式 (C)二进制格式 ・(D) HTML格式 6.下列有关类、对象和实例的叙述,正确的是哪一项? (A)类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 (B)对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 (C)类是对象的抽象,对象是类的具体化,实例是类的另一个名称 ・(D)类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 7.在事件委托类的继承体系中,最高层次的类是哪项? C(A) java.util.EventListener -(B) java.util.EventObject -j(C) java.awt.AWTEvent -j(D) java.awt.event.AWTEvent 8. Java语言中异常的分类是哪项? (A)运行时异常和异常

Java基础试题及其答案

Java基础试题及其答案 java试题一单项选择 2)在java中,下列()语句不能通过编译。(选择一 项)a)strings=“join”+“was”+“here”;b)strings=“join”+3;c)inta=3+5d)floatf =5+5.5; 3)取值java代码如下,运转时,可以产生()类型的异常。(挑选一项)strings =null;s.concat(“abc”);a)arithmeticexceptionb)nullpointerexceptionc)ioexceptiond)eofexception4)在java中,()对象可以采用键/值的形式留存数据。 (挑选一项)a)arraylistb)hashsetc)hashmapd)linkedlist 5)给定如下java代码,编译运行之后,将会输出()。publicclasstest{ publicstaticvoidmain(stringargs[]){inta=5; system.out.println(a%2==1)?(a+1)/2:a/2);} }(挑选一项)a)1b)2c)2.5d)3 6)以下java语句中,stringstr=“123456789”;str=str.substring(1,3);执行后 str中的值为。(选择一项)a)“23”b)“123”c)“12”d)“234” 7)取值如下java代码,编程时会在()发生错误。classparent{} classchildextendsparent{ publicstaticvoidmain(stringargs[]){parentp1=newchild();//第一行 parentp2=newparent();//第二行childc1=newchild();//第三行childc2=newparent();//第四行} }(选择一项)第一行第二行第三行第四行 8)取值如下java代码,编程运转时,结果就是()。(挑选一项) publicclasstest{ publicstaticvoidmain(stringargs[]){for(inti=0;i<3;i++){ system.out.print(i);} system.out.print(i);} } a)编译时报错

Java基础部分题(参考答案)

Java基础部分题(参考答案) 基础语法1: 1.以下变量定义不正确。 2、a)inta;b)doubleb=4.5;c)booleanb=true;d)floatf=9.8; 3、下列数据类型的精度 由高到低的顺序是: a) Float,double,int,longb)double,Float,int,bytec)字节,long,double,Float)double,int,Float,long4。执行以下代码后,inta=3;charb='5'; charc=(char)(a+b);c的值是? a) ??8.b) 53c)8D)565。Unicode是一种_____________ a)数据类型b)java包c)字符编码d)java类6、6+5%3+2的值是___________a)2b) 1c)9d)10 7.在下面的逻辑表达式中,什么是合法的__________ a)(7+8)&&(9-5)b)(9*5)||(9*7)c)9>6&&8<10d)(9%4)&&(8*3)8、java语言中,占用32位存储空间的是__________。 a、 Long,doubleb,Long,floatc,int,double,int,float9。假设inta=3,B=2,C=1,下面的语句是正确的。 a)c=c/float(a//b)b)c=c/((floata)/b) c) c=(float)c/(A/b)d)c=c/(int)(A/(float)b)10、2 | 3和5的值为。 a)1b)2c)3d)511、指出下列正确的语句: a) bytei=389;b) longlv=i*3+4.5;c) intx=87l;d)longl=10; 11、指出下列类型转换中正确的是______________。 a) Inti='a'b)longl=8.4fc)Inti=(布尔)8.9d)Inti=8.312。在以下选项中, 可以在Java语言中正确表示整型常量的选项是()。a)十二,。b) -20C)1000D)45613。在以下选项中,法定转让声明为()。 a)a==1;b)++i;c)a=a+1=5;d)y=int(i); 14.如果使用的所有变量定义正确,则以下选项中的非法表达式为()。a) a!=4 | b==1b)'a'%3C''a'=1/2D)'a'+3215。对于三位正整数n,取其十位数字k(k是整数)。表达式是()。a) k=n/10%10b)k=(n-n/100*100)c)k=n%10d)k=n/10

Java试题及答案

Java试题及答案 1.下列不属于main方法的修饰词的是() A。public B。void C。static D。final 2.Java源程序经过编译后的文件类型是() A。字节码文件 B。可执行文件 C。目标文件 D。中间文件 3.下列关于运算符的结合性说法正确的是() A。算术运算符和条件运算符都是左结合(即从左至右)算术不一定++的前缀和后缀不一样 B。单目运算符是左结合 C。关系运算符是左结合 D。赋值运算符是左结合 4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?() A。继承性 B。抽象性 C。封装性 D。多态性 5.下面哪个是合法的布尔值()

A。"false" B。false C。D。f 6.下面哪个是Java语言中的关键字?() A。___ 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?() A。do-while循环 B。for循环 C。while循环 D。以上都不是 8.以下哪个选项用以确定字符串的长度?() A。size B。length C。max_value D。length() 9.下面的语句哪个是正确的?() A。char='abc'。B。long l=0xfff。C。float f=0.23f。D。double d=0.7e-3; 10.下列哪个类的声明是错误的?() A。final abstract class A B。final class A C。protected class A D。public class A

11.下面程序段的执行结果是什么?() public class Foo{ public static void main(String[] args){ try{ return; finally{ System.out.println("Finally!"); A。程序正常运行,但不输出任何结果B。程序正常运行,并输出Finally C。编译能通过,但运行时会出现例外 D。因为没有catch语句块,所以不能通过编译 12.设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为() A。1 B。2 C。-3 D。报错

java考试试卷及答案

欢迎共阅JAVA考试试卷及答案 选择题 3、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的(D)方法来完成一些画 图操作。 A.start() B.stop() C.init() D.paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstractfinalclassHI{···}B)abstractprivatemove(){···} C)protectedprivatenumber;D)publicabstractclassCar{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的?B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.StringtoString() B.voidnotify() C.voidnotifyAll() D.voidwait() 11、给出下面代码:C publicclassPerson{ staticintarr[]=newint[10]; publicstaticvoidmain(Stringa[]) { } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[]value,intoffset,intcount) B.String(int[]codePoints,intoffset,intcount) C.String(Stringoriginal) D.String(StringBufferbuffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对 14、下列不是String类的常用方法是:C A、booleanequals(Stringstr)

java程序设计试题及答案

java程序设计试题及答案 在这里,我将按照试题和答案的格式为您回复题目为“java程序设计试题及答案”的文章。 Java程序设计试题及答案 一、选择题 1. 下列关于Java程序设计语言的说法,正确的是()。 A. Java是编译执行的语言; B. Java程序只能运行在Windows操作系统上; C. Java程序可以在任何操作系统上运行; D. Java程序只能由JDK编译。 答案:C. Java程序可以在任何操作系统上运行。 2. 在Java程序中,用于接收用户输入的类是()。 A. Scanner; B. Integer; C. Double; D. String。 答案:A. Scanner。 3. 以下代码的输出结果是()。

```java int x = 5; int y = 2; System.out.println(x / y); ``` A. 2.5; B. 2; C. 2.0; D. 2.50。 答案:B. 2。 二、填空题 1. Java程序的入口函数是()。 答案:main。 2. 以下代码中,用于定义整型变量的关键字是()。```java _____________ x = 10; ``` 答案:int。

三、简答题 1. 请简要解释Java程序的编译执行过程。 答案:Java程序的编译执行过程包括以下几个步骤: 1) 编写Java源代码文件,以`.java`为扩展名; 2) 使用JDK中的`javac`命令编译源代码文件,生成字节码文件,以`.class`为扩展名; 3) 使用JDK中的`java`命令解释执行字节码文件。 2. 请简述Java中的面向对象编程特性。 答案:Java中的面向对象编程特性包括封装、继承和多态。 - 封装:将数据和操作数据的方法封装在一起,形成类的概念,隐藏内部实现细节; - 继承:通过继承机制,实现代码的重用和扩展性,子类可以继承父类的属性和方法; - 多态:通过多态性,同一类型的对象可以具有不同的行为,提高代码的灵活性和可扩展性。 四、编程题 请编写一个Java程序,实现计算给定数组的平均值的功能,并返回平均值结果。请使用以下代码模板: ```java

java考试试卷及参考答案

JA V A考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,以下选项中,哪个反映了Java程序并行机制的特点?B A)平安性 B)多线程 C)跨平台 D)可移植 4、以下哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,以下哪些语句关于内存回收的说明是正确的? B A.程序员必须创立一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、以下Object类中的方法,哪一项不是完全跟线程有关: A A.String toString() B.void notify() C.void notifyAll() D.void wait()

11、给出下面代码:C public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 以下说法中正确的选项是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的选项是: B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、以下说法中正确的选项是: C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对

相关主题
相关文档
最新文档