山大网络《JAVA程序设计》 模拟题及答案(A、B、C卷)
《 Java 程序设计》模拟试题(1)及答案详解
模拟试题一《 Java 程序设计》模拟试题 1( 120 分钟)一、选择题( 3 分 / 题,共 10 个,共 30 分)1. 根据应用开发领域的不同, Java 分三个版本,请你选择正确的分类。
(A)J2ME, J2SE, J2EE(B) JDK1.1, JDK1.2, JDK1.3(C ) JDK, SDK, JRE(D)EJB, JSP, Servlet2. 请你选择下列对 Java 语言的正确描述。
(A) Java 是面向对象的程序设计语言。
(B) Java 是面向过程的程序设计语言。
(C ) Java 是脚本语言。
(D) Java 是机器语言。
3. 在 Java 语言中,下列哪个变量名是不正确的 .(A) studentNo (B)567num(C) $money (D) _postCode4. 下列哪个不是面向对象的三大特性之一:(A) 封装性(B) 继承性(C)多态性(D)重载5. 下列程序片断用的是什么机制?class Student{String name;int age;Student(){}Student(String n, int a){name=n; age=a;}Student(String n){name=n;}}(A)方法的覆盖(B) 构造函数重载(C)多态(D) 这是错误的代码6. 下列有关异常控制器( catch )排列顺序说法正确的是:(A) 应先捕捉父类异常,再捕捉子类异常(B) 应先捕捉子类异常,再捕捉父类异常(C) 一个 try 块后跟随的 catch 异常控制器捕获的异常不能有继承关系(D) 如果先匹配到父类异常,后面的子类异常仍然可以被匹配到7. 下面哪种语言不是面向对象语言 ?(A) java(B) C++(C ) C(D) Smalltalk8. 选出不是java 循环语句的选项 ?(A) for(B) while(C ) repeat(D) do while9. 关于抽象类下列哪个描述正确?(A) 抽象类不能包含抽象方法。
java程序设计考试题库及答案
java程序设计考试题库及答案一、单项选择题1. Java程序的基本单位是()。
A. 函数B. 程序C. 类D. 对象答案:C2. 在Java中,用于定义类的关键字是()。
A. structB. classC. interfaceD. package答案:B3. Java中,哪个关键字用于声明一个方法?()A. functionB. methodC. voidD. def答案:B4. 在Java中,哪个关键字用于声明一个类变量?()A. staticB. globalC. publicD. private答案:A5. Java中,哪个关键字用于声明一个类方法?()A. staticB. globalC. public答案:A6. 在Java中,哪个关键字用于声明一个包?()A. packageB. importC. exportD. include答案:A7. 在Java中,哪个关键字用于声明一个接口?()A. structB. classC. interfaceD. package答案:C8. 在Java中,哪个关键字用于声明一个私有方法?()B. publicC. protectedD. default答案:A9. 在Java中,哪个关键字用于声明一个构造方法?()A. constructorB. thisC. newD. init答案:B10. 在Java中,哪个关键字用于声明一个常量?()A. constB. finalC. staticD. volatile答案:B二、多项选择题1. 在Java中,以下哪些关键字用于控制访问权限?()A. publicB. privateC. protectedD. static答案:ABC2. 在Java中,以下哪些关键字用于控制方法的返回类型?()A. voidB. returnC. throwsD. synchronized答案:A3. 在Java中,以下哪些关键字用于声明数组?()A. newB. arrayC. []D. ArrayList答案:AC4. 在Java中,以下哪些关键字用于异常处理?()A. tryB. catchC. finallyD. throw答案:ABCD5. 在Java中,以下哪些关键字用于循环控制?()A. forB. whileC. do-whileD. switch答案:ABC三、判断题1. Java是一种编译型语言。
JAVA程序设计—山大20年考试复习题库及部分答案
--.多选题(16分)1、在Java中,以下哪种情况被视为错误?()A、内存芯片故障B、试图用零去除时C、未向用户分配存储单元的引用D、试图执行非法的指令学生答案:AD2、以下哪个是关于Java的正确说法()A具有编译器B、具有解释程序C、具有编译器和解释程序D、具有字节码阅读器学生答案:D3、当我们希望在发生某些条件时跳出循环,可以使用()A.break语句B、continue语句C、exit语句学生答案:AB4.Java语言在体系结构上是()A、定向的B、抽象的C、无关的D、特定的学生答案:BC二、简答题(15分)5、abstract class和interface有什么区别学生答案:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。
Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。
知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义static final成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
三、单选题(26分)6、何时抛掷Error异常?()A、当发生动态链接失败或JVM本身发生某些知命错误时B、当OS中的中断处理程序不处理生成的中断时C、当运行时异常系统无法处理它时以上都是学生答案:A7、使用以下哪些修饰符进行修饰时,子类不可访问其变量?()A、ProtectedB、PrivateC、以上两者都是D、以上都不是学生答案:B8、下面语句段的输出结果是什么?()inti=9;switch(i){default:System.out.printn("default");case 0:System.out.printn("zero");break;case 1:System.out.printn("one");case 2:System.out.printn("two");}A、defaultB、default,zeroC、error default clause not definedD、no output displayed 学生答案:B9、引用抽象类的引用变量可以初始化为()A、抽象类的对象B、抽象类子类的对象C、以上两者都是D、以上都不是学生答案:B10、可在方法的作用域中抛掷的异常是:()A.使用Java的throw语句的方法直接抛掷的异常B、被方法通过调用其他方法抛掷的异常上面的a和b以上都不是学生答案:C11、以下关于接口的说法哪些是错误的?()A、创建接口层次结构是可能的。
Java程序设计期末考试模拟试题三及答案
《Java程序设计》模拟试题3( 90 分钟)一、选择题(3分/题,共15个,共45分)1. 请说出下列代码的执行结果:public class test {public static void main(String[] args) {Integer a1 = new Integer(20);Integer a2 = new Integer(20);if(a1= =a2)System.out.println("a1= =a2");if(a1.equals(a2))System.out.println("equals");}};A)equalsB)a1= =a2C)什么都不输出D)程序错误答案:A。
解析:new出来的对象存储在堆中,所以a1和a2指向不同的内存区域,用操作符“==”比较的结果是false,使用equals则是比较内容,所以返回true。
2. 下面哪种注释方法能够支持javadoc命令:(A)/** ……………..**/(B)/*………………..*/(C)//(D)/**………………*/答案:D。
解析:A中是干扰项,没有这种注释。
B中是注释代码块的语法。
C是注释单行代码。
3. 下面关于Applet的说法正确的是:A)Applet也需要main方法B)Applet必须继承java.awt.AppletC)Applet能访问本地文件D)Applet程序不需要编译答案:A。
解析:因为Applet不需要main方法,只需要Applet的容器即可。
B正确。
Applet为了安全性,禁止Applet访问本地文件。
Applet程序需要编译。
4. 下面的说法正确的是:A.Java语言里的线程不是对象B.Applet需要main方法C.Java语言的对象都是ng.Object的子类D.Java支持多重继承答案:C。
解析:Java中线程是Thread对象,A错。
Applet不需要main方法,B 错。
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. 以下代码的输出结果是()。
```javaint 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语言程序设计》模拟试题(一)一、单选题(1分/题,共20题)题号 1 2 3 4 5 6 7 8 9 10 答案 B A D A B C C B A A 题号11 12 13 14 15 16 17 18 19 20 答案 C A C D D D A A A A1.以下语句中,共有错误____处public class Hello{public void main(String[] args){System.out.println(‘Welcome to Java’);}}A. 1处B. 2处C. 3处D. 4处2.下列关于类方法、实例方法、类变量、实例变量的说法中,正确的是A. 类方法可以调用类方法B. 类方法不能访问类变量C. 类方法可以调用实例方法D. 实例方法可以访问类变量3.导致程序运行时出现NoClassDefoundError错误的原因可能是A. javap.exe不存在B. 被访问的类中没有main方法C. 运行程序的命令行中没传递参数D. 环境变量设置错误4.关于以下两个Java语句的说法中,正确的是语句①:import java.util.Scanner;语句②:import java.util.*;A. 语句②可以导入Scanner类B. 语句①和语句②的作用相同C. 语句①比语句②导入的类更多D. 语句①导入Scanner类及其子类5.Java中所有类的基类是A. Class类B. Object类C. Thread类D. System类6.在Java语言中,能实现多重继承的方式是A. 抽象类B. 匿名类C. 接口D. 泛型类7.下列表达式的值为true的是A. 3>3B. a<5C. ‘a’==‘a’D. x!=‘x’8.要得到某个文件夹下的所有文件名,下列代码应该填写File dir = new File(args[0]);String[] filename = dir.__________();A. mkdir()B. listC. listFilesD. getName9.下列不能作为类成员的访问控制符的是A. staticB. protectedC. publicD. private10.下列关于构造方法的说法中正确的是A. 子类可以调用父类的构造方法B. 构造方法不能重载C. 构造方法返回类型为intD. 构造方法是一种实例方法11.为了区分重载方法,Java语言要求A. 使用不同的访问权限B. 使用不同的参数名C. 采用不同的形参列表D. 返回的数据类型必须不同12.Java多线程程序中,通过集成Thread类的方式创建线程,则需要重写的方法是A. run()B. sleep()C. start()D. Thread()13.以下Java类定义的横线上应为___________ class Example{private int parametera, parameterb;public abstract double compute(int parametera, int parameter);}A. publicB. privateC. abstractD. final14.已知MySQL数据库message中的表courses的字段为ID、Title、Content、SubmissionTime. 要仅列出courses中Title为“关于期末考试的建议”的记录中字段Title、Content和SubmissionTime,应执行SQL语句A. select ID, Title from coursesB. select * from coursesC. select * from courses whrer Title=”关于期末考试的建议”D. select Title, Content, SubmissionTime from courses where Title=”关于期末考试的建议”15.所有异常类的父类是A. ng.ThrowableB. ng.ErrorC. ng.ThreadD. java.io.Exception16.类Circle实现了接口Compute,则一下语句中正确的是A. Compute compute = new Compute();B. Compute Circle();C. Circle circle = new Compute();D. Compute compute = new Circle();17.以下关于泛型的说法中,正确的是A. 泛型类中可以有多个泛型B. 泛型不能用于接口C. 泛型类实例化对象时不必指明泛型的具体类型D. 泛型可以是基本数据类型18.Java语言中,启动线程的方法是A. start()B. run()C. wait()D. sleep()19.下列Java程序的执行结果是class Example{public static void main(String[] args){int a[]={1,2,3,4,5,6,7,8,9};for(int i=0;i<a.length;i++)System.out.print(a[i]+a[a.length-1]+” ”);System.out.println();}}A. 10 10 10 10 10B. 10C. 1 2 3 4 5 6 7 8 9D. 4520.以下Java程序的执行结果是class Example implements B{public static void main(String[] args){int I;Example example = new Example();I=example.k;System.out.println(i);}}interface B{int k=10;}A. 10B. falseC. 0D. true二、填空题(每空1分,共10分)1.在Java语言中,加号“+”的两种作用是:算数运算符和连接符。
java程序设计考试试题及答案
java程序设计考试试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?()A. classB. publicC. privateD. static答案:A2. 下列哪个选项是Java语言的特性?()A. 多线程B. 编译型C. 动态链接D. 所有选项答案:D3. 在Java中,哪个修饰符用于声明一个方法只能由类本身和子类访问?()A. publicB. protectedC. privateD. static答案:B4. Java中,下列哪个关键字用于声明一个接口?()A. classB. interfaceC. publicD. abstract答案:B5. 在Java中,下列哪个关键字用于创建一个抽象类?()A. abstractB. finalC. staticD. interface答案:A6. 下列哪个选项是Java集合框架中的主要接口?()A. ListB. SetC. MapD. 所有选项答案:D7. Java中,下列哪个关键字用于声明一个方法没有返回值?()A. voidB. returnC. nullD. none答案:A8. Java中,下列哪个关键字用于声明一个方法可以被重写?()A. overrideB. extendsC. implementsD. abstract答案:D9. 在Java中,下列哪个关键字用于声明一个变量是静态的?()A. staticB. finalC. transientD. volatile答案:A10. Java中,下列哪个关键字用于声明一个变量是常量?()A. finalB. staticC. transientD. volatile答案:A二、填空题(每题2分,共20分)1. Java程序的执行入口点是________方法。
答案:main2. 在Java中,________关键字用于声明一个变量的值不能被修改。
山大网络《JAVA程序设计》-模拟题及答案(A、B、C卷)
《JAVA程序设计》模拟题 A一.判断题1.Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(√)2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。
()3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
()4.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。
()5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法()6.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。
(√)7.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(√)8.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象。
()10.System类不能实例化,即不能创建System类的对象。
(√)11.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
(√)12.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
()13.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(√)14.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。
(√)15.所有的鼠标事件都由MouseListener监听接口的监听者来处理(√)二.单项选择题1.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。
A、import java.awt.* ;B、import java.applet.* ;C、import java.io.* ;D、import java.awt.event.* ;2. 关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( c )A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问3. Java application中的主类需包含main方法,main方法的返回类型是什么?( d )A、intB、floatC、doubleD、void4. 设有下面两个类的定义:class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分String name; // 姓名 int getScore(){} return score;}}则类Person和类Student的关系是( b )。
Java程序设计期末考试模拟试题四及答案
《Java程序设计》模拟试题3( 90 分钟)一、选择题(3分/题,共10个,共30分)1. 下列关于面向对象程序设计方式的描述,错误的是()(A) 万物皆为对象(B)继承的目的是为了降低类和类之间的耦合(C) 每个对象都有类型(D) 子类可以接受和父类收到的消息答案:B。
解析:继承是为了增加程序设计中的代码复用,加强了类和类之间的耦合。
其他三项均正确。
A正确;C也正确,一个对象起码是Object类型;D是多态的表现之一。
2. 以下符合继承关系的是()(A) 铅笔和钢笔(B) 中文和英文(C) 电脑和显示器(D) 动物和老虎答案:D。
解析:A中铅笔盒钢笔并没有直接关系;B中和A同理;C中电脑和显示器是组合关系;D 中动物和老虎是继承关系,动物的所有行为都可以被老虎实现。
3. 以下对封装的描述正确的是()(A) 只能对一个类中的方法进行封装,不能对属性性进行封装(B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用(C) 封装的意义不大,因此在编码时尽量不要使用(D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性答案:D。
解析:A错,封装可以对属性;B错,非private的方法才可以;C错。
4. Java的基本类型中,char类型在Java虚拟机中占据()个字节。
(A) 1 (B) 2 (C) 4 (D) 8答案:B。
解析:和gcc等其他编译器不一样,Java规范规定char采用Unicode编码,所以一个char 字符占两个字节。
5. 下列属于Java的控制执行流程的语句是()(A) if-else (B) break label (C) for (D) goto答案:D。
解析:Java保留了goto的关键字,但不提供goto的功能。
goto语句相应功能的可以用breaklabel语句实现。
其他选项正确。
6. 关于Java的访问控制权限,下列说法正确的是()(A) 子类可以访问父类的private方法(B) 子类只能访问父类的public方法(C) 子类可以访问父类的protected方法(D) 以上选项都错误答案:C。
java程序设计期末考试模拟试题2及答案
《Java程序设计》模拟试题2一、选择题(4分/题,共5个,共20分)1.关于抽象类下列哪个描述正确?(A).抽象类不能包含抽象方法。
(B).接口和抽象类是一回事。
(C).抽象类不能实例化,即不能生成对象。
(D).抽象类可以实例化对象。
答案:C。
解析:抽象类可以包含抽象方法,A错。
设计上,接口用来规范类的行为,抽象类更偏向于定义类别;语法上,抽象类只能继承一个,接口可以实现多个。
抽象类不可以实例化,D错。
2.如果你要做GUI编程,要在窗口上放置一个按钮,当点击按钮时使得窗口关闭,程序退出,则你应该怎样写import语句才正确?(A).import java.awt.*;(B).import java.awt.event.*;(C).import javax.swing.*;(D).import java.awt.*;import java.awt.event.*;答案:D。
解析:进行图形界面开发必须引入包awt和event下的类。
3.下列哪个说法是错误的。
A.程序员可以定义新的异常类B.Exception可以用try/catch进行捕获处理C.Exception可以递交给上一级调用方处理D.类似像IOException等异常,程序可以忽略不进行捕获和处理答案:D。
解析:Java中只要继承Exception类,就可以自己定义异常类,A说法正确。
B、C说法是常识,均正确。
Java中异常必须处理,D错误,选D。
4.如果有一个对象myListener(其中myListener对象实现了ActionListener接口),下列哪条语句使得myListener对象能够接受处理来自于smallButton按钮对象的动作事件?A)smallButton.add(myListener);B)smallButton.addListener(myListener);C)smallButton.addActionListener(myListener);D)smallButton.addItem(myListener);答案:C。
JAVA程序设计模拟题参考答案
JAVA程序设计模拟题参考答案参考答案课程名称:Java程序设计考试时间:120分钟年级:xxx级专业:xxx⼀、单项选择题(20⼩题,共20分)1、每个java的编译单元可包含多个类或界⾯,但是每个编译单元最多只能有()类或者界⾯是公共的A、⼀个B、两个C、四个D、任意多个答案:A2、下列不属于java语⾔鲁棒性特点的是:()A、java能检查程序在变异和运⾏时的错误B、java 能运⾏虚拟机实现跨平台C、java ⾃⼰操纵内存减少了内存出错的可能性D、java 还实现了真数组,避免了覆盖数据的可能答案:B3、下⾯哪些单词是Java语⾔的关键字?()A、nullB、falseC、lengthD、instanceof答案:D4、下⾯程序⽚段输出的是什么?()int i=0,j=9;do{if(i++>――j)break;}while(i <4);System.out.println("i="+i+"and j="+j);A、i=4 and j=4B、i=5 and j=5C、i=5 and j=4D、i=4 and j=5答案:D5、下⾯哪些选项的语句置于指定的位置会导致程序输出“sub”?class J_Base{}class J_SubClass extends J_Base{public String mb_getString(){return("Sub");}}class J_Test{public static void main(String args[]){J _Base app=new J_SubClass();/ /选项语句插⼊的位置}/ /⽅法main结束}/ /类J_Test结束A、System. out. println(app. mb_getString());B、System. out. println((J_Base)app. mb_getString());C、System. out. println((J_SubClass)app. mb_getString());D、System. out. println(((J_SubClass)app).mb_getString());答案:D6、已知“123456789123456789”在类型long的表⽰范围之内,但不在类型int的表⽰范围之内。
java程序设计期末考试模拟试题1及答案
《Java程序设计》模拟试题1一、选择题(4分/题,共10个,共40分)1.Java2平台有三个版本,请你下列不是Java2平台版本的选项。
(A)J2ME(B)J2SE(C)J2EE(D)JSP答案:D。
解释:Java2平台有三个版本,J2ME针对微型设备开发,J2SE是标准版,J2EE是企业版。
JSP是一种服务器页面,不是Java2平台的版本。
2.在Java语言中,下列哪个变量名是不正确的.(A)large(B)2much(C)$money(D)_postCode答案:B。
解释:。
Java变量的名字可以是字母,下划线,美元符号开头,但不可以是数字开头。
3.编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
(A).java(B).class(C).html(D).exe答案:B。
解释:.class文件为Java的字节码文件。
.java是Java源程序文件。
.html是静态页面文件,和Java没有关系。
.exe是windows的可执行文件。
4.下列关于接口的描述哪个是正确的?(A).接口用interface定义(B).接口不能继承(C).一个类实现一个接口,不必实现该接口中的所有方法(D).接口可以实例化答案:A。
解释:选A。
B不选,接口可以不仅可以继承,还可以继承多个接口;C不选,实现接口必须实现接口中的所有方法。
D不选,接口不能实例化。
5.下列程序片断用的是什么机制?class Cat{String name;int age;Cat(){}Cat(String n,int a){name=new String(n);age=a;}Cat(String n){name=new String(n);}}(A)方法的覆盖(B)构造函数重载(C)多态(D)这是错误的代码答案:B。
解释:构造函数名字相同,参数不同,属于构造函数重载。
6.不允许作为类及类成员的访问控制符的是()。
Java语言程序设计-大学模拟题(附答案)
《Java语言程序设计》模拟题一、单项选择题1.下列程序段执行后的结果是( ).String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2){ System.out.print(s.charAt(i));}A.acegB.ACEGC.abcdefgD.abcd[答案]:A2.类定义如下class Foo{public static void main(String args[]){String s; System.out.println("s="+s);}}则下列结论正确的是( ).A.有输出结果,且为空B.没有输出结果C.编译错误D.有输出结果,且不为空[答案]:C3.关于以下代码段的说法正确的是( ).1.String s="abcde";2.StringBuffer s1=new StringBuffer("abcde");3.if(s.equals(s1))4.s1=null;5.if(s1.equals(s))6.s=null;A.第1行编译错误,String的构造器必须明确调用B.第3行编译错误,因为s与s1有不同的类型C.编译成功,但执行时在第5行有异常抛出D.编译成功,过程中也没有异常抛出[答案]:D4.应用程序的main方法中有以下语句,则输出的结果是( ).Strings="12345#aaa#bbb#67890";int n=s.indexOf("#");int k=s.indexOf("#",n+1);intm=s.indexOf("#",k+1);String s2=s.substring(m+1);System.out.println(s2);A.123456B.67890C.aaaD.bbb[答案]:B5.应用程序的main方法中有以下语句,则执行后输出的结果是( ).int[] x={125,21,5,168,98};int max=x[0];for(int i=1;i max) max =x[i];}System.out.println(max);A.125B.5C.98D.168[答案]:D6.关于下面的程序Test.java说法正确的是( ).public class Test {String x="1";int y;public static void main(String args[]) {int z=2;System.out.println(x+y+z);}}A.3B.102C.12D.程序有编译错误[答案]:D7.下列程序段执行后b3 的结果是().boolean b1=true, b2, b3;b3= b1 ? b1 : b2;A.0B.1C.trueD.false[答案]:D8.在下述字符串中,不属于Java语言关键字的是().A.floatB.newC.javaD.return[答案]:C9.关于Java中数据类型叙述正确的是:( ).A.整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和falseC.数组属于简单数据类型D.Java中的指针类型和C语言的一样[答案]:B10.设x=1, y=2, z=3,则表达式y+=z--/++x 的值是( ).A.3B.3.5C.4D.5[答案]:A11.设int x=1,float y=2,则表达式x / y的值是:( ).A.0B.1C.2D.以上都不是[答案]:D12.在下述Java语言语句中,错误的创建数组的方法是().A.int intArray [];intArray=new int[5];B.int intArray []=new int[5];C.int [] intArray ={1,2,3,4,5};D.int intArray [5]={1,2,3,4,5};[答案]:D13.while循环和do…while循环的区别是:( )A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次[答案]:D14.编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( ).A.javaB.classC.htmlD.exe[答案]:B15.void的含义:( ).A.方法没有返回值B.方法体为空C.没有意义D.定义方法时必须使用[答案]:A16.关于方法main()的说法哪个正确?( )A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中[答案]:C17.定义类头时能使用的修饰符是( ).A.privateB.staticC.abstractD.protected[答案]:C18.编译Java程序的命令是:( ).A.appletviewerB.javacC.javaD.javadoc[答案]:B19.在创建对象时必须().A.先声明对象,然后才能使用对象B.先声明对象,为对象分配内存空间,然后才能使用对象C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D.上述说法都对[答案]:C20.下列哪个类的声明是正确的?( ).A.abstract final class HI{}B.abstract private move(){}C.protected private number;D.public abstract class Car{}[答案]:D21.以下有关构造方法的说法,正确的是:( ).A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同[答案]:A22.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是().A.a1.javaB.a1.classC.a1D.都对[答案]:A23.下列方法定义中,正确的是( ).A.int x( ){ char ch='a'; return (int)ch; }B.void x( ){ ...return true; }C.int x( ){ ...return true; }D.int x( int a, b){ return a+b; }[答案]:A24.关于被私有访问控制符private修饰的成员变量,以下说法正确的是( ).A.可以被三种类所引用:该类自身,与它在同一个包中的其他类,在其他包中的该类的子类B.可以被两种类访问和引用:该类本身,该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问[答案]:C25.在Java中用什么关键字修饰的方法可以直接通过类名来调用?( ).A.staticB.finalC.privateD.void[答案]:A26.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( )A.String argsB.String ar[]C.Char argD.StringBuffer args[][答案]:B27.关于对象成员占用内存的说法哪个正确?( )A.同一个类的对象共用同一段内存B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对[答案]:B28.以下关于继承的叙述正确的是( ).A.在Java中类只允许单一继承B.在Java中一个类只能实现一个接口C.在Java中一个类不能同时继承一个类和实现一个接口D.在Java中接口只允许单一继承[答案]:A29.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值也可以不相同.这种面向对象程序的特性称为( ).A.隐藏B.覆盖C.重载D.Java不支持此特性[答案]:C30.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行( ).A.init()B.start()C.destroy()D.stop()[答案]:A31.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( ).A.ArrayList myList=new Object();B.List myList=new ArrayList();C.ArrayList myList=new List();D.List myList=new List();[答案]:B32.关于接口哪个正确?( )A.实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口C.接口间不能有继承关系D.接口和抽象类是同一回事[答案]:A33.已知如下定义:String s = "story"; 下面哪个语句不是合法的( )?A.s += "books";B.s = s + 100;C.int len = s.length;D.String t = s + "abc";[答案]:C34.某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为( ).A.catB.JavaC.exampleD.null[答案]:A35.以下哪项可能包含菜单条( ).A.PanelB.FrameC.AppletD.Dialog[答案]:B36.下列属于容器的组件有:( ).A.JButtonB.JPaneC.CanvasD.JTextArea[答案]:B37.在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?( ).A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener[答案]:D38.String s1=new String("Java");String s2=new String(s1)则下列哪个说法是正确的( ).A.表达式s1==s2为真B.s1和s2是同一个对象C.表达式s1.equals(s2)为真D.以上均不对[答案]:C39.对于已经被定义过可能抛出异常的语句,在编程时:( ).A.必须使用try/catch语句处理异常,或用throws将其抛出B.如果程序错误,必须使用try/catch语句处理异常C.可以置之不理D.只能使用try/catch语句处理[答案]:A40.A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:1. A a0=new A();2. A a1 =new B();3. A a2=new C();问以下哪个说法是正确的?( )A.只有第1行能通过编译B.第1,2行能通过编译,但第3行编译出错C.第1,2,3行能通过编译,但第2,3行运行时出错D.第1行,第2行和第3行的声明都是正确的[答案]:D41.下列哪个是Java中的关键字( ).A.runB.IntegerC.defaultD.implement[答案]:C42.设有下面两个赋值语句:a = Integer.parseInt("12");b = Integer.valueOf("12").intValue();下述说法正确的是( ).A.a是整数类型变量,b是整数类对象.B.a是整数类对象,b是整数类型变量.C.a和b都是整数类对象并且值相等.D.a和b都是整数类型变量并且值相等.[答案]:D43.下面的代码段执行之后count的值是什么( ).int count = 1;for (int i = 1; i <= 5; i++) {count += i;}System.out.println(count);A.5B.1C.15D.16[答案]:D44.应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c回车后输出的结果是( ).public class Test {public static void main(String args[]) {int k1=args.length;intk2=args[1].length();System.out.print(k1+" "+k2);}}A.3 2B.1 2C.1 3D.3 3[答案]:A45.程序Test.java编译运行后输出的结果是( ).public class Test {String s1="java";public static void main(String args[]) {int z=2;Test t=new Test();System.out.println(t.s1+z);}}A.java2B.2C.没有输出结果D.java[答案]:A46.请说出下列代码的执行结果:String s = "abcd";String s1 = new String(s);if (s = = s1) System.out.println("the same");if (s.equals(s1)) System.out.println("equals");A.the same equalsB.equalsC.the sameD.什么结果都不输出[答案]:B47.执行以下代码,输出结果是().int x=5,y=7,u=9,v=6;System.out.println(x>y ? x+2:u>v ? u-3:v+2);A.8B.6C.7D.true[答案]:B48.以下是关于Java 语言关键字的叙述,其中正确的是().A.关键字可以用来描述类的成员类型,但是不能描述普通变量B.关键字由字母(包括英文字母,下划线字符,美元字符,文字字符)和数字组成C.关键字不可以用作变量,方法,类或标号的标识符D.break 和main 都是Java 语言的关键字[答案]:C49.指出正确的表达式( ).A.byte=128;B.Boolean=null;C.long l=0xfffL;D.double=0.9239d;[答案]:C50.关于Java语言叙述错误的是:( )A.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象[答案]:C51.设有定义int i=123; long j=456; 下面赋值不正确的语句是( ).A.j=i;B.j=(long)i;C.i=(int)j;D.i=j;[答案]:D52.执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( ).A.x[9]为0B.x[9]未定义C.x[10]为0D.x[0]为空[答案]:A53.以下语句有语法错的是:( ).A.int x=1;y=2;z=3B.for (int x=10,y=0;x>0;x++);C.while (x>5);D.for(; ;);[答案]:A54.下列类DataOutputStream的构造方法正确的是( ).A.new dataOutputStream(new FileOutputStream("out.txt"));B.new dataOutputStream("out.txt");C.new dataOutputStream(new writer("out.txt"));D.new dataOutputStream(new FileWriter("out.txt"));[答案]:A55.return语句:( ).A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句returnD.不能用来返回对象[答案]:C56.在以下供选择的概念中,不属于面向对象语言概念的是().A.消息B.模块C.继承D.多态性[答案]:B57.下列选项中,用于在定义子类时声明父类名的关键字是( ).A.intexxxceB.packageC.extendsD.class[答案]:C58.在switch(表达式)语句中,表达式的类型不能为( ).A.byteB.charC.longD.int[答案]:C59.在调用方法时,若要使方法改变实参的值,可以().A.用基本数据类型作为参数B.用对象作为参数C.A和B都对D.A和B都不对[答案]:B60.构造函数何时被调用?( )A.创建对象时B.类定义时C.使用对象的方法时D.使用对象的属性时[答案]:A61.以下关于构造函数的描述错误的是( ).A.构造函数的返回类型只能是void型.B.构造函数是类的一种特殊函数,它的方法名必须与类名相同.C.构造函数的主要作用是完成对类的对象的初始化工作.D.一般在创建新对象时,系统会自动调用构造函数.[答案]:A62.在接口MouseMotionListener中方法正确的是( ).A.Public void mouseDragged(MouseEvent)B.Public boolean mouseDragged(MouseEvent)C.Public void mouseDragged(MouseMotionEvent)D.Public boolean MouseDragged(MouseMotionEvent)[答案]:A63.用于定义类成员的访问控制权的一组关键字是( ).A.class, float, double, publicB.float, boolean, int, longC.char, extends, float, doubleD.public, private, protected[答案]:D64.下列修饰符中与访问控制无关的是( ).A.privateB.publicC.protectedD.final[答案]:D65.如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰().A.privateB.protectedC.private protectedD.public[答案]:A66.下面是一些异常类的层次关系ng.Exceptionng.RuntimeException ng.IndexOutOfBoundsExceptionng.ArrayIndexOutOfBoundsExceptionng.StringIndexOutOfBoundsException假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的.( ) A.方法X应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds Exception.B.如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds Exception和StringIndexOutOfBoundsException都可以被捕获.C.如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch语句捕获.D.方法X不能声明抛弃异常.[答案]:B67.下列说法哪个正确?( )A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D.属性必须是简单变量[答案]:C68.以下有关类的继承的叙述中,正确的是:( ).A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性[答案]:D69.下面哪个函数是public void aMethod(){...}的重载函数?( ).A.void aMethod( ){...}B.public int aMethod(){...}C.public void aMethod ( ){...}D.public int aMethod ( int m){...}[答案]:D70.现有一变量声明为boolean aa;下面赋值语句中正确的是( ).A.aa=0B.aa=TrueC.aa="true"D.aa=false[答案]:D71.在使用intexxxce声明一个接口时,只可以使用( )修饰符修饰该接口.A.privateB.protectedC.private protectedD.public[答案]:C72.下列有关Java中接口的说法哪个是正确的?A.接口中含有具体方法的实现代码B.若一个类要实现一个接口,则用到"implements"关键字C.若一个类要实现一个接口,则用到"extends"关键字D.接口不允许继承[答案]:B73.有语句String s=”hello world”; ,以下操作哪个是不合法的?( )A.int i=s.length();B.s>>>=3;C.String ts=s.trim();D.String t=s+”!”;[答案]:B74.在Swing中,它的子类能用来创建框架窗口的类是().A.JWindowB.JFrameC.JDialogD.JApplet[答案]:B75.声明并创建一个按钮对象b,应该使用的语句是( ).A.Button b=new Button();B.button b=new button();C.Button b=new b();D.b.setLabel("确定");[答案]:A76.Frame对象默认的布局管理器是( ).A.FlowLayoutB.BorderLayoutC.CardLayoutD.null[答案]:B77.paint()方法使用哪种类型的参数?( )A.GraphicsB.Graphics2DC.StringD.Color[答案]:A78.下列哪些语句关于Java内存回收的说明是正确的?( )A.程序员必须创建一个线程来释放内存B.内存回收程序负责释放无用内存C.内存回收程序允许程序员直接释放内存D.内存回收程序可以在指定的时间释放内存对象[答案]:B79.所有的异常类皆继承哪一个类?( ).A.java.io.Exceptionng.Throwableng.Exceptionng.Error[答案]:C80.关于以下application的说明,正确的是( ).1.class StaticStuff2.{3.static intx=10;4.static { x+=5;}5.public static void main(Stringargs[ ])6.{7.System.out.println("x=" + x);8.}9.static { x/=3;}10. }A.4行与9行不能通过编译,因为缺少方法名和返回类型B.9行不能通过编译,因为只能有一个静态初始化器C.编译通过,执行结果为:x=5D.编译通过,执行结果为:x=3[答案]:C81.如下哪个是Java中的标识符( )?A.fieldnameB.superC.3numberD.#number[答案]:A82.有以下方法的定义,请选择该方法的返回类型( ).ReturnType method(byte x, doubley){return (short) x/y*2;}A.byteB.shortC.intD.double[答案]:D83.应用程序的main方法中有以下语句,则输出的结果是( ).String s1=new String("abc");String s2=new String("abc");boolean b1=s1.equals(s2);boolean b2=(s1==s2);System.out.print(b1+" "+b2);A.true falseB.false trueC.true trueD.false false[答案]:A84.应用程序的main方法中有以下语句,则输出的结果是( ).int b[][]={{1}, {2,2}, {2,2,2}};int sum=0;for(int i=0;iA.32B.11C.2D.3[答案]:A85.应用程序的main方法中有以下语句,则输出的结果是( ).String s1="0.5", s2="12";double x=Double.parseDouble(s1);int y=Integer.parseInt(s2);System.out.println(x+y);A.12.5B.120.5C.12D."12.5"[答案]:A86.下列代码的执行结果是什么?String s1 = "aaa";s1.concat("bbb");System.out.println(s1);A.The string "aaa".B.The string "aaabbb".C.The string "bbbaaa".D.The string "bbb".[答案]:B87.下面哪个不是java语言中的关键字?( ).A.longB.sizeofC.instanceofD.const[答案]:B88.以下哪个不是Java的原始数据类型?( )A.intB.BooleanC.floatD.char[答案]:B89.设有定义float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( ).A.x > y || x > zB.x != yC.z > ( y + x )D.x < y & ! ( x < z )[答案]:B90.下面关于Java.applet.Applet和其祖先类的描述语句哪个不对( ).A.Applet是Container的一种B.Applet是Window的一种C.Applet是Component的一种D.Applet是Panel的一种[答案]:B91.哪些是将一个十六进制值赋值给一个long型变量( ).A.long number = 345L;B.long number = 0345;C.long number = 0345L;D.long number = 0x345L;[答案]:D92.关于选择结构下列哪个说法正确?( )A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句[答案]:B93.以下由for 语句for ( int i = 0; true ; i++) ;构成的循环执行的次数是( ).A.有语法错,不能执行B.无限次C.执行1次D.一次也不执行[答案]:B94.不能构成循环的语句是( ).A.for 语句B.while 语句C.switch 语句D.do__while 语句[答案]:C95.下列说法哪个正确?( )A.一个程序可以包含多个源文件B.一个源文件中只能有一个类C.一个源文件中可以有多个公共类D.一个源文件只能供一个程序使用[答案]:A96.定义一个类,必须使用的关键字是( ).A.publicB.classC.intexxxceD.static[答案]:B97.下列类定义中,不正确的是( ).A.class x { .... }B.class x extends y { .... }C.static class x implements y1,y2 { .... }D.public class x extends Applet { .... }[答案]:C98.关于类和对象的叙述正确的是:( ).A.Java的类分为两大部分:系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化[答案]:A99.Java中().A.一个子类可以有多个父类,一个父类也可以有多个子类B.一个子类可以有多个父类,但一个父类只可以有一个子类C.一个子类可以有一个父类,但一个父类可以有多个子类D.上述说法都不对[答案]:C100.关于构造函数的说法哪个正确?( ).A.一个类只能有一个构造函数B.一个类可以有多个不同名的构造函数C.构造函数与类同名D.构造函数必须自己定义,不能使用父类的构造函数[答案]:C101.以下叙述正确的是( ).A.构造方法必须是public方法B.main方法必须是public方法C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型[答案]:B102.设i,j,k 为类x 中定义的int 型变量名,下列类x 的构造函数中不正确的是( ).A.x( int m){ ... }B.void x( int m){ ... }C.x( int m, int n){ ... }D.x( int h,int m,int n){ ... }[答案]:B103.不允许作为类及类成员的访问控制符的是( ).A.publicB.privateC.staticD.protected[答案]:C104.类的设计要求它的某个成员变量不能被外部类直接访问.应该使用下面的哪些修饰符获得需要的访问控制?( ).A.publicB.不加修饰符C.protectedD.private[答案]:D105.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( ).A.static void method( )B.public void method( )C.final void method( )D.abstract void method( )[答案]:A106.若需要定义一个类域或类方法,应使用哪种修饰符?( )A.staticB.packageC.privateD.public[答案]:A107.关于继承的说法正确的是:( ).A.子类将继承父类所有的属性和方法B.子类将继承父类的非私有属性和方法C.子类只继承父类public方法和属性D.子类只继承父类的方法,而不继承属性[答案]:B108.Java语言的类间的继承关系是( ).A.多重的B.单重的C.线程的D.不能继承[答案]:B109.抽象方法:( ).A.可以有方法体B.可以出现在非抽象类中C.是没有方法体的方法D.抽象类中的方法都是抽象方法[答案]:C110.定义一个接口必须使用的关键字是( ).A.publicB.classC.intexxxceD.static[答案]:C111.Java 语言中,只限子类或者同一包中的类的方法能访问的访问权限是().A.publicB.privateC.protectedD.<无修饰>[答案]:C112.下面的哪些叙述为真( ).A.equals()方法判定引用值是否指向同一对象.B.== 操作符判定两个分立的对象的内容和类型是否一致.C.equals()方法只有在两个对象的内容一致时返回true.D.类File重写方法equals()在两个分立的对象的内容和类型一致时返回false. [答案]:A113.在编写Java Applet程序时,需在程序的开头写上( )语句.A.import java.awt.* ;B.import java.applet.Applet ;C.import java.io.* ;D.import java.awt.Graphics ;[答案]:B114.MouseListener 接口不能处理的鼠标事件是().A.按下鼠标左键B.点击鼠标右键C.鼠标进入D.鼠标移动[答案]:D115.如果容器组件p的布局是BorderLayout,则在p中添加一个按钮b,应该使用的语句是( ).A.p.add(b);B.p.add(b,North);C.p.add(b,"South");D.b.add(p,"North");[答案]:C116.如果有一个对象myListener(其中myListener对象实现了ActionListener接口),下列哪条语句使得myListener对象能够接受处理来自于smallButton按钮对象的动作事件?A.smallButton.add(myListener);B.smallButton.addListener(myListener);C.smallButton.addActionListener(myListener);D.smallButton.addItem(myListener);[答案]:C117.如下哪个是Java中的标识符( )?A.publicB.superC.3numberD.width[答案]:D118.异常包含下列哪些内容?( )A.程序执行过程中遇到的事先没有预料到的情况B.程序中的语法错误C.程序的编译错误D.以上都是[答案]:A119.阅读以下代码:import java.io.*;import java.util.*;public class foo{public static void main (String[] args){String s;System.out.println("s=" + s);}}输出结果应该是:( ).A.代码得到编译,并输出"s="B.代码得到编译,并输出"s=null"C.由于String s没有初始化,代码不能编译通过D.代码得到编译,但捕获到NullPointException异常[答案]:C120.类Test1定义如下:1.public class Test1{2.public float aMethod(float a,floatb){ }3.4.}将以下哪种方法插入行3是不合法的.( )A.public float aMethod(float a, float b,float c){ }B.public float aMethod(float c,float d){ }C.public int aMethod(int a, int b){ }D.private float aMethod(int a,int b,int c){ }[答案]:B二、问答题1.写出以下程序的运行结果.public class Tom { private float weight; private static String name; public void setWeight(float weight) { this.weight = weight; }private void out() { System.out.println(name + "体重:" + weight + "斤"); }public static void main(String[] args) { = "汤姆猫"; Tom cat = new Tom(); cat.setWeight(20); cat.out(); }}[答案]:汤姆猫体重:20.0斤[一级属性]:[二级属性]:[难度]:[公开度]:2.简述Java中异常处理的机制?[答案]: 首先Java的异常是面向对象的.一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里. Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally. 1.异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成.其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等.不管try块中的代码如何退出,都将执行finally块. 2.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者.Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个.[一级属性]:[二级属性]:[难度]:[公开度]:3.写出以下程序的运行结果.public class Father { String name, address, tel; int age; public Father(String name, int age) { = name; this.age = age; } void out() { System.out.print("姓名:" + name); System.out.print(" 年龄:" + age); } void outOther() { System.out.print(" 家庭住址:" + address); System.out.print(" 电话:" + tel); }} class Son extends Father { String school;public Son(String name, int age) { super(name, age); } void out(){ super.out(); super.outOther(); System.out.println(" 学校:" + school); } public static void main(String args[]) { Son son = new Son("Tom", 15); son.address = "金水区"; son.school = "九中"; son.tel = "66123456"; son.out(); }}[答案]:姓名:Tom 年龄:15 家庭住址:金水区电话:66123456 学校:九中[一级属性]:[二级属性]:[难度]:[公开度]:4.什么是继承?[答案]:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系. [一级属性]:[二级属性]:[难度]:[公开度]:5.写出以下程序的运行结果.public class MyClass { int a[] = { 1, 2, 3, 4, 5 }; void out() { for (int j = 0; j < a.length; j++) System.out.print(a[j] + ""); }public static void main(String[] args) { MyClass my = new MyClass();my.out(); }}[答案]:12345[一级属性]:[二级属性]:[难度]:[公开度]:6.简述Java语言的特点.[答案]:简单性:Java风格类似于C++,但它摒弃了C++中容易引起程序错误的地方面向对象:Java语言的设计是完全面向对象分布式: 解释执行: 健壮性:Java提供自动垃圾回收机制,异常处理机制,进行严格的类型检查平台无关性: 安全性多线程动态性[一级属性]:[二级属性]:[难度]:[公开度]:。
01山东大学网络教育JAVA程序设计期末考试试题及参考答案
一.单选题(共10题,50.0分)
1
在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( )语句。
•A、import java.awt.* ;
•B、import java.applet.* ;
•C、import java.io.* ;
•D、import java.awt.event.* ;
我的答案:D得分:5.0分
2
关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是()•A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
•B、可以被两种类访问和引用:该类本身、该类的所有子类
•C、只能被该类自身所访问和修改
•D、只能被同一个包中的类访问
我的答案:B得分:5.0分
3
Java application中的主类需包含main方法,main方法的返回类型是什么?()•A、int
•B、float
•C、double
•D、void
我的答案:D得分:5.0分
4
. 容器Panel和Applet缺省使用的布局编辑策略是()
•A、FlowLayout
•B、BorderLayout
•C、GridLayout
•D、CardLayout
我的答案:A得分:5.0分。
山东大学模拟题 程序设计-答案
程序设计一、程序阅读题,写出程序的输出结果1.main(){int i=3while(i<10)){if(i<6){i+=2;continue;}elseprintf(“%d”,++i);}}_____________8910______。
2.main(){int i=3while(i<10)){if(i<6){i+=2;continue;}elseprintf(“%d”,++i);}}_____________8910______。
3.#include “stdio.h”main(){int i, j;i=j=2;if(i==1)if(i==2)printf(“%d”,i=i+j);elseprintf(“%d”,i=i-j);printf(“%d”,i);}____________2_______。
二、填空题:4.写出满足下列条件的表达式:a和b都不小于c_____a>=c&&b>=_c_________。
5.表达式10+16%3的值为______15_____。
6.下面函数的功能是求1到n的和请把程序补充完整。
long sum( int n){ int i;_____int s=0;_______for(i=1;i<=n;i++)______s+=i;____________return s;}7.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为____0__。
8.有如下程序段int *p,a=10,b=1; p=&a; a=*p+b;执行该程序段后,a的值为11 。
9.以下程序的输出结果为 3 。
void main( ){ int i,j,a[ ]={1,2,3,4,5,6,7,8,9,10};int sum=0;for (i=0;i<10;i++)sum=sum+a[i];printf("%4d",sum);}10.若有定义int a[2][5],则整型数组a包含有10 个元素。
山东大学网络教育网络工程2008秋《JAVA程序设计》(B卷)试题加答案
山东大学网络教育网络工程2008秋《JAVA程序设计》(B卷)试题加答案第一篇:山东大学网络教育网络工程2008秋《JAVA程序设计》(B 卷)试题加答案《Java程序设计》模拟题一、选择题1.编译Java Applet 源程序文件产生的字节码文件的扩展名为(B)A、java B、class C、html D、exe 2.若需要定义一个类域或类方法,应使用哪种修饰符?(C)A、static B、package C、private D、public 3.什么是J2EE应用文件的扩展?(A)A、.warB、.jsC、.earD、.jar 4.main方法是Java Application 程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)A、public static void main()B、public static void main(String args[])C、public static int main(String [] arg)D、public void main(String arg[])5.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上(C)语句。
A、import java.awt.*;B、import java.applet.Applet;C、import java.io.*;D、import java.awt.Graphics;6.下列哪个方法不是HttpServlet类的方法?(C)A、Get()B、Post()C、Action()D、Put()7.以下方法中哪一个把被约束属性的值中的变化通知给所有的listener beans ?(B)A、void addPropertyChangeListener()B、PropertyChangeSupport()C、void firePropertyChange()D、removePropertyChangeListener()8.下列哪个是合法的Java标识符?(B)A、Tree&GlassesB、FirstJavaAppletC、_$theLastOneD、273.5 9.Java Application源程序的主类是指包含有(A)方法的类。
(完整版)《JAVA程序设计》(含答案)
《JA V A程序设计》练习题一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. javaB. .classC. htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A)。
A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( C )。
A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A)。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )5、关于选择结构下列哪个说法正确?( B )A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句6、while循环和do…while循环的区别是:( D)A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次7、关于for循环和while循环的说法哪个正确?( B)A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空8、下列修饰符中与访问控制无关的是( D)A.private B.publicC.protected D.final9、void的含义:( A)A.方法没有返回值B.方法体为空C.没有意义 D.定义方法时必须使用10、return语句:( C )A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象11、关于对象成员占用内存的说法哪个正确?( B)A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12、下列说法哪个正确?( C)A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D、属性必须是简单变量13、下列说法哪个正确?( A )A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14、关于方法main()的说法哪个正确?( C )A.方法main()只能放在公共类中B main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15、构造函数何时被调用?( A )A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16、抽象方法:( C )A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17、关于继承的说法正确的是:( B )A、子类将继承父类所有的属性和方法。
java程序设计期末考试模拟试题5及答案
《Java程序设计》模拟试题5一、选择题(3分/题,共10个,共30分)1.下列运算结果为1的是(A)8>>1(B)4>>>2(C)8<<1(D)4<<<2答案:B。
解析:4右移两位相当于连续两次除以2,等于1。
无论是4还是8,一定是右移操作才能变成1,故C、D 不选;8右移一位相当于除以2,A的结果为4,不选A。
2.多态的表现形式有()(A)重写(B)抽象(C)继承(D)封装答案:A。
解释:多态的表现形式有重载和重写;其他选项均不符合。
3.对于面向过程语言,Java特有的语法的是()。
(A)重载函数(B)重载操作符(C)声明,实现函数(D)继承一个类答案:D。
解析:A、B、C选项均可以用C语言实现。
4.Java中的final关键字,下列说法错误的是()。
(A)final可以用来修饰方法。
(B)private方法默认都是final类型的。
(C)final可以用来修饰类。
(D)final只能用来修饰变量,表示该变量是一个常量。
答案:D。
解析:final修饰的方法表示该方法不能被重写,故不选A;private的方法一定是final类型的,故不选B;final修饰的类中,方法都是final的,不能被子类重写,属性不一定是final 的,故不选C。
5.以下对继承的描述错误的是()。
(A)Java中子类只能继承单个父类。
(B)Java中子接口只能继承单个接口。
(C)Java中子类可以实现多个接口。
(D)当实例化子类时会先实例化父类。
答案:B。
解释:Java中接口可以继承多个接口。
其他选项均正确。
6.接口和抽象类描述错误的有()。
(A)抽象类没有构造函数(B)接口没有构造函数(C)抽象类不允许多继承(D)接口可以继承多个接口答案:A。
解释:抽象类不可以被实例化,但是有构造函数,执行一些初始化的操作;其它选项均正确。
7.以下描述正确的有()(A)方法的重写应用在一个类的内部(B)方法的重载与返回值类型无关(C)构造方法不能重载(D)构造方法可以重写答案:B。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JAVA程序设计》模拟题 A一.判断题1.Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(√)2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。
()3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
()4.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。
()5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法()6.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。
(√)7.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(√)8.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象。
()10.System类不能实例化,即不能创建System类的对象。
(√)11.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
(√)12.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
()13.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(√)14.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。
(√)15.所有的鼠标事件都由MouseListener监听接口的监听者来处理(√)二.单项选择题1.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。
A、import java.awt.* ;B、import java.applet.* ;C、import java.io.* ;D、import java.awt.event.* ;2. 关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( c )A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问3. Java application中的主类需包含main方法,main方法的返回类型是什么?( d )A、intB、floatC、doubleD、void4. 设有下面两个类的定义:class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分String name; // 姓名 int getScore(){} return score;}}则类Person和类Student的关系是( b )。
A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误5 . 容器Panel和Applet缺省使用的布局编辑策略是( c )A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout6. 执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( a )A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空7. 编译并运行以下程序,以下描述哪个选项是正确的( a )1. class X{2. protected String toString(){3. return super.toString();}4. }A、编译通过运行无异常B、编译通过但运行时出错、C、行2出错,不能成功编译D、不能成功编译,行3出错8. 以下哪个不是Java的关键字?( a )A、FALSEB、constC、thisD、void9. 有程序如下,关于程序的描述哪个是正确的?( c )public class Person{static int arr[] = new int[10];public static void main(String a[]){ System.out.println(arr[0]); }}A、编译将产生错误B、编译时正确,但运行时将产生错误C、正确,输出0D、正确,输出null10. 以下声明合法的是( b )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )11. 关于以下application的说明,正确的是( c )1. class StaticStuff2. {3. static int x=10;4. static { x+=5;}5. public static void main(String args[ ]){6. System.out.println(“x=” + x);7. }8. static { x/=3;}9. }A、4行与8行不能通过编译,因为缺少方法名和返回类型B、8行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=312. 在使用interface声明一个接口时,只可以使用( a )修饰符修饰该接口。
A、publicB、protectedC、private protectedD、private13. 关于以下程序代码的说明正确的是( d )class HasStatic{private static int x=100;public static void main(String args[ ]){HasStatic hs1=new HasStatic( );hs1.x++;HasStatic hs2=new HasStatic( );hs2.x++;hs1=new HasStatic( );hs1.x++;HasStatic.x- -;System.out.println(“x=”+x);}}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10214. 关于以下程序段,正确的说法是( c )1. String s1=”abc”+”def”;2. String s2=new String(s1);3. if(s1= =s2)4. System.out.println(“= = succeeded”);5. if (s1.equals(s2))6. System.out.println(“.equals() succeeded”);A、行4与行6都将执行B、行4执行,行6不执行C、行6执行,行4不执行C、行4、行6都不执行15. 以下说法哪项是正确的( a )class MyListenerextends MouseAdapter implements MouseListener{public void mouseEntered(MouseEvent mev){System.out.println("Mouse entered."); }}A、以上代码可通过编译B、不能通过编译,因为没有实现MouseListener接口中的所有方法C、不能通过编译,因为类头定义不能分行D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常三.程序阅读题1.阅读以下程序:import java.io.*;public class AboutFile{public static void main(String[ ] args){BufferedReader b=new BufferedReader (new InputStreamReader(System.in));String s;System.out.flush();s=b.readLine();System.out.println(“String is:”+s);}}运行以上程序,若从键盘输入:JAVA<回车>则输出结果为________String is:JAVA____________。
2.阅读以下程序,输出结果为_______________ 1 2 3___________________。
class C1 {C1 () {System.out.print ("1 "); }}class C2 extends C1 {C2() {System.out.print ("2 "); }}public class C3 extends C2 {C 3() {System.out.println("3 "); }public static void main(String[] args) {C3 c = new C3( ); }}3.阅读以下程序,输出结果为______________3____________________。
import java.io.*;public class ATest{public static void main(String args[]) {SubClass sb = new SubClass( );System.out.println(sb.add( ));} }class SuperClass{int a = 1 , b = 2 ;}class SubClass extends SuperClass{int add( ) { return a+b; }}4.以下程序段的输出结果为____ Value is two_value is 2_____________________。
int j=2;switch ( j ) {case 2:System.out.print(“Value is two.”);case 2+1 :System.out.println(“Value is three.”);break;default:System.out.println(“value is “+j);break;}5.阅读以下程序:class AExample{public static void main(String[ ] args){String s, s1=””;char c;s=args[0];for( int i=0; i<s.length(); i++){c=s.charAt(i);if(c>=’a’&&c<=’z’)s1=s1+Character.toUpperCase(c);if(c>=’A’&&c<=’Z’)s1=s1+Character.toLowerCase(c);}System.out.println(s1);}若在命令行输入以下命令:java AExample helloWORLD<回车>则程序的输出为__________________________________。