Java核心技术精讲 ( × ) ( × ) ( × ) ( × ) ( √ ) ( × ) ( √ ) ( × ) 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 } } } } 附录B 参考答案 System.out.print(x + \、\程序运行结果: 153、370、371、407、 2.通过代码完成两个整数内容的交换。 答案: Note 实现一:引用第三方变量 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(\ System.out.println(\ } } 实现二:利用数学计算完成 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(\ System.out.println(\ } } 程序运行结果: 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循环 493 Java核心技术精讲 public class TestDemo { public static void main(String[] args) { int sum = 0; int x = 100; while (x <= 200) { sum += x; x++; } System.out.println(\累加结果:\ } } Note 实现二:使用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(\累加结果:\ } } 实现三:使用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(\累加结果:\ } } 第3章 面向对象——实践与练习 3.34.1 填空题 1.面向对象的三大特征: 封装 、 继承 、 多态 。 2.类由 属性 和 方法 组成。 3. new 运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会 494 附录B 参考答案 自动调用类中的 构造方法为对象 实例化 。 4.使用 private 修饰的类成员称为私有成员。私有成员只能在 类 中使用。 5.构造方法的名称与 类名称 相同。 6. private 关键字可以让类中的属性和方法对外部不可见。 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() 。 Note 3.34.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.安全 495 Java核心技术精讲 Note 6.下列程序的执行结果是 A 。 public class TestDemo { public void fun() { static int i = 0; 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 = \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(\496
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java 试题附参考答案(2)在线全文阅读。
相关推荐: