Java程序设计习题集(2)

2019-02-15 15:56

System.out.println(\break; case 'y': case 'w':

System.out.println(\break;

default:System.out.println(\} } } }

2. 算法提示:一个数字的因子是1和本身,则这个数是素数。 源程序(javajc\\ch02\\FindPrime.java): package ch02; /**

*

Title:求素数

*

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

*

Company: 学院信息技术系

*

Address:杭州下沙4号大街

*

Email:qinxueli@zj.com

*

Postcode:310018

* @version 1.0 */

public class FindPrime {

public static void main(String[] args) { next:for( int i=50;i<=100;i++){ for (int j=2;j

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

System.out.print(i+\输出因素 } } }

运行结果:

53 59 61 67 71 73 79 83 89 97

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

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

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

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

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

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

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

4.答:① 一个抽象类里可以没有抽象方法,但含有抽象方法的类必定为抽象类。 ② 抽象类不能被实例化为对象,而只能作为其它类的超类,并且必须被继承。 ③ 若某子类继承自一个抽象类,而该子类不是抽象类,则子类需用覆盖的方式来实例化超类中的所有抽象方法。抽象方法可再与

public、protected复合使用,但不能与final、private和static复合使用。 ④ 抽象方法只有方法声明,不能有方法体。

第五单元 试题 一、填空题

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

3.通过_______运算符就能实现对对象成员变量的访问和对象方法的调用。 4.类的构造方法的名称必须与_______名相同。 5.类方法只能处理用关键字_______修饰的对象。 二、选择题

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

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

B. 通过成员变量的访问权限设定限制自身对这些变量方法的调用 C. 将一个对象申明为类的成员时,必须在使用前为其分配内存 D. 在方法中使用对象作为参数时,采用引用调用

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

A. private class MyClass extends Object B. class MyClass extends Object C. public class MyClass D. private class MyClass extends Object 3.Java中访问限定符不包括( )

A. public B. private C. default D. final 4.构造方法何时被调用( )

A.类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时

5.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( ) A.public B.private C.protected D.transient 三、程序阅读题

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

public static void main (String[] args) {

T1 a=new T1(); a.method(8); a.method(1.2f); }

void method(float i) {

System.out.println(\}

void method(long i) {

System.out.println(\} }

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

int a=1;

double d=2.0; void show( ) {

System.out.println(\} }

class B extends A {

float a=3.0f;

String d=\void show( ) {

super.show( );

System.out.println(\} }

(1) 若在应用程序的main方法中有以下语句: A a=new A(); a.show(); 则输出的结果如何?

(2) 若在应用程序的main方法中定义类B的对象b: A b=new B(); b.show(); 则输出的结果如何? 答案:

一、1. super 2. Object 3. 圆点 4. 类 5. static 二、1.B 2.C 3.D 4.B 5.C

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

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

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

Class B: a=3.0 d=Java program. 第六单元 试题 一、判断题

1. 内部类可以访问外层类的任何变量,包括私有的。() 2.匿名类可以有构造器,声明时候不能带参数。() 3.抽象方法可以是static的。()

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

5.只要类中显式地定义一个,那么Java不会再为你定义一个默认的构造器。() 6.构造方法可以被继承。()

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

8.一个Java类可以有多个父类,这称作多继承.() 二、简答题

1.Java的成员变量修饰符有哪几种?其中哪种修饰符限定的范围最大? 2.写出下列关键字的意义和运用场合:①final;②finalize;③finally。 3.作用域public,private,protected,以及不写时的区别 三、编程题

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

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

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

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

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

二、1. 答:成员变量的修饰符有public、protected、private、static、final、transient、volatile七种。Public修饰符的限定范围最大。 2. 答:final, finally, finalize的区别如下: final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例 如关闭文件等。 3. 答:区别如下:

作用域 当前类 同一package 子孙 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 三、解题思路如下:

class Card {

private String face; private String suit;

public Card( String f, String s ) { face = f; suit = s; }

protected String getSuit(){ return suit; }

protected String getFace(){ return face; }

public String toString(){ return face + \} }

第七单元 试题 一、判断程序段

1. abstract class Name { private String name;

public abstract boolean isStupidName(String name) {} }

2. abstract class Something {

private abstract String doSomething (); }

3. public class Something { public int addOne(final int x) { return ++x; } }

4. public class Something {

public static void main(String[] args) { Other o = new Other();

new Something().addOne(o); }

public void addOne(final Other o) { o.i++; } }

class Other { public int i;


Java程序设计习题集(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:黔之驴教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: