2013-2014-1-java考试复习题库

更新时间:2024-06-05 17:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1.下面哪个JDK包提供的类和接口在使用时不需要用import语句引入? [A] java.util [B] java.io [C] java.applet [D] java.lang [E] javax.swing [F] java.awt [G] java.net [H] java.sql

2.下面哪个选项是java的解释器? [A] java.exe [B] javac.exe [C] javah.exe

[D] appletviewer.exe

3.下面描述中错误的是? [A] public类就是主类

[B] 对于application而言,主类是包含main方法的类。

[C] 在一个.java文件中,可以有多个类的定义,但只能有一个public类。 [D] 对于applet而言,主类是系统Applet类的扩展类。 4.下面哪个选项不是java语言合法的标识符? [A] $mail2 [B] 3$mail [C] Abcde [D] _mail_

5.下面哪条语句在编译时不会出现错误或警告? [A] float f=123.23; [B] int a=123.23f; [C] boolean b=null; [D] String s=null; 6.有如下语句: int x=1; int a=(x>3)?5:2;

赋值后a的值是? [A] 5 [B] 2 [C] true [D] false

7.下面代码的运行结果是什么? int i=2; switch (i){ case 0:

System.out.println(\ break; case 1:

1

System.out.println(\ case 2:

System.out.println(\ default:

System.out.println(\ } [A] two

[B] two, default

[C] zero,one, two, default [D] default

8.编译运行下面代码的结果是什么? class Q{

public static void main(String args[]){ int anar[]={1,2,3};

System.out.println(anar[2]); } } [A] 1 [B] 2 [C] 3 [D] 0

9.编译运行下面代码的结果是什么? interface A{ int a=50;

public void amethod(); }

class B implements A{

public static void main(String args[]){ System.out.println(a); } }

[A] 运行时输出50 [B] 运行时输出0

[C] 编译时提示有错误

10.编译运行下面代码的结果是什么? public class MyClass{ static int i;

public static void main(String args[]){ System.out.println(i); } }

[A] 提示变量i没有被初始化 [B] null [C] 0 [D] 1

11.下面哪个选项的代码在编译时有错误或警告? [A] /*This is a comment */ package MyPackage; import java.awt.*; class MyClass{}

[B] package MyPackage; import java.awt.*; class MyClass{} [C] import java.awt.*;

2

package Mypackage; class Myclass {}

12.以下输出语句的输出结果是? int a[][]={{2},{3,3},{4,4,4}};

System.out.println(a.length+“ ” +a[1].length); [A] 2 2 [B] 3 2 [C] 3 1 [D] 1 2

13.给出如下代码: 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 改为 private static int m [D] 将private int m 改为 int m 14.以下输出语句的输出结果是?

String str=\ String str1=\ System.out.println(str.regionMatches(4,str1,6,1)); [A] true [B] false [C] 1 [D] 0

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

A..java B..class C..html D..exe 16.设 x=1, y=2, z=3,则表达式 y+=z--/++x 的值是:() A.3 B.3.5 C.4 D.5 17.设a=8,则表达式a>>>2的值是:()

A.1 B.2 C.3 D.4 18.下面程序段的输出结果是() String MyStr = “Hello,”; MyStr = MyStr+“Guys!”; System.out.println(MyStr);

A.Hello,Guys! B.Hello,

C.Guys! D.该程序段有语法错误 19.下面语句哪个是正确的?()

A.char='abc' B.long y=0xfff C.float f=0.23 D.double=0.7E-3 20.下面语句段的输出结果是什么?() int i=9; switch (i) { default:

System.out.println(“default”);

case 0:

3

System.out.println(“zero”); break; case 1:

System.out.println(“one”); case 2:

System.out.println(“two”); }

A.default

B.default,zero

C.error default clause not defined D.no output displayed

21.当编译和运行下列程序段时,会发生什么?() class Base {}

class Sub extends Base {} class Sub2 extends Base {} public class CEx{

public static void main(String args[]){ Base b = new Base(); Sub s = (Sub) b; } }

A.通过编译和并正常运行。 B.编译时出现例外。

C.编译通过,运行时出现例外。

22.如果类能被所属包中的类访问,也可以被其它包中的类访问,那么应使用哪个限定词?() A.public B.private C.protected D.transient

23.下面的哪个选项是正确的?() class ExSuper{

String name;

String nick_name;

public ExSuper(String s,String t){ name = s;

nick_name = t; }

public String toString(){ return name; } }

public class Example extends ExSuper{ public Example(String s,String t){ super(s,t); }

public String toString(){

return name +“a.k.a”+nick_name; }

public static void main(String args[]){

ExSuper a = new ExSuper(“First”,“1st”); ExSuper b = new Example(“Second”,“2nd”);

4

System.out.println(“a is ”+a.toString()); System.out.println(“b is ”+b.toString()); } }

A.编译时会出现例外。 B.运行结果为: a is First b is Second C.运行结果为: a is First

b is Seconda.k.a2nd D.运行结果为:

a is Firsta.k.a1st b is Second a.k.a2nd

24.请问所有的异常类皆继承哪一个类?() A.java.io.Exception B.java.lang.Throwable C.java.lang.Exception D.java.lang.Error

25.以下说法中,错误的是()

A.java语言源程序中可以有多个类的定义,但只能有一个主类,此主类是java程序运行的入口点

B.在应用程序中,主类为包含main方法的类

C.在applet中,主类为用户自定义的系统applet类的扩展类 D.主类就是public类

E.java语言源程序中可以有多个类的定义,但只能有一个public类,且类名要和java语言源程序文件名保持一致。

26.下面说法中,错误的是() A.行注释以//开头

B.块注释以/*开始和*/结束

C.java编译器忽略注释后的语句或说明 D.javadoc注释不是java语言中的注释类型

27.下面java语言的标识符中,不合法的是() A.classname B.$member C.56are D._variable

28.指定变量是一个类成员变量的访问修饰符是() A.accessSpicifier B.static C.final D.protected

29.下面关于构造方法的描述,错误的是() A.能为构造方法指定返回值

B.当写类时不提供它的构造方法,运行系统会自动提供缺省的构造方法,此方法没有任何参数,方法体为空。

C.构造方法与类具有相同的名字

D.Java语言支持方法名重载,所以类可以有多个构造方法,他们共享同一个名字,靠参数的的类型和数目来区分

E.构造方法用于在创建对象时对对象进行初始化。 30.关于包的描述中,不正确的是()

A.java语言中包用来组织相关的类和接口,包在物理上是一个文件夹,逻辑上代表一个分类

5

概念

B.一个程序文件中只能有一个package语句,package语句要放在import语句的后面 C.包内的类名唯一,但不同的包中可以有相同的类名 D.引用包中的类和接口时,使用import语句 31.关于接口,下面描述不正确的是() A.java语言中禁止多继承属性,引入接口的目的是为了用简单有效的方法实现类似于多继承的特性

B接口中可以定义大量的常量和方法,但其中的方法只是一种声明,没有具体的实现,使用接口的类自己实现这些方法

C.接口可以使用extends关键字继承上级接口声明的方法和常量,继承是单继承 D.如果接口中定义了父接口中的同名方法和常量,则父接口中的同名方法被覆盖,同名常量被隐藏。

E.接口中的常量默认具有public、final、static属性;接口中的方法默认具有public、abstract属性

F.如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract类。

32.接口A的定义如下,指出下列哪个类实现了该接口?() interface A {

int method1(int i); int method2(int j); }

A.class B implements A { int method1() { } int method2() { } }

B.class B {

int method1(int i) { } int method2(int j) { } }

C.class B implements A { int method1(int i) { } int method2(int j) { } }

D.class B extends A {

int method1(int i) { } int method2(int j) { } }

33.下面程序段的执行结果是什么?() public class Foo{

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

return;}

finally{System.out.println(\; } } }

A.程序正常运行,但不输出任何结果。 B.程序正常运行,并输出“Finally”。

C.编译能通过,但运行时会出现一个例外。 D.因为没有catch语句块,所以不能通过编译。 34.指出正确的表达式 A.byte b=128

B.boolean isFull=null

6

C.long y=0xfffL D.double=0.9239d

35.运行下列程序, 会产生什么结果()

public class X extends Thread implements Runable{ public void run(){

System.out.println(\ }

public static void main(String args[]) {

Thread t=new Thread(new X()); t.start(); } }

A.第一行会产生编译错误 B.第六行会产生编译错误 C.第六行会产生运行错误 D.程序会运行和启动

36.下列哪个关键字可以使一个方法成为同步方法?() A.transient B.synchronized C.serialize D.static

37.下列哪些语句关于内存回收的说明是正确的?() A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存

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

D.内存回收程序可以在指定的时间释放内存对象 38.在java语言中,负责对字节代码解释执行的是()

A.垃圾回收器 B.编译器 C.解释器 D.多线程机制 39.下面属于合法java标识符的是:()

A._cat B.5books C.+static D.-3.14159 40.在java中,表示换行符的转义字符是:()

A.\\n B./f C.?n? D.\\dd 41.下列哪个是Java应用程序主类中正确的main( )方法?( )

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

C.public static void main(String args) D.public static void main(String args[ ]) 42.在java语言中,由java编译器自动导入,而无需在程序中用import导入的包是:() A.java.applet B.java.awt C.java.util D.java.lang 43.下列哪个是JDK提供的编译器?( )

A.java.exe B.javac.exe C.javap.exe D.javaw.exe 44.在java中,所有类的根类是:() A.java.lang.Object B.java.lang.Class C.java.applet.Applet D.java.awt.Frame

45.在java中,用package语句说明一个包时,该包的层次结构必须是:() A.与文件的结构相同 B.与文件目录的层次相同 C.与文件类型相同 D.与文件大小相同

46.下面叙述中,正确的是:()

7

A.java语言的标识符是区分大小写的 B.源文件名可以与public类名不相同 C.源文件名其扩展名为.jar

D.源文件中public类的数目不限

47.下面构造方法的调用方式中,正确的是:() A.按照一般方法调用 B.由用户直接调用

C.只能通过new自动调用 D.被系统调用

48.在java中,能实现多重继承效果的方式是:() A.内部类 B.适配器 C.接口 D.同步

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

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

50.下列关于java application与applet的说法中,正确的是:() A.都包含main()方法

B.都通过“appletviewer”命令执行 C.都通过“javac”命令编译 D.都嵌入在HTML文件中执行

51.下面关于线程优先级的说法中,正确的是:() A.线程的优先级是不能改变的

B.线程的优先级是在创建线程时设置的 C.在创建线程后的任何时候都可以设置 D.B和C

52.下面哪条语句在编译时没有错误或警告?( ) [A] float f=1.3; [B] char c=\ [C] byte b=257; [D] boolean b=null; [E] int i=10;

53.下列程序中哪些【代码】是错误的?( ) public class Lianxi2{ public static void main(String args[ ]){ int x=0; //【代码1】 x=5.0/2; //【代码2】 float y=1.89F; //【代码3】 y=12.6F/8; //【代码4】 System.out.println(y); } }

[A] 【代码1】 [B] 【代码2】 [C] 【代码3】 [D] 【代码4】 54.下面哪个选项不是java语言的关键字或保留字? [A] if [B] then [C] public [D] while [E] float

8

55.下面哪个选项不是java语言合法的标识符? [A] 2variable [B] variable2

[C] _whatavariable [D] _3$

[E] $anothervar

56.对于“boolean boo[ ]=new boolean[3];”下列哪个叙述是正确的?( ) [A] boo[0],boo[1]和boo[2]的值是0。 [B] boo[0],boo[1]和boo[2]的值是1。 [C] boo[0],boo[1]和boo[2]的值是false。 [D] boo[0],boo[1]和boo[2]的值是true。 57. 编译运行下面代码的结果是什么? class Q{

public static void main(String args[]){ int anar[]={1,2,3};

System.out.println(anar[1]); } }

[A] 1 [B] 2 [C] 3 [D] 0 58. 编译运行下面代码的结果是什么? interface A{ int a=100;

public void amethod(); }

class B implements A{

public static void main(String args[]){ System.out.println(a); } }

[A] 运行时输出100 [B] 运行时输出0 [C] 编译时提示有错误

59.下列哪个表达式的值是false?( ) [A]0.6F==0.6 [B] 12L==12

[C](int)56.98+1==57 [D] 5<4||10<19

60.下面哪个选项的代码在编译时有错误或警告? [A] int i=0;

if(i){

System.out.println(\ }

[B] boolean b1=true;

boolean b2=true; if(b1= =b2){

System.out.println(\ }

[C] int i=1;

int j=2;

if(i= =1||j= =2)

System.out.println(\[D] int i=1;

int j=2;

if(i= =1 && j= =2)

System.out.println(\

9

61.当前目录下没有Hello.txt的情况下,运行以下程序的结果是什么? import java.io.*; class Mine{

public static void main(String args[]){ Mine m=new Mine();

System.out.println(m.amethod()); }

public int amethod(){ try{

FileInputStream dis=new FileInputStream(\ }catch (FileNotFoundException fne){

System.out.println(\ return -1;

}catch(IOException ioe){ }finally{

System.out.println(\ }

return 0; } }

[A] No such file found [B] No such file found ,-1

[C] No such file found, Doing finally, -1 [D] 0

62. 运行以下代码的结果是什么? class MyFor{

public static void main(String args[]){ outer: for (int i=1;i <3;i++) inner: for(int j=1; j<3; j++){ if (j==2)

continue outer;

System.out.println(\ } } }

[A] Value for i=1 Value for j=1 Value for i=2 Value for j=1 [B] Value for i=2 Value for j=1 Value for i=1 Value for j=1 [C] Value for i=1 Value for j=1 [D] Value for i=2 Value for j=1 63.以下代码的输出结果是什么? String s=new String(\ int iBegin=1; char iEnd=3;

System.out.println(s.substring(iBegin,iEnd)); [A] Bic [B] ic [C] icy

[D] error: no method matching substring(int,char) 64.以下代码的输出结果是什么? System.out.println(4 | 3); [A] 6 [B] 0 [C] 1 [D] 7

65.下列哪个类声明是错误的?( )

10

上面程序中的三条输出语句的输出结果分别是()、()和() 25.异常处理中try{。。。}代码块的作用是()

26.声明抛弃异常就是在方法声明中通过()子句实现的;而在方法中,抛出异常对象是通过()语句实现的

27.从jdk1.1开始,java.io包中的流包括()和()

28.开发Java应用程序需要经过以下3个步骤:用文本编辑器编写源文件;使用javac编译源文件,得到字节码文件;( )。

29.Java源文件由类所构成,应用程序必须有一个类含有( )方法,含有该方法的类称为应用程序的主类。

30.Java的基本数据类型有( )。

31.面向对象程序设计语言的三个特性是( )。 32.类名应当遵守的编程风格是( )。

33.变量和方法应当遵守的编程风格是( )。 34.类体内容中声明成员变量是为了体现对象的( )。 35.类体内容中定义的非构造方法是为了体现对象的( )。 36.用类创建对象时使用类的( ),它没有类型。

37.类中的( )在用类创建对象时会被分配内存空间。 38.this关键字代表( ),this关键字不可以出现在类方法中。 39.子类( )隐藏继承的成员变量。 40.( )类中可以有abstract方法。

41.一个类的各个子类是( )体现多态的。 42.Frame容器的默认布局是( )布局。 43.文本框TextField可以触发( )事件。

44.如果准备按字节读取一个文件的内容,应当使用( )流类的对象。

45.使用ObjectInputStream和ObjectOutputStream类时,要保证对象是( )的。 46.在使用JDBC进行数据库的操作中,设置数据源的主要步骤有:添加数据源;选择驱动程序;( )。

47.在使用JDBC进行数据库的操作中,预处理语句的好处是( )。 48.建立线程有两种方法:( )。 49.一个URL对象通常包含三部分最基本的信息:( )。

50.ServerSocket对象调用( )方法,会返回一个和客户端Socket对象相连接的Socket对象。

51.InteAddress类的对象使用( )格式来表示自己封装的地址信息。 52.Java的I/O流库提供了大量的流类,在包 。

53. 类创建的流的指向既可以作为源也可以作为目的地。 三、编程

1.编写一个输出\!\的程序,用两种方式实现(Application、Applet)。 2.编写一个程序,实现对字符串的排序。

3.编写一个程序,把当前目录下test.txt文件的内容复制到文件testbk.txt中(testbk.txt文件不存在)。

4.编写一个程序,实现如下图形用户界面(要求:第一个文本框里输入一个整数,点击“计算”,第二个文本框里出现此整数的阶乘;点击“退出”,关闭窗口;点击窗口右上方“关闭”按钮也可关闭窗口)。

16

5.编写应用程序1!+2!+3!+?+10!。 6.编写程序求100内所有素数。 7.设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下:

? 编写抽象类Animal

Animal抽象类有两个抽象方法cry( )和getAnimalName( ),即要求各种具体动物给出自己的叫声和种类名称。

? 编写模拟器类Simulator

该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry( )方法播放具体动物的声音,调用子类重写的getAnimalName( )方法显示动物种类的名称。

? 编写Animal类的子类:Dog和Cat类 ? 编写主类Test1(用户程序)

在主类的Test1的main方法中至少包含如下代码。 Simulator simulator=new Simulator( ); simulator.playSound(new Dog( )); simulator.playSound(new Cat( ));

8.用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。

? PC类、CPU和HardDisk类的相关要求如下。

其中,CPU类要求getSpeed( )返回speed的值,要求setSpeed(int m)方法将参数m的值赋值给speed。HardDisk类要求getAmount( )返回amount的值,要求setAmount(int m)方法将参数m的值赋值给amount。PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求seHardDisk(HardDisk h)方法将参数h的值赋值给HD,要求show( )方法能显示cpu的速度和硬盘的容量。

? 主类Test的要求

(1)main方法中创建一个CPU对象cpu,cpu将自己的speed设置为2200;

(2)main方法中创建一个HardDisk对象disk,disk将自己的amount设置为200; (3)main方法中创建一个PC对象pc;

(4)pc调用setCPU(CPU c)方法,调用时实参是cpu;

(5)pc调用setHardDisk(HardDisk h)方法,调用时实参是disk; (6)pc调用show( )方法。

四、简答题

1.Java语言有哪些主要特点?

2.面向对象编程与面向过程编程有哪些不同之处? 3.实例成员和类成员有哪些区别?

4.什么是异常?Java语言的异常处理机制是怎样处理异常的? 5.画图说明线程状态及其转换 6.请说明Java里多态的体现

7.举例说明对象的上转型对象的使用 8.举例说明什么是接口回调

17

9.与类相关的匿名类和与接口相关的匿名类在使用上有什么区别? 10.什么叫方法的重载?构造方法可以重载吗?

11.this关键字代表什么?this可以出现在类方法中吗? 12.简述类变量和实例变量的区别。

13.子类重写方法的规则是怎样的?重写方法的目的是什么? 14.怎样使用输入、输出流克隆对象? 15.引起线程中断的常见原因是什么?

16.ServerSocket对象调用accept方法返回一个什么类型的对象?

五、阅读理解题(请在指定位置写出答案,否则无效。)1.请给出E类中标记的【结果1】、【结果2】。

class B { int n;

static int sum=0; void setN(int n) { this.n=n; }

int getSum()

{ for(int i=1;i<=n;i++) sum=sum+i; return sum; } }

public class E

{ public static void main(String args[]) { B b1=new B(),b2=new B(); b1.setN(3); b2.setN(5);

int s1=b1.getSum(); int s2=b2.getSum();

System.out.println(s1); //【结果1】 System.out.println(s2);//【结果2】 } }

2.请给出E类中标记的【结果1】、【结果2】。

class A

{ double f(double x,double y) { return x+y; } }

class B extends A { double f(int x,int y) { return x*y; } }

public class E

1.答: 【结果1】: 【结果2】: 2.答: 【结果1】: 【结果2】: 18

{ public static void main(String args[]) { B b=new B();

System.out.println(b.f(5,8)); //【结果1】 System.out.println(b.f(8.0,12.0));// 【结果2】 } }

3.请给出E类中标记的【结果1】、【结果2】。

class AAA

{ int add(int x,int y) { return x+y; } }

class Student2004 extends AAA { int add(int x,int y) { return x-y; } }

public class E

{ public static void main(String args[]) { AAA a=new AAA();

System.out.println(a.add(55,33)); //【结果1】 a=new Student2004();

System.out.println(a.add(55,33)); //【结果2】 } }

3.答: 【结果1】: 【结果2】: 4.请给出E类中标记的【结果1】、【结果2】。

import java.awt.*;

import java.awt.event.*;

public class E implements Runnable

{ StringBuffer buffer=new StringBuffer(); Thread t1,t2,t3; E()

{ t1=new Thread(this); t2=new Thread(this); t3=new Thread(this); }

public synchronized void addString(String c) { if(Thread.currentThread()==t1) { while(buffer.length()==0) try{ wait(); }

catch(Exception e){} buffer.append(c); }

if(Thread.currentThread()==t2) { while(buffer.length()<15) try{ wait(); }

catch(Exception e){} buffer.append(c); }

if(Thread.currentThread()==t3) { buffer.append(c);

4.答: 【结果1】: 【结果2】: 19

}

notifyAll(); }

public void run()

{if(Thread.currentThread()==t1)

{ addString(\今天是一月十五号,\ }

if(Thread.currentThread()==t2) { addString(\天气不错,\ }

if(Thread.currentThread()==t3)

{ addString(\我们考试的科目是Java,\ } }

public static void main(String s[]) { E hello=new E();

System.out.println(hello.t1.isAlive()+\ //【结果1】 hello.t2.start(); hello.t1.start(); hello.t3.start();

while(hello.t1.isAlive()||hello.t2.isAlive()||hello.t3.isAlive()) { }

System.out.println(hello.buffer); //【结果2】 } }

5.请说出E类中System.out.println的输出结果。

import java.io.*; public class E {

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

5.答: 【结果1】: 【结果2】: FileOutputStream out=new FileOutputStream(\ FileInputStream in=new FileInputStream(\ byte content[]=\ StringBuffer bufferOne=new StringBuffer(),

bufferTwo=new StringBuffer();

int m=-1;

byte tom[]=new byte[3]; out.write(content); out.close();

while((m=in.read(tom,0,3))!=-1) {

String s1=new String (tom,0,m);

bufferOne.append(s1);

String s2=new String (tom,0,3); bufferTwo.append(s2); }

20

in.close();

System.out.println(bufferOne); //【结果1】 System.out.println(bufferTwo); //【结果2】 }

catch(IOException e){} } }

6.请说出E类中System.out.println的输出结果。

6.答: public class E {

【结果1】: public static void main(String args[]){

【结果2】: long[] a={1,2,3,4};

long[] b={100,200,300,400,500};

b=a; System.out.println(\数组b的长度:\ //【结果1】 System.out.println(\ //【结果2】 } }

7.请说出E类中System.out.println的输出结果。

7.答: public class E {

【结果1】: public static void main(String args[]){

【结果2】: int[] a={10,20,30,40},b[]={{1,2},{4,5,6,7}};

b[0]=a;

b[0][1]=b[1][3]; System.out.println(b[0][3]); //【结果1】 System.out.println(a[1]); //【结果2】 } } 8.答: 8.请说出E类中System.out.println的输出结果。 【结果1】: class Fish{ 【结果2】: int weight=1; 【结果3】 } class Lake{ Fish fish; void setFish(Fish s){ fish=s; } void foodFish(int m){ fish.weight=fish.weight+m; } }

public class E{ public static void main(String args[]){ Fish redFish=new Fish(); System.out.println(redFish.weight); //【结果1】

21

Lake lake=new Lake(); lake.setFish(redFish); lake.foodFish(120); System.out.println(redFish.weight) ; //【结果2】 System.out.println(lake.fish.weight); //【结果3】 } }

9.请说出B类中System.out.println的输出结果。

class A{ public int getNumber(int a){

9. return a+1; 答: 【结果1】: }

【结果2】: }

class B extends A{

public int getNumber(int a){ return a+100; } public static void main(String args[]){ A a=new A(); System.out.println(a.getNumber(10)); //【结果1】 a=new B(); System.out.println(a.getNumber(10)); //【结果2】 } 10.答: } 【结果1】: 10.请说出E类中System.out.println的输出结果。 【结果2】: interface A{ double f(double x,double y); }

class B implements A{ public double f(double x,double y){ return x*y; } int g(int a,int b ){ return a+b; } }

public class E{ public static void main(String args[]){ A a=new B(); System.out.println(a.f(3, 5)); //【结果1】 B b=(B)a; System.out.println(b.g(3,5)); //【结果2】 } }

22

11.请说出E类中System.out.println的输出结果。

interface Com{ int add(int a,int b); }

abstract class A{ abstract int add(int a,int b);

}

class B extends A implements Com{

public int add(int a,int b){ return a+b; } }

public class E{ public static void main(String args[]){ B b=new B(); Com com=b; System.out.println(com.add(12,6)); //【结果1】 A a=b; System.out.println(a.add(10,5)); //【结果2】 } }

12.请说出E类中System.out.println的输出结果。 public class E{ public static void main(String args[]){ String str=new String(\苹果\ modify(str); System.out.println(str); //【结果1】 } public static void modify(String s){ s=s+\好吃\ System.out.println(s); //【结果2】 } }

13.请说出E类中System.out.println的输出结果。

public class E{

public static void main(String args[]){

byte d[]=\我们喜欢篮球\ System.out.println(d.length); //【结果1】

String s=new String(d,0,7); System.out.println(s); //【结果2】 } }

14.请说出E类中System.out.println的输出结果。

class MyString{

11 .答: 【结果1】: 【结果2】: 12.答: 【结果1】: 【结果2】: 13.答: 【结果1】: 【结果2】: 23

public String getString(String s){ StringBuffer str=new StringBuffer(); for(int i=0;i

public class E{ public static void main(String args[]){ String s=\ System.out.println(s); //【结果1】 MyString ms=new MyString(); System.out.println(ms.getString(s));//【结果2】 } }

六、模板编程题(请按模板要求,在指定位置写出【代码】答案,否则无效。)

1.

【代码1】: 【代码2】: 【代码3】: 【代码4】: 【代码5】:

import java.awt.*;

import java.awt.event.*;

class IenFrame extends Frame implements ActionListener { TextField text; Label label; IenFrame() {

【代码1】 //创建TextField对象:text,要求text的可见字符数为12个机器字符。

【代码2】 //创建 Label对象:label,要求label上的名字是\love this game\。

【代码3】 //设置窗口的布局为FlowLayout型布局。

【代码4】 //将当前窗口作为text的ActionEvent事件的监视器。 add(label); add(text); }

public void actionPerformed(ActionEvent e) {

【代码5】 //label调用方法将自己名字设置为text中的文本 } } 2.

24

【代码1】: 【代码2】: 【代码3】: 【代码4】: 【代码5】:

class IenString

{ public static void main(String args[]) { int index=-1,length=0,n=0; String str=\我非常喜欢1236\

index=【代码1】 //str调用方法返回\在str出现的位置 length=【代码2】 //str调用方法返回str中字符的个数

char c=【代码3】 //str调用方法返回str中的字符:'喜' String temp=【代码4】 //str调用方法返回字符串\ n=【代码5】 //将temp转化为int型数据。 System.out.println(n); } }

3.以下Java应用程序实现猜数字游戏,请将【代码】替换为Java语句。 import javax.swing.JOptionPane; public class GuessNumber {

public static void main (String args[ ]) {

System.out.println(\给你一个1至100之间的整数,请猜测这个数\ int realNumber=(int)(Math.random()*100)+1; int yourGuess=0;

String str=JOptionPane.showInputDialog(\输入您的猜测:\ yourGuess=Integer.parseInt(str); while(【代码1】) //循环条件 {

if(【代码2】) //条件代码 {

str=JOptionPane.showInputDialog(\猜大了,再输入你的猜测:\ yourGuess=Integer.parseInt(str); }

else if(【代码3】) //条件代码 {

str=JOptionPane.showInputDialog(\猜小了,再输入你的猜测:\ yourGuess=Integer.parseInt(str); } }

System.out.println(\猜对了!\ } }

4.以下是Java实现的回文数程序,请将【代码】替换为Java语句。

25

import javax.swing.JOptionPane; public class Number {

public static void main(String args[]) {

int number=0,d5,d4,d3,d2,d1;

String str=JOptionPane.showInputDialog(\输入一个1至99999之间的数\ number=Integer.parseInt(str);

if(number<=99999&&number>=1) {

【代码1】 //计算number的最高位(万位)d5 d4=number000/1000;

【代码2】 //计算number的百位d3 d2=number0/10; d1=number;

if(【代码3】) //判断number是5位数的条件 {

System.out.println(number+\是5位数\

if(【代码4】) //判断number是回文数的条件 {

System.out.println(number+\是回文数\ } else {

System.out.println(number+\不是回文数\ } }

else if(【代码5】) //判断number是4位数的条件 {

System.out.println(number+\是4位数\

if(【代码6】) //判断number是回文数的条件 {

System.out.println(number+\是回文数\ } else {

System.out.println(number+\不是回文数\ } }

else if(【代码7】) //判断number是3位数的条件 {

System.out.println(number+\是3位数\

if(【代码8】) //判断number是回文数的条件 {

26

System.out.println(number+\是回文数\ } else {

System.out.println(number+\不是回文数\ } }

else if(d2!=0) {

System.out.println(number+\是2位数\ if(d1==d2) {

System.out.println(number+\是回文数\ } else {

System.out.println(number+\不是回文数\ } }

else if(d1!=0) {

System.out.println(number+\是1位数\ System.out.println(number+\是回文数\ } } else {

System.out.println(number+\不在1至99999之间\ } } }

七、判断题

1.在Java语言中,if语句中的条件表达式的值可以是int型。( )2.类中的实例方法可以操作类变量,类方法不可以操作实例变量。( 3.在Java语言中,子类可以有多个父类。( ) 4.java.lang包中的Object类是所有其他类的祖先类。( ) 5.如果子类和父类不在同一个包中,子类不继承父类的友好成员。( 6.父类的final方法不可以被子类重写。( ) 7.接口中可以声明变量。( )

8.接口中只能定义抽象方法,而不能定义非抽象方法。( ) 9.接口中的常量必须指定初值。( )

10.可以在接口中只声明常量,不声明抽象方法。( ) 11.内部类的外嵌类的成员变量在内部类中仍然有效。( ) 12.内部类中的方法也可以调用外嵌类中的方法。( )

) 27

13.内部类的类体中可以声明类变量和类方法。( ) 14.匿名类一定是内部类。( )

15.一个容器对象可以使用add方法添加一个JFrame窗口。( )

16.FileInputStream流的read方法和FileReader流的read方法是相同的,都是按字节读取文件。( )

17.BufferedReader流不能直接指向一个文件,需要接到一个FileReader流上才可以使用相应的方法。( )

18.利用RandomAccessFile流的对象,既可以使用相应的方法读取文件内容,也可以向文件中写入数据信息。( )

19.一个线程执行完run方法后,就进入了死亡状态,不能再调用start()方法。(20.线程新建后,不调用start方法也有机会获得CPU资源。( )

28

本文来源:https://www.bwwdw.com/article/ikh6.html

Top