JAVA类与对象及数组习题及答案

合集下载

java类与对象选择题附加答案解析

java类与对象选择题附加答案解析

Java 类与对象选择题练习附加答案解析1. 以下关于Java类的描述,正确的是:A. 类是对象的实例。

B. 类可以包含属性和方法。

C. 类不能继承其他类。

D. 类只能包含一个方法。

答案: B。

解析:类是对象的蓝图或模板,可以包含属性(成员变量)和方法(成员函数)。

2. 在Java中,要创建一个类的对象,应使用哪个关键字?A. newB. createC. instantiateD. make答案: A。

解析:在Java中,使用`new`关键字来创建类的对象。

3. 在以下关于构造方法的描述中,正确的是:A. 构造方法必须有返回类型。

B. 构造方法的名称必须与类名相同。

C. 构造方法可以是静态的。

D. 构造方法可以重载但不能覆盖。

答案: B。

解析:构造方法的名称必须与类名相同,并且没有返回类型(包括void)。

构造方法可以重载(多个同名但参数不同的方法),但不能覆盖(重写父类方法)。

4. 如果`MyClass`类有一个名为`display`的方法,且`myObject`是`MyClass`类的一个实例,如何调用该方法?A. display();B. MyClass.display();C. myObject.display();D. MyClass::display();答案: C。

解析:通过对象实例`myObject`来调用类的非静态方法`display`。

5. 以下哪个选项是关于`this`关键字的正确描述?A. `this`关键字指向类的超类(父类)。

B. `this`关键字只能在静态方法中使用。

C. `this`关键字引用当前对象的实例。

D. `this`关键字用于创建新的对象。

答案: C。

解析:`this`关键字引用当前对象的实例,可以在类的方法和构造方法中使用来引用当前对象的成员变量或方法。

6. 在Java中,如果类B继承自类A,且类A是基类,则下列哪个选项是正确的?A. 类B是类A的超类。

java面试题库java面试题目及答案(3篇)

java面试题库java面试题目及答案(3篇)

第1篇一、基础知识1. Java简介题目:请简述Java的基本特点。

答案:- 简单易学:Java设计之初就考虑了易学性,使用面向对象编程。

- 原生跨平台:Java通过JVM(Java虚拟机)实现跨平台运行。

- 安全性:Java提供了强大的安全机制,如沙箱安全模型。

- 体系结构中立:Java不依赖于特定的硬件或操作系统。

- 高效:Java的运行速度接近C/C++。

- 多线程:Java内置多线程支持,便于实现并发处理。

- 动态性:Java在运行时可以进行扩展和修改。

2. Java虚拟机题目:请解释Java虚拟机(JVM)的作用。

答案:JVM是Java程序的运行环境,其主要作用包括:- 将Java字节码转换为本地机器码。

- 管理内存,包括堆、栈、方法区等。

- 提供垃圾回收机制。

- 管理线程和同步。

3. Java内存模型题目:请简述Java内存模型的组成。

答案:Java内存模型主要由以下部分组成:- 堆(Heap):存储对象实例和数组。

- 栈(Stack):存储局部变量和方法调用。

- 方法区(Method Area):存储类信息、常量、静态变量等。

- 本地方法栈(Native Method Stack):存储本地方法调用的相关数据。

- 程序计数器(Program Counter Register):存储线程的当前指令地址。

4. Java关键字题目:请列举并解释Java中的几个关键字。

答案:- `public`:表示访问权限为公开。

- `private`:表示访问权限为私有。

- `protected`:表示访问权限为受保护。

- `static`:表示属于类本身,而非对象实例。

- `final`:表示常量或方法不能被修改。

- `synchronized`:表示线程同步。

- `transient`:表示数据在序列化时不会被持久化。

二、面向对象编程5. 类和对象题目:请解释类和对象之间的关系。

答案:类是对象的模板,对象是类的实例。

java练习题答案

java练习题答案

java练习题答案第1章java语言概述习题一、填空题1、面向对象程序的主要特征:继承,__封装___,___多态_____。

2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重用或复用___.3、java语言中,为将源代码翻译成__字节码__文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。

4、javac是java语言中的编译器,基本语法是:javac[选项]__文件名__,java是java语言中的解释执行器,基本语法是:java[选项]___类名___.5、java语言的主要贡献者是谁Jamegoling二、单选题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

A、javaB、.claC、htmlD、.e某e2、main方法是JavaApplication程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。

A、publictaticvoidmain()B、publictaticvoidmain(Stringarg[])C、publictaticintmain(String[]arg)D、publicvoidmain(Stringarg[])三、判断1、Java语言具有较好的安全性和可移植性及与平台无关等特性。

√2、Java语言的源程序不是编译型的,而是编译解释型的。

√四、问答题1、编写、运行java程序需要经过哪些主要步骤?答:1.编写源文件,扩展名必须是.java2.编写java源程序,使用java编译器编写源文件,得到字节码文件3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字节码文件。

2、阅读下列java源代码文件,并回答问题publicclaSpeak{voidpeakHello(){Sytem.out.println(\);}}cla某iti8{publictaticvoidmain(Stringarg[]){Speakp=newSpeak();p.peakHello();}}(1)上述源文件的名字是什么?Speak.java(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?Speak.cla某iti8.cla第2章(1)基本数据类型练习题一、填空题1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_float__和__double__两种具体类型。

JAVA课后习题答案

JAVA课后习题答案

JAVA课后习题答案第⼀章Java语⾔概述2.“java编译器将源⽂件编译为的字节码⽂件是机器码”这句话正确吗?答:不正确3.java应⽤程序的主类必须含有怎样的⽅法?答:含有main⽅法4。

“java应⽤程序必须有⼀个类是public类”这句话正确吗?答;不正确,只能有⼀个public类5。

“java Applet程序的主类必须是public类”这句话正确吗?答:正确,因为java Applet主类必须是Applet类的⼦类并且是public的类6。

请叙述java源程序的命名规则。

答:与public的类同名。

7。

源⽂件⽣成的字节码⽂件在运⾏时都加载到内存中吗?答:⾮也,动态随需要运⾏才加载。

8.⾯向对象的程序设计语⾔有那些基本特征?答:封装;继承;多态性。

9.在Java程序中有多个类⽂件时,⽤Java命令应该运⾏那个类?答:具有main⽅法的类第⼆章基本数据类型和数组4。

下列哪些语句是错的?Int x=120;Byte b=120;b=x;答:B=x;错应为b=(byte)x5。

下列哪些语句是错的?答:y=d;错,应y=(float)d6。

下列两个语句是等价的吗?Char x=97;Char x=…a?;答:是等价的。

7。

下列system.out.printf语句输出结果是什么?Int a=97;Byte b1=(byte)128;Byte b2=(byte)(-129);System.out.printf(“%c,%d,%d”,a,b1,b2);如果输出语句改为:System.out.printf(“%d,%d,%d”,a,b1,b2);输出什么?答:输出a ,-128,127修改后输出97,-128,1278.数组是基本数据类型吗?怎样获取数组的长度?答:不是基本数据类型,是复合数据类型。

可以通过:数组名.length的⽅法获得数组长度9。

假设有两个int类型数组:Int[] a=new int[10];Int[] b=new int[8];b=a;A[0]=100;B[0]的值⼀定是100吗?答;⼀定,因为a数组与b数组引⽤相同。

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。

如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。

答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。

Java常用类习题(附部分答案)

Java常用类习题(附部分答案)

Java常用类习题一、选择题1.下列String类的()方法返回指定字符串的一部分(选择一项)A.extractstring()B.substring()C.Substring()D.Middlestring()2.下列哪一个是正确的()A) HashTable的关键字和值都允许为nullB) HashTable的关键字和值都不允许为nullC) HashTable的关键字允许为null,值不允许为nullD) HashTable的关键字不允许为null,值允许为null3.对于下列代码:String str1="java";String str2="java";String str3=new String("java");StringBuffer str4=new StringBuffer("java");以下表达式的值为true的是()A) str1= =str2; B) str1= =str4;C) str2= =str3; D) str3= =str4;4.以下程序段输出结果的是()public class Test {public static void main(String args[]){String str="ABCDE";str.substring(3);str.concat("XYZ");System.out.print(str);}}A) DE B) DEXYZ C) ABCDE D) CDEXYZ5.对于下列代码:public class Example{String str=new String("hello");char ch[]={'d','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.println(ex.str+"and"+ex.ch[0]);}public void change(String str,char ch[]){str="world";ch[0]= 'a';}}输出结果是: ( )A) hello and d B) hello and aC) world and d D) world and a6.以下代码的运行结果是哪一项。

JAVA类与对象及数组习题及答案

JAVA类与对象及数组习题及答案

JAVA 类和对象及数组习题一、选择题(1)下列构造方法的调用方式中,正确的是(D )——原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。

A.按照一般方法调用B。

由用户直接调用ﻫC.只能通过new 自动调用D。

被系统调用(2)在Java 中,能实现多重继承效果的方式是( C )——原因:一个类可以同时实现多个接口。

Java 接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。

◻A。

内部类B.适配器 C.接口D.同步(3)int 型public 成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java 中定义常量用关键字final 来定义.A.public int MAX_LENGTH=100 B。

finalintMAX_LENGTH=100 ﻫC.public const int MAX_LENGTH=100D.p ublic final int MAX_LENGTH=100(4)下列叙述中,正确的是( A)—原因:Java 严格区分大小写,所以变量number 与Number 不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*---——--*/"和文档注释/**-—---- */。

Java 源文件中的public 类只能有一个。

◻A.声明变量时必须指定一个类型ﻫ B. Java认为变量number 与Number 相同ﻫC. Java中唯一的注释方式是"//"ﻫD。

源文件中public类可以有0 或多个(5)下列叙述中,错误的是(D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。

所以可以认为子类是父类的扩展。

◻A。

父类不能替代子类B.子类能够替代父类ﻫC。

子类继承父类D.父类包含子类(6)下列代码中,将引起编译错误的行是(B)—原因:定义float 型变量并对其初始化时,其值后面要加一个f。

java面向对象考题和答案

java面向对象考题和答案

1.下面代码的输出结果是A.300 300B.100 100C.300 100D.100 3002.程序执行的结果是:::x =" + x++; }}A.doStuff:x =7B. main: x = 7B.doStuff:x =7main: x = 6C.doStuff:x =6main: x = 7D.doStuff:x =6main: x = 63.下列关于JVM的内存结构描述正确的是:A.类的各种信息在方法区中保存B.堆用于存放程序运行过程当中所有的局部变量C.栈用于存储使用new关键字创建的对象D.数组属于JVM的内存结构4.下列代码的输出结果是:A.cB.iC.dD.s5.程序执行的结果是:A.nullB.TomC.JackD." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的C.子类继承父类的所有成员变量和方法,包括父类的构造方法D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:A.Value: 3B.Value: 8C.Value: 13D.Value: 189.下列代码编译和运行的结果是:A.输出:0000B.输出:4321C.代码public EmployeeString id {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:A.peepB.barkC.meowD.抛出运行时异常11.下列代码编译和运行的结果是:A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误12.请看下列代码:class One {void foo {}}class Two extends One {// insert method here}下列选项中的代码,放置在<插入代码>处无编译错误的是: A.int foo { / more code here / }B. protected void foo { / more code here / }C. public void foo { / more code here / }D. private void foo { / more code here / }13.下列选项中,不属于Java 的访问修饰符的是:A.privateB.protectedC.friendlyD.public14.下列代码的输出结果是:A.300-100-100-100-100B.300-300-100-100-100C.300-300-300-100-100D.300-300-300-300-10015.下列代码运行的结果是:public class Base { public static final String FOO = "foo";A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo16.关于下列代码说法正确的是:A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:A.0, 0,0B.150, 60, 0C.150, 150, 150D.抛出运行时异常19.请看下列代码:public abstract class Employee {protected abstract double getSalesAmount;public double getCommision {return getSalesAmount 0.15;estA {}}class Sales extends Employee {<插入代码>}在<插入代码>处填入的方法正确的是:A.double getSalesAmount { return 1230.45; }B.public double getSalesAmount { return 1230.45; }C.private double getSalesAmount { return 1230.45; }D.protected double getSalesAmount { return 1230.45; }20.关于下列代码说法正确的是:public interface A { public void doSomethingStringthing;}public class AImpl implements A { public void doSomethingString msg { }}public class B { public A doit { return null; } public String execute { return null; }}public class C extends B { public AImpl doit { return null; } public Object execute { return null; }} A. 所有类和接口都编译成功 B.类B编译失败C.类Aimpl编译失败D.类C编译失败21.关于下列代码说法正确的是:interface A { public void aMethod;}interface B { public void bMethod;}interface C extends A, B { public void cMethod;}class D implements B { public void bMethod {}}class E extends D implements C { public void aMethod {} public void bMethod {} public void cMethod {}}A.编译失败B.如果定义D e = new E;, 那么 e.bMethod;调用D类的bMethod方法C.如果定义D e = Dnew E;, 那么 e.bMethod;调用D类的bMethod方法D.如果定义D e = Dnew E;, 那么 e.bMethod;调用E类的bMethod方法22.请看下列代码:处理请求";}};}}如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:A. public static class ServletAction { public void doService;}B.public final class ServletAction { public void doService;}C.public class ServletAction { public void doService;}D. public interface ServletAction { public void doService;}23.下列代码运行的结果是:A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:A.输出:testB.输出:nullC.代码行,编译出错D.代码public String toString {行,编译出错25.请看下列代码:关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出100A1,正确答案:C2,正确答案:D3,正确答案:A4,正确答案:A5,正确答案:B6,正确答案:B7,正确答案:B8,正确答案:A9,正确答案:C10,正确答案:D11,正确答案:B 12,正确答案:BC 13,正确答案:C 14,正确答案:B 15,正确答案:D 16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D 21,正确答案:D 22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。

java复习题(有答案)

java复习题(有答案)

1、对象“学生”与对象“班级”的关系(1)继承关系(2)包含关系(3)关联关系(4)派生关系2、Sun公司对Java语言的宣传口号为“一次编程,到处执行”,体现了Java 的什么特性(1)编程的简单性(2)与平台无关性(3)Java的面向对象特性(4)Java程序的鲁棒性3、Java语言中的int及char数据类型的长度分别为(1)16位和8 位(2)8位和16位(3)32位和16位(4)32位和8位4、java语言是由那家计算机公司发布的(1)Microsoft 公司(2)IBM 公司(3)NEC 公司(4)Sun 公司5、java语言是在哪一年正式向计算机界发布的(1)1985年(2)1995年(3)1997年(4)1990年6、java语言在语言的类型上应属于那种类型的语言(1)编译型的语言(2)解释型的语言(3)脚本型的解释语言(4)编译链接型的语言7、java语言在编程方法上及语言的语法规则上与下面的哪种编程语言最接近?(1)C 语言(2)C++语言8、java语言的源程序经编译后所生成的程序类型为(1).exe 型的可执行程序(2).obj型二进制的程序(3).lib 型二进制的库程序(4).class 型类代码的程序9、在MicroSoft Windows操作系统应用平台下,下列那种程序是java程序的解释器(1)Windows系统的资源管理器(2)Windows操作系统本身(3)Windows操作系统应用平台下的IE浏览器(4)Windows操作系统应用平台下的记事本notepad程序10、某java程序的类定义如下:public class MyClass extends BaseClass{ }则该java源文件在存盘时的源文件名应为如下那一种(1)myclass.java(2)MyClass.java(3)MYCLASS.java(4)MyClass.java 11、下列那种注释方式在java程序中是错误的(1)/* 注释文字串*/ (2)// 注释文字串(3)/** 注释文字串*/ (4)Rem 注释文字串12、下列那种标识符在java程序中是错误的(1)MyClass_Base12 (2)_MyClass$Base12(3)$MyClass_12 (4)76MyClass$1213、下列那种标识符不能作为java程序中的变量名14、下列那种java语言的数据类型是其基本的数据类型(1)byte 数据类型(2)数组数据类型(3)类的数据类型(4)接口数据类型15、下列那种java语言的数据类型是其复合的数据类型(1)int 数据类型(2)数组数据类型(3)float数据类型(4)char 数据类型16、下列各种符号的定义格式,哪种在java语言中是正确的常量定义(1)const int SUM=1; (2)#define SUM 1(3)final int SUM =1;(4)int SUM=1;17、下列各种符号的定义格式,哪种在java语言中是错误的变量定义(1)int myV al =1; (2)char $myV al =1;(3)byte _myV al =1; (4)float 3.14myV al=1;18、下列各种符号的定义格式,哪种在java语言中是正确的布尔性(boolean)的变量定义(1)boolean myBOOL =1;(2)boolean myBOOL =0;(3)boolean myBOOL =true;(4)boolean myBOOL =null;19、下列各种java中的赋值操作语句,哪种在java语言中是错误的赋值语句(3)int A =1;float B=A; (4)int A=1;long B=A;20、设int X=1,则“X = = 1”表达式之值为(1)1 (2)false (3)true (4)null21、下列各种java中的条件语句,哪种在java语言中是错误的条件格式(1)if (A >= B) (2)if( A = = B)(3)if( A = B)(4)if((A >B) = =true)22、下列各种java中的语句,哪种在java语言中是错误的语句(1)break stop; (2)continue goon;(3)goto goon; (4)if(A >B ){A=1;}23、下列各种java中的函数的定义,哪种在java语言中是正确的(1)void myFun(int X=1){ } (2)void myFun(int & X){}(3)void myFun(int X ){} (4)void myFun(int * X){ }24、下列各种java中的函数在调用时,哪种实现的是传值拷贝调用(1) void myFun( int X){ }(2) void myFun( Frame Obj){ }(3) void myFun(Point P){ } (4) void myFun(Rectangle R){} 25、下列各种java中的函数在调用时,那种实现的是引用数据调用(1) void myFun( char X){} (2) void myFun( byte X){} (3) void myFun( Circle X){} (4) void myFun( float X){} 26、下列各种java的字符串操作,那种是错误的(3)"ABCD".concat("EFGH");(4)String ABCD="EFGH" ; 27、下列各种java中的构造函数定义,那种形式是错误的构造函数定义(1) class MyClass{ public MyClass(){ } }(2) class MyClass{ public MyClass(int X){ } }(3) class MyClass{ public int MyClass(){ } }(4) class MyClass{public MyClass(int x, int y){ } } 28、借助于java的面向对象的编程特性中的封装机制,可以实现对问题进行如下什么方式的处理(1)将问题的特征属性与问题的功能方法相组合在一起形成一个类。

Java_数组练习答案

Java_数组练习答案

填空题1)数组的元素通过下标来访问,数组Array的长度为Array.length。

2)数组复制时,“=”将一个数组的引用传递给另一个数组。

3)没有显式引用变量的数组称为匿名数组。

4)JVM将数组存储在堆(堆或栈)中。

5)数组的二分查找法运用的前提条件是数组已经排序。

6)矩阵或表格一般用二维数组表示。

7)如果把二维数组看成一维数组,那么数组的元素是一维数组。

8)Java中数组的下标的数据类型是整型。

9)不用下标变量就可以访问数组的方法是f oreach循环。

10)数组最小的下标是0.。

11)array copy()的最后一个参数指明复制元素的个数。

12)向方法传递数组参数时,传递的是数组的引用。

13)线性查找法的平均查找长度为n*(n-1)/2。

14)数组初始化包括数组声明、创建和初始化。

15)数组下标访问超出索引范围时抛出arrayIndexOutOfBoundsException异常16)浮点型数组的默认值是0.0f。

17)对象型数组的默认值是null。

18)对象类型的数组虽然被默认初始化,但是并没有调用其构造函数。

19)二维数组的行的长度可以不同。

20)数组创建后其大小不能改变。

选择题1.下面错误的初始化语句是_D__A) char str[]="hello";B) char str[100]="hello";C) char str[]={'h','e','l','l','o'};D) char str[]={'hello'};2.定义了一维int型数组a[10]后,下面错误的引用是_B___A) a[0]=1;B) a[10]=2;C) a[0]=5*2;D) a[1]=a[2]*a[0];3.下面的二维数组初始化语句中,错误的是__B___A) float b[2][2]={0.1,0.2,0.3,0.4};B) int a[][2]={{1,2},{3,4}};C) int a[2][]= {{1,2},{3,4}};D) float a[2][2]={0};4.引用数组元素时,数组下标可以是__D___A) 整型常量B) 整型变量C) 整型表达式D) 以上均可5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__B___A) 24 B) 25 C) 18 D) 176.下列初始化字符数组的语句中,错误的是__C___A) char str[5]="hello";B) char str[]={'h','e','l','l','o','\0'};C) char str[5]={"hi"};D) char str[100]="";7.数组在Java中储存在C中A) 栈B) 队列C) 堆D) 链表8.下面程序的运行结果是__C___main(){int x=30;Int[] numbers=new int[x];X=60;System.out.println(numbers.length);}A) 60 B) 20 C) 30 D) 509、下面不是创建数组的正确语句CA)float f[][]=new float[6][6]; B)float f[]=new float[6];C)float f[][]=new float[][6]; D)float [][]f=new float[6][];10.下面不是数组复制方法的是(C)A 用循环语句逐个复制数组B 用方法arraycopyC用“=”进行复制 D 用clone方法11.数组a的第三个元素表示DA a(3)B a[3]Ca(2) D a[2]12. 当访问无效的数组下标时,会发生BA中止程序 B 抛出异常C系统崩溃 D 直接跳过13.使用arraycopy()方法将数组a复制到b正确的是AA arraycopy(a,0,b,0,a.length)B arraycopy(a,0,b,0,b.length)C arraycopy(b,0,a,0,a.length)D arraycopy(a,1,b,1,a.length)14. 关于数组默认值,错误的是BAchar--'"u0000' B Boolean--trueCfloat--0.0f D int-- 015. 关于数组作为方法的参数时,向方法传递的是AA数组的引用 B 数组的栈地址C数组自身 D 数组的元素16. 关于数组复制,下列说法错误的是CA“=”可以实现数组复制B运用循环语句进行数组复制必须两个数组长度相同C arraycopy()方法没有给目标数组分配内存空间D 数组复制是数组引用的传递17. 下列语句会造成数组new int[10]越界是DA a[0]+=9;B a[9]=10;C—a[9] D for(int i=0;i<=10;i++) a[i]++;18. main方法是java Application 程序执行的入口点。

JAVA练习题及答案

JAVA练习题及答案
private String name; private int age; public int step; Dog(String s,int a) {
name=s; age=a; step=0; } public void run(Dog fast) { fast.step++; } } public static void main (String args[]) { A a=new A(); Dog d=a.new Dog("Tom",3); d.step=25; d.run(d); System.out.println(d.step); } } 四、 编程题
4) while ( I > 0 ) { 5) j = I * 2; 6) System.out.println (" The value of j is " + j ); 7) k = k + 1; 8) I--; 9) } 10) } A line 4 B line 6 C line 7 D line 8 二、多项选择
D sleep() E.yield() F.synchronized(this) 7.构造 BufferedInputStream 的合适参数是哪个? CA A BufferedInputStream B BufferedOutputStream C FileInputStream D FileOuterStream E. File 8.下列说法正确的是 DBC A ng.Clonable 是类 B ng.Runnable 是接口 C Double 对象在 ng 包中 D Double a=1.0 是正确的 java 语句 9.指出正确的表达式 AB A double a=1.0; B Double a=new Double(1.0); C byte a = 340; D Byte a = 120; 10.定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为: CD A private class MyClass extends Object B class MyClass extends Object C public class MyClass D public class MyClass extends Object 11.指出下列哪个方法与方法 public void add(int a){}为合理的重载方法。 CD A public int add(int a) B public void add(long a) C public void add(int a,int b) D public void add(float a) 12.如果下列的方法能够正常运行,在控制台上将显示什么? ACD public void example(){

JAVA语言与面向对象程序设计课后习题答案

JAVA语言与面向对象程序设计课后习题答案

JAVA语言与面向对象程序设计课后习题答案第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。

试列举出面向对象和面向过程的编程语言各两种。

请问:面向过程问题解,以具体内容的解题过程为研究和同时实现的主体,其思维特点更吻合于计算机;面向对象的问题解,则就是以d对象‖为主体,d对象‖就是现实世界的实体或概念在计算机逻辑中的抽象化则表示,更吻合于人的思维特点。

面向过程的编程语言:c,pascal,foratn。

面向对象的编程语言:c++,java,c#。

2.详述对象、类和实体及它们之间的相互关系。

尝试从日常碰触至的人或物中抽象化出来对象的概念。

答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。

类是同种对象的集合与抽象。

类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。

如果类是抽象的概念,如d电视机‖,那么对象就是某一个具体的电视机,如d我家那台电视机‖。

3.对象存有哪些属性?什么就是状态?什么就是犯罪行为?二者之间有何关系?建有对象d学生‖,精义这个对象设计状态与犯罪行为。

答:对象都具有状态和行为。

对象的状态又称作对象的静态属性,主要指对象内部所涵盖的各种信息,也就是变量。

每个对象个体都具备自己专有的内部变量,这些变量的值标明了对象所处的状态。

行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。

学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。

4.对象间存有哪三种关系?对象d班级‖与对象d学生‖就是什么关系?对象d学生‖与对象d大学生‖就是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。

对象d班级‖与对象d学生‖是包含关系。

对象d学生‖与对象d大学生‖是继承关系。

JAVA各章习题及答案-全解

JAVA各章习题及答案-全解

第1章Java入门一、选择题1.下列选项中,不属于Java语言特点的一项是(C )。

(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程序采用解释执行的方法。

在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。

2.在Java语言中,( C )是最基本的元素?(A)方法(B)包(C)对象(D)接口【解析】构成Java程序的基本元素类(抽象的对象)。

3.编译一个定义了3个类和10个方法的Java源文件后,会产生(D )个字节码文件?扩展名是(D )?(A)13个字节码文件,扩展名为.class(B)1个字节码文件,扩展名为.class(C)3个字节码文件,扩展名为.java(D)3个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。

4.在创建Applet应用程序时,需要用户考虑问题是(B )。

(A)窗口如何创建(B)绘制的图形在窗口中的位置(C)程序的框架(D)事件处理【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。

5.Java语言属于(B )种语言?(A)面向机器的语言(B)面向对象的语言(C)面向过程的语言(D)面向操作系统的语言【解析】Java语言是一种纯面向对象的语言。

6.下列关于Application和Applet程序的说法中不正确的一项是(B )。

(A)Application使用解释器java.exe(B)Application不使用独立的解释器(C)Applet在浏览器中运行(D)Applet必须继承Java的Applet类【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。

java 试题练习题(第6套)

java 试题练习题(第6套)

----------------------------精品word 文档 值得下载 值得拥有----------------------------------------------—— 学年第 学期《 Java 程序设计 》课程试题课程号:√ 考试□ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1、165/2的值是___。

A )0 B )82 C )3 D )83 答案:B (难度系数 C )知识点:表达式 2、在HTML 中,用________标签来强制显示Applet 。

A ) name,height,width B )codebase, height,width C ) code ,name D ) code, height,width 答案:D (难度系数B ) 知识点:小应用程序 3、在Applet 中显示文字、图形等信息时,应使用的方法是__ _____。

A) paint() B) init() C) start() D) destroy() 答案:A (难度系数B ,知识点:APPLET ) 4、创建一个标识有“关闭”按钮的语句是___。

A ) TextField b = new TextField(“关闭”);B ) Label b = new Label(“关闭”);C ) Checkbox b = new Checkbox(“关闭”);D ) Button b = new Button(“关闭”);答案:D (难度系数C )知识点:GUI 编程5、在编写异常处理的Java 程序中,每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。

A ) if – elseB )switchC )tryD ) throw答案:C (难度系数B )知识点:异常6、下列语句关于内存回收的说明是正确的是___。

答案JAVA程序设计基础(复习提纲及练习题

答案JAVA程序设计基础(复习提纲及练习题

复习....参考考试题型:1.单项选择题(本大题共15小题,每小题1分,共15分)2. 判断题(10小题,每小题1分,共10分)3.填空题(本大题共10空,每个空2分,共20分)4.阅读程序,写出程序运行后的输出结果(本大题共3小题,每小题6分,共18分)5. 编程题(本大题共3小题,共37分),其中第1题:9分(位操作),第2题14(分排序或字符串处理),第3题14分(类与对象)。

涉及数组、排序、字符串处理、类和对象(实例)、位操作(手写推算步骤及最终结果,要求看样题)等。

考试涉及的相关知识点:1.java程序类型:(1)java application(需主类)、java程序、源程序、类、接口、字节码文件、包、JDK JVM javac.exe java.exe跨平台java开发步骤一二维数组等(2)java applet:java小程序(可以没有主类,是图形界面),主要用于网页(3)java script:网页或网站的“脚本”程序2.标识符和关键字:class、interface final abstract static void byte short int long float double boolean String return 异常常用的关键字(try catch finally throw throws)3.表达式:=比较运算符:> >= < <= != ==逻辑运算符:&& || !位运算符:& |~ ^ >> >>> <<instanceof ++ -- 前后关系?:算合语句s+=5 s-=5 s*=5 s/=5 int a=b=10;4.程序控制结构:顺序、选择、循环(1)单路选择结构if(){ }(2)多路选择结构if( ) {.. else ..}(3)else if 结构(4)switch (break);while(){ … }do{ …. } while( ); break continuefor( ; ; ){ … }5.面向对象的程序设计:类:class 成员变量方法成员修饰符(访问、特征)static变量成员或方法实例变量成员或方法UML图对象:Object 创造对象new方法:void 方法、非void 方法、static 方法(类方法)、非static 方法(实例方法)方法参数传递:实参形参传值传引用(数组对象接口)多态:重载重写this 、super构造方法(在类的继承中可能用到的关键字super)包:关键字import 、package继承(组合:主类main() 与继承):继承创新改造子类不能降低父类的访问级别Super、this 、上转型对象Abstract、final接口:interface(1)实现:implements 也是一种继承(包括一般类与抽象类,多实现)(2)继承:extends (与类相比的“多继承”)(3)静态块(静态初始化器) static { …}、构造块{…}、构造方法以及在类的继承和实例生成中的相互关系和执行顺序。

java编程练习题及答案

java编程练习题及答案

java编程练习题及答案Java编程练习题及答案一、选择题1. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A2. 下列哪个是Java中的合法标识符?A. 2variableB. forC. variable2D. class答案:C3. 在Java中,哪个方法用于获取当前对象的引用?A. this()B. super()C. clone()D. new()答案:A4. 以下哪个是Java的访问修饰符?A. publicB. staticC. finalD. abstract答案:A5. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. enum答案:B二、简答题1. 请简述Java中的继承是如何工作的?答案:Java中的继承允许一个类(子类)继承另一个类(父类)的属性和方法。

子类可以扩展或修改父类的行为,实现代码复用。

继承是面向对象编程的核心概念之一。

2. 请解释Java中接口和抽象类的区别?答案:接口定义了一组方法规范,但不提供实现。

任何实现接口的类都必须提供接口中所有方法的具体实现。

抽象类可以包含抽象方法和具体方法,并且可以有成员变量。

抽象类可以作为其他类的基类,但不能被实例化。

三、编程题1. 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除运算。

```javaimport java.util.Scanner;public class SimpleCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字: ");double num1 = scanner.nextDouble();System.out.print("请选择运算符(+, -, *, /): "); char operator = scanner.next().charAt(0);System.out.print("请输入第二个数字: ");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {System.out.println("除数不能为0"); }break;default:System.out.println("无效的运算符");}if (result != 0) {System.out.println("结果是: " + result);}scanner.close();}}```2. 编写一个Java程序,实现一个简单的学生管理系统,可以添加学生信息、显示所有学生信息。

java复习资料(习题版)(带参考答案)

java复习资料(习题版)(带参考答案)

一、选择题1、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )A)static void method() B)public void method()C) final void method() D)abstract void method()2、Java中main()函数的返回值是什么类型(D )A) String B) int C) char D) void3、以下说法正确的是(A )A)Java中所有的方法都必须在类内定义B) Java中主方法可以不在类内定义,其他方法都必须定义在类内C) Java中主方法必须定义在类内,其他方法可以不必定义在类内D) Java中所有方法都不必在类内定义4、Java不支持多重继承,但我们可以通过(B )实现A)多态B) 接口C) 覆盖D) 抽象类5、已知表达式int[] m = {0, 1, 2, 3, 4, 5, 6 };下面B哪个表达式的值与数组元素个数相等(B )A) m.length() B) m.length C) m.length()+1 D) m.length+16、所有的异常类皆继承哪一个类(B )A)java.io.Exception B) ng.ThrowableC) ng.Exception D)ng.Error7、关于布尔类型说法正确的是(A )A)boolean表示布尔类型,它的取值只有true和falseB) bool表示布尔类型,它的取值只有true和falseC) boolean表示布尔类型,它的取值只有1和0D) bool表示布尔类型,它的取值只有1和08、在异常处理中,如释放资源、关闭文件等善后操作由(C )来完成A)try子句B) catch子句C) finally子句D) throw子句9、要开发Java程序,需要安装的开发包是(A )A)jdk B) eclipse C) notepad D) 记事本10、给出下面的代码段:public class Test{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}哪个语句是正确的( C )A)编译时将产生错误B) 编译时正确,运行时将产生错误C) 输出零D) 输出空11、如下哪个字符串是Java中的标识符(A )A)fieldname B) super C) 3number D) #number12、以下哪项是接口的正确定义(D )A) interface B { void print(){ }; }B) abstract class B { void print(); }C) abstract interface B extends A1,A2 //A1、A2为已定义的接口{ abstract void print(){ }; }D) interface B { void print(); }13、以下代码段执行后的输出结果为(B )int x=3; int y=10;System.out.println(y%x);A)0 B) 1 C) 2 D) 314、不允许作为类及类成员的访问控制符的是(C )A)public B) private C) static D) protected15、执行完代码int[ ] x = new int[25]; 后,以下哪项说明是正确的(A )A)x[24]为0 B) x[24]未定义C) x[25]为0 D) x[0]为空16、类Text定义如下:public class Test{public float aMethod(float a, float b){}// ***}将以下哪种方法插入行"//***"是不合法的。

JAVA各章习题及答案-全解

JAVA各章习题及答案-全解

JAVA各章习题及答案-全解第1章Java入门一、选择题1.下列选项中,不属于Java 语言特点的一项是( C )。

(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程序采用解释执行的方法。

在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。

2.在Java语言中,( C )是最基本的元素?(A)方法(B)包(C)对象(D)接口【解析】构成Java程序的基本元素类(抽象的对象)。

3.编译一个定义了3个类和10个方法的Java源文件后,会产生( D )个字节码文件?扩展名是( D )?(A)13个字节码文件,扩展名为.class(B)1个字节码文件,扩展名为.class(C)3个字节码文件,扩展名为.java(D)3个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。

4.在创建Applet应用程序时,需要用户考虑问题是(B )。

(A)窗口如何创建(B)绘制的图形在窗口中的位置(C)程序的框架(D)事件处理【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。

5.Java语言属于( B )种语言?(A)面向机器的语言(B)面向对象的语言(C)面向过程的语言(D)面向操作系统的语言【解析】Java语言是一种纯面向对象的语言。

6.下列关于Application和Applet程序的说法中不正确的一项是(B )。

(A)Application使用解释器java.exe(B)Application不使用独立的解释器(C)Applet在浏览器中运行(D)Applet必须继承Java 的Applet类【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。

JAVA各章习题及答案

JAVA各章习题及答案

第1章一、选择题1.下列选项中‎,不属于Ja‎v a语言特‎点的一项是‎(C )。

(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程‎序采用解释‎执行的方法‎。

在系统编译‎运行Jav‎a程序时,Java编‎译器将Ja‎v a程序转‎化为字节码‎,在运行时,解释器将编‎译得到的字‎节码进行解‎释执行。

2.在Java‎语言中,( C )是最基本的‎元素?(A)方法(B)包(C)对象(D)接口【解析】构成Jav‎a程序的基‎本元素类(抽象的对象‎)。

3.编译一个定‎义了3个类‎和10个方‎法的Jav‎a源文件后‎,会产生(D )个字节码文‎件?扩展名是( D )?(A)13个字节‎码文件,扩展名为.class‎(B)1个字节码‎文件,扩展名为.class‎(C)3个字节码‎文件,扩展名为.java (D)3个字节码‎文件,扩展名为.class‎【解析】源文件中的‎每一个类编‎译后都会生‎成一个字节‎码文件,字节码文件‎的扩展名是‎.class‎。

4.在创建Ap‎pl et应‎用程序时,需要用户考‎虑问题是( B )。

(A)窗口如何创‎建(B)绘制的图形‎在窗口中的‎位置(C)程序的框架‎(D)事件处理【解析】创建App‎l et程序‎时必须继承‎系统类Ap‎pl et,而Appl‎e t类中已‎经包含了如‎何创建窗口‎以及事件处‎理等内容,这类程序的‎框架也都是‎固定的,而绘制图形‎在窗口中的‎位置则需要‎由用户确定‎。

5.Java语‎言属于(B )种语言?(A)面向机器的‎语言(B)面向对象的‎语言(C)面向过程的‎语言(D)面向操作系‎统的语言【解析】Java语‎言是一种纯‎面向对象的‎语言。

6.下列关于A‎p plic‎a tion‎和A ppl‎e t程序的‎说法中不正‎确的一项是‎(B)。

(A)Appli‎ca tio‎n使用解释‎器j ava‎.exe (B)Appli‎catio‎n不使用独‎立的解释器‎(C)Apple‎t在浏览器‎中运行(D)Apple‎t必须继承‎Java的‎A p ple‎t类【解析】Appli‎catio‎n程序包含‎m ai n()方法,它是一种独‎立执行的程‎序,因此必须使‎用独立的解‎释器解释执‎行。

java数组选择题附加答案解析

java数组选择题附加答案解析

Java数组选择题附加答案解析1. 下列哪个选项正确描述了Java数组?A. 数组可以包含不同类型的元素。

B. 数组的大小可以在运行时改变。

C. 数组的元素必须是相同类型的数据。

D. 数组的索引可以是负数。

答案: C。

解析:在Java中,数组的元素必须是相同类型的数据。

2. 给定以下Java数组的声明和初始化:javaint[] arr = {1, 2, 3};下列哪个选项初始化了一个与’arr’相同的数组?A. ‘int[] newArr = new int[3];’B. ‘int[] newArr = {1, 2, 3};’C. ‘int[] newArr = arr;’D. ‘int[] newArr = new int[]{1, 2, 3};’答案: D。

解析:选项D 初始化了一个与‘arr’相同的数组,并且也使用了初始化数组的方式。

3. 给定以下Java代码片段:javaint[] arr = {5, 3, 9, 1, 7};表达式’arr.length’的值是:A. 5B. 4C. 6D. 10答案: A。

解析:’arr.length’表示数组’arr’的长度,即数组中元素的个数,这里是5。

4. 给定以下Java数组的声明和初始化:javaint[] arr = new int[4];arr[0] = 1;arr[1] = 3;arr[2] = 5;arr[3] = 7;表达式’arr[2]’的值是:A. 1B. 3C. 5D. 7答案: C。

解析:’arr[2]’表示数组’arr’中索引为2的元素,即第三个元素,其值为5。

5. 给定以下Java数组的声明和初始化:javaint[] arr = {2, 4, 6, 8};下列哪个选项正确实现了对数组’arr’的遍历?A.javafor (int i = 0; i <= arr.length; i++) {System.out.println(arr[i]);}B.javafor (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}C.javafor (int i = 1; i <= arr.length; i++) {System.out.println(arr[i]);}D.javafor (int i = 0; i < arr.length - 1; i++) {System.out.println(arr[i]);}答案: B。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JA V A类和对象及数组习题一、选择题(1)下列构造方法的调用方式中,正确的是( D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。

A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(2)在Java中,能实现多重继承效果的方式是( C )--原因:一个类可以同时实现多个接口。

Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。

A.内部类B.适配器C.接口D.同步(3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。

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)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。

Java源文件中的public类只能有一个。

A. 声明变量时必须指定一个类型B. Java认为变量number与Number相同C. Java中唯一的注释方式是"//"D. 源文件中public类可以有0或多个(5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。

所以可以认为子类是父类的扩展。

A. 父类不能替代子类B. 子类能够替代父类C. 子类继承父类D. 父类包含子类(6)下列代码中,将引起编译错误的行是( B )—原因:定义float型变量并对其初始化时,其值后面要加一个f.1)public class Exercise{2)public static void main(String args[]){3)float f=0.0;4) f +=1.0;5)}6)}A. 第2行B. 第3行C. 第4行D. 第6行(7)下列关于继承的哪项叙述是正确的?( D ) –错误原因:JAVA不允许多重继承,但可以通过接口的机制来达到多重继承的目的;一个类可以同时继承一个类和实现多个接口,但是不能同时继承多个类。

(15)为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

--原因:static修饰的方法又称为静态方法。

静态方法是类方法,它可以直接通过类来调用,也可以通过类实例来调用。

A.static void method( ) B. public void method( )C.final void method( ) D. abstract void method(16) 不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?( D )--原因:A子类实例方法可以直接调用父类的public和protected实例方法,但不能调用父类的private方法。

B类方法也称为静态方法,非静态的方法不能调用静态的方法和成员变量,所以无论是父类还是子类的实例方法都不能调用静态方法。

C一个类的实例方法只有这个类的其它方法或对象可以调用,不可以由其它类不经过实例化直接调用。

A.实例方法可以直接调用父类的实例方法。

B.实例方法可以直接调用父类的类方法。

C.实例方法可以直接调用其他类的实例方法。

D.实例方法可以直接调用本类的实例方法(17)设有下面的一个类定义:class AA { static void Show( ) { System.out.println(“我喜欢Java!”); } }class BB { void Show( ) { System.out.println(“我喜欢C++!”); }}若已经使用AA类创建对象a和BB类创建对象b,则下面( A、C )方法调用是正确的–原因:静态方法属于类方法,它可以直接通过类来调用,也可以通过类实例来调用。

而非静态的方法则只能通过类实例(对象)来调用。

所以AA类的静态show方法即可通过类也可以通过对象来调用,而BB类中的非静态方法show则只能通过对象b来调用。

A. a.Show( ) ; b.Show( )B. AA.Show( ); BB.Show( );C. AA.Show( ); b.Show( );D. a.Show( ); BB.Show( );(18) 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为( C )。

–原因:同一名称的方法实现不同的功能是面向对象的多态性的表现,该多态性也称为重载。

A.隐藏B.覆盖C.重载D.Java不支持此特性(19) 对于构造函数,下列叙述不正确的是( C )。

–原因:子类可以通过super来调用父类的构造方法。

A.构造函数也允许重载。

B.子类无条件地继承父类的无参构造函数。

C.子类不允许调用父类的构造函数。

D.在同一个类中定义的重载构造函数可以相互调用。

(20) 对于子类的构造函数说明,下列叙述中不正确的是( D )。

--原因:子类不可以继承父类的有参构造函数。

只能通过super调用。

A.子类无条件地继承父类的无参构造函数。

B.子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C.在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。

D.子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

二、请写出下列程序的运行结果(1)下列程序的运行结果是( s=120 ) —分析:if语句执行3次,分别是当i=0,3,6时,对应的数组中的数分别为:10,40,70,它们的和为120.public class Examac{ public static void main(String args[ ]){ int i , s = 0 ;int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };for ( i = 0 ; i < a.length ; i ++ )if ( i%3 == 0 ) s += a[i] ;System.out.println("s="+s); } }(2)下列程序的运行结果是( 110 110 110 110 110 )—分析:for循环执行5次,分别输出11+99,22+88,33+77, 44+66, 55+55的和,且之间用空格隔开。

public class Examad{ public static void main(String args[ ]){ int i ;int a[ ] = { 11,22,33,44,55,66,77,88,99 };for ( i = 0 ; i <= a.length / 2 ; i ++ )System.out.print( a[i]+a[a.length-i-1]+" ");System.out.println( ); } }(3)下列程序的运行结果是( parentchildchild)—分析:当对象myC调用方法printAll()后,顺序执行该方法中的三条语句,在子类Child中,重载了父类的printMe方法,所在当执行this.printMe() 和printMe()方法时都调用重载后的printMe()方法。

所以依次输出parent,child,child.class Parent{ void printMe(){ System.out.println("parent"); } }class Child extends Parent{ void printMe(){ System.out.println("child"); }void printAll(){ super.printMe();this.printMe();printMe(); } }public class Examae{ public static void main(String args[ ]){ Child myC = new Child( );myC.printAll( ); } }(4)下列程序的运行结果是(The String No.1 isThe String No.2 is String 2The String No.3 is stringThe String No.4 is stringThe String No.5 is string )—原因:s1定义了一个空的字符串对象,所以不会输出任何东西。

s2定义了一个字符串对象并赋初值为string2。

s3定义了一个以字符数组为参数的字条串对象,并将该字符数组组成的字符串赋给s3。

s4定义同s3,只是只取字符数组从索引值为2的字符开始之后的6个字符,所以会去掉前面的两个空格。

s5是以一个StringBuffer类对象为参数定义的一个字符串对象,它的初值同s3.class Examaf {public static void main(String args[]) {String s1=new String();String s2=new String("String 2");char chars[]={' ',' ','s','t','r','i','n','g'};String s3=new String(chars);String s4=new String(chars,2,6);byte bytes[]={0,1,2,3,4,5,6,7,8,9};StringBuffer sb=new StringBuffer(s3);String s5=new String(sb);System.out.println("The String No.1 is "+s1);System.out.println("The String No.2 is "+s2);System.out.println("The String No.3 is "+s3);System.out.println("The String No.4 is "+s4);System.out.println("The String No.5 is "+s5); } }(5)下列程序的运行结果是(0 and 01 and 00 and 11 and 10 and 21 and 2)—原因:不带标签的break只结束它所在那一层循环不能结束外部循环,所以内层循环只能执行两次,分别是j为0,1时。

相关文档
最新文档