Java面向对象程序设计试卷(七)(含答案)
- 格式:doc
- 大小:67.50 KB
- 文档页数:29
1.选择题(1)下列说法中错误的是()A.对Swing构件只能设置一个边框B.Swing构件能建立组合边框或自己设计边框C.在Swing构件中,按钮可以使用图标修饰D.Swing构件支持键盘代替鼠标的操作(2)向容器添加新构件的方法是(A)A. add( )B. insert( )C. fill( )D. set( )(3)关于布局管理器LayoutManager,下列说法中正确的是(D)A.布局管理器是用来部署Java应用程序的网上发布的youtManager本身不是接口C.布局管理器是用来管理构件放置在容器中的位置和大小的D.以上说法都不对(4)JTextField类提供的GUI功能是(A)A.文本区域 B.按钮 C.文本字段 D.菜单(5)将GUI窗口划分为东、西、南、北、中五个部分的布局管理器是(D)A.FlowLayout B.GridLayout C. BoxLayout D. BorderLayout(6)关于Panel,下列说法中错误的是(D)A. Panel可以作为最外层的容器单独存在B. Panel必须作为一个构件放置在其他容器中C. Panel可以是透明的,没有边框和标题D. Panel是一种构件,也是一种容器2.填空题(1)( BorderLayout )包括5个明显的区域:东、南、西、北、中。
(2)Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和(Swing)开发包来体现。
(3)可以使用setLoaction( )、setSize( )或(setBounds( ) )中的任何一种方法设置组件的大小或位置。
(4)( GridLayout )布局管理器使容器中各个构件呈网格布局,平均占据容器空间。
(5)框架的默认布局管理器( BorderLayout)。
3.编程题(1)制作如图7-20所示的登录界面。
图7-20package com.zhouzhou;import java.awt.*;import javax.swing.*;public class Demo11 extends JFrame {// 定义组件JPanel jp1, jp2, jp3;JLabel jlb1, jlb2;JButton jb1, jb2;JTextField jtf1;JPasswordField jpf1;public static void main(String[] args) {// TODO Auto-generated method stubDemo11 d1 = new Demo11();}// 构造函数public Demo11() {jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();jlb1 = new JLabel("用户名");jlb2 = new JLabel("密码");jb1 = new JButton("登录");jb2 = new JButton("取消");jtf1 = new JTextField(10);jpf1 = new JPasswordField(10);// 设置布局管理(上面忘记:extends JFrame,这里出错了) this.setLayout(new GridLayout(3, 1));// 加入各个组件jp1.add(jlb1);jp1.add(jtf1);jp2.add(jlb2);jp2.add(jpf1);jp3.add(jb1);jp3.add(jb2);// 加入到JFramethis.add(jp1);this.add(jp2);this.add(jp3);this.setSize(250, 150);this.setTitle("登录");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}}(2)制作如图7-21所示的选择界面。
《JAVA程序设计》期末考试试题(七)一、选择题请说出下列代码的执行结果 : (B)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. 什么结果都不输出下列有关 Java 中接口的说法哪个是正确的?(B)A. 接口中含有具体方法的实现代码B. 若一个类要实现一个接口,则用到“implements”关键字C. 若一个类要实现一个接口,则用到“ extends ”关键字D. 接口不允许继承下列代码的执行结果是什么? (B)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”.如果有一个对象 myListener ( 其中 myListener 对象实现了 ActionListener 接口 ), 下列哪条语句使得 myListener 对象能够接受处理来自于 smallButton 按钮对象的动作事件 ? ©A. smallButton.add(myListener);B. smallButton.addListener(myListener);C. smallButton.addActionListener(myListener);D. smallButton.addItem(myListener);二.读程序题读下列代码,说出这段程序的功能。
import java.io.;public class Test{public static void main( String [] argv) {try {BufferedReader is =new BufferedReader( new InputStreamReader(System.in));String inputLine;While ((inputLine = is.readLine ())!= null) {System.out.println(inputLine);}is.close();}catch (IOException e) {System.out.println("IOException: " + e);}}}答案:读取键盘输入,显示到屏幕上,直到键盘输入为空为止。
《面向对象程序设计(Java)》机试题库(含答案)1.编写一个字符界面的Java Application 程序,接受用户从键盘输入的一个正整数,然后统计并输出从1到这个正整数的累加和。
2.编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
3.编写一个完整的Java Applet 程序使用复数类Complex验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i 。
复数类Complex必须满足如下要求:(1)复数类Complex 的属性有:RealPart : int型,代表复数的实数部分ImaginPart : int型,代表复数的虚数部分(2)复数类Complex 的方法有:Complex( ) : 构造函数,将复数的实部和虚部都置0Complex( int r , int i ) : 构造函数,形参r 为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String ToString( ) : 把当前复数对象的实部、虚部组合成a+bi 的字符串形式,其中a 和b 分别为实部和虚部的数据。
4.编写一个学生类Student ,要求:(1) 学生类Student 属性有:id : long型,代表学号name : String类对象,代表姓名age : int型,代表年龄sex : boolen型,代表性别(其中:true表示男,false表示女)phone : String类对象,代表联系电话(2) 学生类Student的方法有:Student(long i , String n , int a , boolean s , long p): 有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。
java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。
2. 描述Java中的继承是如何工作的,并给出一个继承的例子。
3. 解释Java中的多态性,并给出一个多态性的例子。
三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。
2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3. 创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。
答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。
面向对象编程的主要特点包括封装、继承和多态。
封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。
继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。
多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。
面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。
通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。
2. 试题二题目:什么是类?请简要描述类的特点和组成部分。
答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。
类是用来创建对象的蓝图,可以通过实例化类来创建对象。
类的特点包括了封装、继承和多态。
类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。
继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。
多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。
类的组成部分包括了属性(Field)和方法(Method)。
属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。
方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。
3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。
答案:传值和传引用是在方法调用时,参数传递的两种方式。
面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。
4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。
每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。
5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。
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。
面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。
A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。
2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。
它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。
4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。
5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。
B、List集合的特点是元素有序、元素可重复。
C、Set集合的特点是元素无序并且不可重复。
D、集合存储的对象必须是基本数据类型。
正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。
6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。
程序设计(期末考试试题及答案)JAVA面向对象面向对象程序设计一、单选择题1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A.javaB..classC.htmlD..exe2、不允许作为类及类成员的访问控制符的是(C)。
A.publicB.privateC.staticD.Protected3、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。
A.3B.3.5C.4D.54、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A.static void method()B.public void method()C.final void method()D.abstract void method()5、下列属于容器的组件有:(B)A.JButton B.JPaneC.Canvas D.JTextArea6、v oid的含义:(C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值 D.方法的返回值不能参加算术运算7、关于Java中异常的叙述正确的是:(D)A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)A.longB.sizeofC.instanceofD.Const9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener10、以下有关类的继承的叙述中,正确的是:(D)A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
JAVA语言基础内部测试题一.单项选择题(请选择最符合题目要求的答案)(每题2分)1.当线程因异常而退出run()后,其所处状态为()A.阻塞状态 B。
运行状态 C、就绪状态D、结束状态2.wait()方法首先是哪个类的方法?()A. ObjectB. Thread.C. RunnableD. File3.如果在关闭socket时发生一个I/O错误,会抛出()。
A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin4.用read()方法读取文件内容时,判断文件结束的标记为()A. 0B. 1 C -1 D. 无标记5.以下哪个方法只对使用了缓冲的流类起作用?()A. read()B. write() C skip() D. flush()6.Java提供的那个类来进行有关Internet地址的操作.( )A. SocketB.ServerSocketC. DatagramSocket D InetAddress7.InetAddress类中哪个方法可实现正向名称解析?()A. isReachable()B. getHostAddress()C. getHosstName()D.getByName()8.为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息()A.getPort()B.getHostC.openStream()D.openConnection()9.java程序中,使用TCP套接字编写服务端程序的套接字类是()A. SocketB. ServerSocketC. DatagramSocketD.DatagramPacket10.ServerSocket的监听方法accept()的返回值类型是()A. voidB. ObjectC. SocketD. DatagramSocket11.ServerSocket的getInetAddress()的返回值类型是()A. Socket B ServerSocket C.InetAddress D,.URL12.当使用客户端套接字Socket创建对象时,需要指定()A.服务器主机名称和端口 B、服务器端口和文件C、服务器名称和文件D.服务器地址和文件13.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法()A.getInetAddress() B. getLocalPort()C.getOutputStream()D.getInputStream()14.使用UDP套接字通信时,常用哪个类把要发送的信息打包?()A. StringB. DatagramSocketC. MulticastSocketD.DatagramPacket15.使用UDP套接字通信时,哪个方法用于接收数据()A. read()B. receive()C. accept()D. Listen()16.若要取得数据包的中源地址,可使用下列哪个语句()?A. getAddress() B. getPort() C. getName() D.getData()17.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()18.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()19.java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()20.java程序与数据库连接后,需要更新某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()二.多项选择题(所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分)(每题2分)1.用Statement对象执行一条新增数据到数据表的语句,可以用以下那些函数完成()A.executeQuery()B.executeUpdate()C.execute()D.close()2.以下那些类创建的对象可以用来执行SQL语句,完成对数据库的新增,修改,删除和查询数据等操作( )A.ConnectionB.ResultSetC.StatementD.PreparedStatement3.以下关于TCP(Transfer Control Protocol) 传输控制协议说法正确的是()A.基于连接的高可靠性传输协议 B. 可以保证数据准确的按顺序到达目的地C. 以流的方式传输数据D. 数据包的大小限制在64K以下4. 以下关于UDP(User Datagram Protocol)用户数据报协议说法正确的是()A. 基于连接的高可靠性传输协议B. 基于无连接的协议C.不会在发送数据之前建立连接,不管传输正确与否,也不保证数据包的正确次序D. 可以广播的方式发送数据,数据包的大小限制在64K以下5. 下列说法错误的有()A、Java面向对象语言容许单独的过程与函数存在B、Java面向对象语言容许单独的方法存在C、Java语言中的方法属于类中的成员(member)D、Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同6. createStatement(int type ,int concurrency)的参数说明:type 参数设置ResultSet 对象中的指针是否能够上下自由移动;可选值为()A. TYPE_FORWARD_ONLY: 只能使用next方法向下移动指针B. TYPE_SCROLL_SENSITIVE: 能够上下移动,且能得到临时修改后的数据库值C. TYPE_SCROLL_INSENSITIVE:能可上下移动,只能得到当前查询的值D.CONCUR_READ_ONLY: ResultSet对象对结果集只能读7.以下关于connection对象提供的方法描述正确的是()A.setAutoCommit(boolean autoCommit) 设置操作是否自动提交到数据库B. commit( ) 提交对数据库的更改,使更改生效C. rollback( ) 回滚当前执行的操作D. isclose( ) 判断连接是否关闭8.PreparedStatement对象可以执行已经预编译过的sql语句,其sql执行效率比Statement对象的执行效率更高,以下描述正确的是()A.可以在执行过程中向该对象中的sql语句传递参数B.对于sql中每个输入参数都保留一个问号“?”作为占位符C.每个?占位符的值必须在该语句执行前被赋值D. 每个?占位符的值可以在该语句执行后被赋值9. 下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法10.关于逻辑操作(&,|,^)与条件操作(&&,||)的说法正确的是()A.条件操作只能操作布尔型的B.逻辑操作不仅可以操作布尔型,而且可以操作数值型C.逻辑操作不会产生短路D.条件操作不会产生短路三.填空题(每空一分,10分)1.网络连接中合法端口的范围是 0 到 65535 ,其中 0~1023 范围的端口为给系统的网络服务与应用预留的2.取得当前线程的语句是: Thread.currrentThread() ;3.可以调用 Thread 类的方法 getPriority()和 setPriority() 来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是 NORM_PRIORITY4. InetAddress 是用于封装IP地址和DNS的一个类。
《面向对象程序设计(Java)》经典编程集(共60题,含答案)/*一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?第5次反弹多高?*//*输出7*7口诀*//*求1+2!+3!+...+10!的和*//*有5个人坐在一起,问第五个人多少岁?他说比第4个人大3岁。
问第4个人岁数,他说比第3个人大3岁。
问第三个人,又说比第2人大3岁。
问第2个人,说比第一个人大3岁。
最后问第一个人,他说是10岁。
请问第五个人多大? *//*求0--7所能组成的6位的奇数个数是多少个*//*有1、2、3、4、5、6、7、8、9个数字,能组成多少个互不相同且无重复数字的四位数?程序分析:可填在千位、百位、十位、个位的数字都是1、2、3、4、5、6、7、8、9。
组成所有的排列后再去掉不满足条件的排列。
*//*一个整数,它加上1000后是一个完全平方数,再加上1680又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上1000后再开方,再将该数加上2680后再开方,如果开方后的结果满足如下条件,即是结果。
请看具体分析*//*利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,80-89分之间的用B表示,70-79分之间的用C表示,60-69分之间用D表示,60分以下的用E表示。
(假定输入数字为95,判断等级)*//*题面:编写程序解决如下问题,小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,求可以有多少种不同的借法?将结果打印输出*//*题面:编写程序解决如下问题,某人将一缸金鱼分5次出售,第一次卖出全部的一半加二分之一条;第二次卖出余下的三分之一加三分之一条;第三次卖出余下的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条;最后卖出余下的11条。
问原来的鱼缸中共有几条金鱼?将结果打印输出*//*题面:编写程序,一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码正好相反,求这个三位数,以十进制输出。
面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。
2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。
3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。
4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。
5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。
6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。
7. 请解释类(Class)与对象(Object)之间的关系。
8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。
9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。
二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。
2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。
(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。
(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。
(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。
3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。
封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。
(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。
(3)降低模块之间的耦合度,提高代码的灵活性。
4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。
满分:100 分姓名:班级:学号:1. 填空题 ( 5.0 分 )面向对象三大特征______ ______ ______正确答案:封装继承多态2. 填空题 ( 5.0 分 )使用static 修饰的变量称为静态变量,静态变量可以有两种访问方式,分别是对象名.静态变量名和______正确答案:类名.静态变量名3. 单选题 (4.0 分 )下面关于java 中类的说法哪个是不正确的A. 构造函数是类中的特殊方法B. 类一定要声明为public 的,才可以执行C. 在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)D. 一个java 文件中可以有多个class 定义(但只能有一个public 修饰的类)正确答案:B4. 单选题 ( 4.0 分 )关于类中可以包含的内容,如下说法错误的是()A. 类中可以包含属性和方法B. 类中可以直接包含代码块C. 类中可以嵌套定义类D. 类中不能包含其他类正确答案:D5. 单选题 ( 4.0 分 )构造方法是否可被重写和重载()A. 不能重写,可以重载B. 可以重写,不能重载C. 不能重写,不能重载D. 可以重写,可以重载正确答案:A6. 单选题 ( 4.0 分 )关于封装的好处,以下错误的是()A. 隐藏实现的细节B. 方便修改的实现C. 只能通过规定方法访问D. 实现代码复杂化正确答案:D7. 单选题 ( 4.0 分 )在Java 中,下面描述正确的是()A. 一个子类可以有多个父类,一个父类也可以有多个子类B. 一个子类可以有多个父类,但一个父类只可以有一个子类C. 一个子类只可以有一个父类,但一个父类可以有多个子类D. 以上说法都不对正确答案:C8. 单选题 ( 4.0 分 )Java 语言的类间的继承关系是A. 多重的B. 单继承C. 线程的D. 不能继承正确答案:B9. 单选题 ( 4.0 分 )以下关于this 和super 关键字的说法错误的是()A. this 关键字指向当前对象自身,super 关键字指向当前对象的直接父类B. 在main 方法中可以存在this 或者super 关键字,但不能同时存在。
java面向对象试题及答案一、单选题(每题2分,共10分)1. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A3. 下列哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. static答案:D4. 在Java中,哪个关键字用于实现多态?A. abstractB. finalC. staticD. interface答案:A5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B二、多选题(每题3分,共15分)1. 在Java中,下列哪些关键字用于定义一个类的方法?A. publicB. privateC. protectedD. static答案:A, B, C, D2. 下列哪些关键字用于实现类的继承?A. extendsB. implementsC. abstractD. final答案:A3. 在Java中,下列哪些关键字用于定义类的成员变量?A. privateB. publicC. protectedD. static答案:A, B, C, D4. 下列哪些关键字用于定义类的构造方法?A. constructorB. thisC. newD. super答案:B, D5. 在Java中,下列哪些关键字用于定义接口的常量?A. privateB. publicC. staticD. final答案:B, C, D三、判断题(每题2分,共10分)1. Java中,一个类可以继承多个类。
(错误)2. Java中,接口可以继承接口。
(正确)3. Java中,一个类可以继承多个接口。
《JAVA面向对象程序设计》练习题参考答案《java面向对象程序设计》练习题-参考答案《java语言程序设计》练习题1一、单选择题1、编译javaapplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
a..javab..classc..htmld..exe2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
a.3b.3.5c.4d.53、不容许做为类及类成员的出访控制符的就是()。
a.publicb.privatec.staticd.protected4、为ab类的一个无形式参数无返回值的方法method书写方法头,使得使用类名ab作为前缀就可以调用它,该方法头的形式为()。
a.staticvoidmethod()b.publicvoidmethod()c.finalvoidmethod()d.abstractvoidmethod()5、给定java代码如下,编译运行后,输出结果是()(选择一项)。
publicclasstest{staticinti;publicintamethod(){i++;returni;}publicstaticvoidmain(stringargs[]){testtest=newtest();test.amethod();system.out.println(test.amethod());}}a)0b)1c)2d)3二、填空题1、研发与运转java程序须要经过的三个主要步骤为编辑源程序、编程分解成字节码点和表述运转字节码。
2、在java的基本数据类型中,char型采用unicode编码方案,每个unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
3、设x=2,则表达式(x++)/3的值就是0。
14、若x=5,y=10,则x<y和x>=y的逻辑值分别为true和false。
Java面向对象程序设计试卷(七)一、选择题1、根据java标识符命名规则和风格约定,下面哪一个标识符是类名?A、XxxYyyB、xxxYyyC、XXXYYYD、xxxyyy2、下列变量定义语句中不正确的是:A、byte d = 312;B、short d = 312;C、int d = 1+’C’;D、long d = 312;3、下列数组的定义语句中不正确的是:A、 int grade[][] = new int[10][10];B、 int grade[][] = new int[][10];C、 int [][]grade = new int[10][10];D、 int []grade[] = new int[10][10];4、下列说法中,哪一个是正确的?A、抽象类中定义的方法一定是抽象的。
B、抽象类中一定存在抽象的方法。
C、抽象类中可以没有抽象方法。
D、抽象类的子类一定要实现抽象类中的抽象方法。
5、关于方法的重载,下列说法哪一个是正确的?A、方法的重载是指一个类中多个方法使用相同的名字,但参数不同。
B、方法的重载是指一个类中多个方法使用相同的名字,且参数相同。
C、方法的重载是指子类和父类中两个方法使用相同的名字,但参数不同。
D、方法的重载是指子类和父类中两个方法使用相同的名字,且参数相同。
6、假定有程序段:class SupperClass{public int addValue( int a, int b) { return a+b; }}class SubClass extends SuperClass{int value;//此处插入代码}下述哪个方法可以插入到类SubClass中而不会出现编译错误?A、int addValue( int a, int b ){return a+b+1;}B、public long addValue (int a, int b ){value=a+b+1; }C、protected int addValue(int a, int b ){return a+b+1;}D、public int addValue( int a, int b ) {return a+b+1;}7、若编译和运行下列代码,其结果将是class Circle {double radius=1;public Circle(double r){radius = r;}public double area( ){return 3.14*radius*radius;}}public class MyTest{public static void main(String args[]) {Circle c1=new Circle();System.out.println(c1.area());}}A、3.14B、0C、编译出错D、以上答案都不对8、下列说法中,不正确的是A、一个java源程序文件中,只能有一个public类。
java面向对象试题及答案# Java面向对象试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. enum- D. package答案:A2. 以下哪个是Java中的继承特性?- A. 一个类可以继承多个类- B. 类可以继承接口- C. 接口可以继承类- D. 接口可以继承多个接口答案:D3. 以下哪个是Java中封装的体现?- A. 使用public关键字- B. 使用private关键字- C. 使用static关键字- D. 使用final关键字答案:B4. 在Java中,哪个关键字用于实现多态?- A. abstract- B. final- C. override- D. implements答案:C5. 以下哪个是Java的构造方法的特点?- A. 可以有返回类型- B. 可以有多个同名的构造方法- C. 必须有返回类型- D. 必须与类名相同答案:D二、简答题1. 简述面向对象编程的三大特性,并给出Java中的例子。
面向对象编程的三大特性是封装、继承和多态。
- 封装:封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。
例如,在Java中,可以通过使用private关键字来隐藏类的成员变量,只通过public方法来访问这些变量。
- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。
例如,如果有一个`Animal`类,可以创建一个`Dog`类继承`Animal`类。
- 多态:多态允许同一个接口接受不同的数据类型。
在Java中,可以通过重写父类的方法来实现多态。
例如,`Animal`类有一个`makeSound()`方法,而`Dog`类可以重写这个方法来发出狗的叫声。
2. 解释Java中的接口和抽象类的区别。
接口和抽象类都是Java中实现抽象化的方式,但它们有以下区别: - 接口可以包含抽象方法和默认方法,但不能有具体实现。
Java面向对象程序设计试卷(七)一、选择题1、根据java标识符命名规则和风格约定,下面哪一个标识符是类名?A、XxxYyyB、xxxYyyC、XXXYYYD、xxxyyy2、下列变量定义语句中不正确的是:A、byte d = 312。
B、short d = 312。
C、int d = 1+’C’。
D、long d = 312。
3、下列数组的定义语句中不正确的是:A、 int grade[][] = new int[10][10]。
B、 int grade[][] = new int[][10]。
C、 int [][]grade = new int[10][10]。
D、 int []grade[] = new int[10][10]。
4、下列说法中,哪一个是正确的?A、抽象类中定义的方法一定是抽象的。
B、抽象类中一定存在抽象的方法。
C、抽象类中可以没有抽象方法。
D、抽象类的子类一定要实现抽象类中的抽象方法。
5、关于方法的重载,下列说法哪一个是正确的?A、方法的重载是指一个类中多个方法使用相同的名字,但参数不同。
B、方法的重载是指一个类中多个方法使用相同的名字,且参数相同。
C、方法的重载是指子类和父类中两个方法使用相同的名字,但参数不同。
D、方法的重载是指子类和父类中两个方法使用相同的名字,且参数相同。
6、假定有程序段:class SupperClass{public int addValue( int a, int b) { return a+b。
}}class SubClass extends SuperClass{int value。
//此处插入代码}下述哪个方法可以插入到类SubClass中而不会出现编译错误?A、int addValue( int a, int b ){return a+b+1。
}B、public long addValue (int a, int b ){value=a+b+1。
}C、protected int addValue(int a, int b ){return a+b+1。
}D、public int addValue( int a, int b ) {return a+b+1。
}7、若编译和运行下列代码,其结果将是class Circle {double radius=1。
public Circle(double r){radius = r。
}public double area( ){return 3.14*radius*radius。
}}public class MyTest{public static void main(String args[]) {Circle c1=new Circle()。
System.out.println(c1.area())。
}}A、3.14B、0C、编译出错D、以上答案都不对8、下列说法中,不正确的是A、一个java源程序文件中,只能有一个public类。
B、一个java源程序文件中,只能有一个package语句。
C、一个java源程序文件中,可以有多个import语句。
D、一个java源程序文件中,只能有一个类中可以有main方法。
9、下列说法中不正确的是A、如果一个方法中定义的变量名与该方法所在类的成员变量同名,则在该方法中无法访问同名的类成员变量。
B、在java接口中定义的方法一定是抽象方法。
C、java接口中不能定义变量。
D、java接口没有构造方法。
10、下列说法中正确的是 ( )A、JFrame对象能够被加入到另一个JFrame对象中。
B、JFrame对象能够被加入到JPanel对象中。
C、JPanel对象能够被加入到另一个JPanel对象中。
D、JFrame对象能够被加入到JApplet对象中。
11、有下列程序public class MyTest{public static void main(String [] args){try{int a1=Integer.parseInt(args[0])。
int a2=Integer.parseInt(args[1])。
int result=a1/a2。
System.out.println("运算结果:" + result)。
}catch(ArrayIndexOutOfBoundsException e){System.out.println("下标越界")。
return 。
}catch(ArithmeticException e){System.out.println("除数为零")。
}catch(Exception e){System.out.println("捕获了异常")。
}finally{System.out.println("进入Finally语句块")。
}}}该程序编译后,执行java MyTest 10 10 ,则运行的结果为A、运所结果:1进入Finally语句块B、下标越界C、除数为零D、捕获了异常注:(对try catch语句,即使前面符合条件的catch中有return语句,也会进入finally,之后再执行return)12、关于异常,以下说法正确的是A、所有异常类都是Throwable类的子类。
B、Error类是Exception的子类。
C、在catch语句中,异常类的排列次序无关紧要。
D、运行时异常无法捕获。
13、有下列程序class TestException{class MyException extends Exception { }public void testMethod() throws MyException {}public void test(){testMethod()。
}}在public void test( ) 后加上哪一句可以使编译不出错。
A、throw MyExceptionB、throws MyExceptionC、throw new MyException()D、throws new MyException()14、下列哪一段代码能够删除文件file.txtA、File f=new File(“file.txt”)。
f.delete()。
B、RandomAccessFile f=new RandomAccessFile(“file.txt”,”rw”)。
f.delete()。
C、FileOutputStream f=new FileOutputStream(“file.txt”)。
f.remove()。
D、File f=new File(“file.txt”)。
File.delete(f)。
15、下面哪一个流属于过滤流A、InputStreamB、FileInputStreamC、DataInputStreamD、FileReader16、下列说法错误的是:A、TCP是面向连接的协议,而UDP是无连接的协议。
B、数据报传输是可靠的,可以保证包按顺序到达。
C、URL代表的统一资源定位符一共包括五个部分D、Socket和ServerSocket分别表示连接的Client端和Server端17、设有以下程序段class TestException{public static void main(String [] args){try{return。
}finally{System.out.println("finally")。
}}}程序编译并执行,其结果将是A、程序执行,但没有任何输出B、程序输出finallyC、程序编译时出错,提示缺少catchD、程序编译时出错,提示finally语句无法访问到。
18、FlowLayout布局管理器按照组件加入容器的次序从()到()排列组件。
A、上、下B、右、左C、左、右D、前、后19、有程序如下class SuperClass{private int i=10。
void printI(){System.out.println (i)。
}}class SubClass extends SuperClass {int i=20。
public void printA(){super.printI()。
}}class Test{public static void main(String [] args){SubClass c1=new SubClass()。
,。
c1.printA()。
}}编译并运行程序,其结果将是A、10B、20C、编译出错D、020、下面哪一种流可以用来输入字符A、InputStreamB、OutputStreamC、InputStreamReaderD、BufferedInputStream二、判断题(阅读每一句陈述,判断其正误。
在题后的括号中作相应的记号,正确的填入T,错误的填入F。
)1、接口可以被另一个接口继承。
(T)2、接口中只能定义符号常量和抽象方法。
(T)3、private方法不能被继承,但可以被覆盖。
(F)4、如果类A的一个方法m的访问权限是默认的,则m可以被同一个包中的其他类访问,也可以被其它包中A的子类访问。
(F)5、类的静态变量被该类的所有对象共享。
(T)6、所有的类都可以被继承。
(F)7、java中是单继承,但一个类可以实现多个接口。
(T)8、不管定义与否,任何类都有一个不带参数的构造方法。
(F)9、语句”double i=20.0f。
”在编译时不会引起错误。
(T)10、线程的sleep()方法是一个静态方法。
(T)三、程序阅读题。
1、仔细阅读下面的程序代码,编译和运行后,请写出该程序的输出结果。
class TestException{public static String toSeparateNumber(String number){String formatedNumber=""。
try{double n=Double.parseDouble(number)。
number=Double.toString(n)。
int i=number.indexOf('.')。
if (i>=0){formatedNumber=number.substring(i,number.length())。
i=i-1。
}else i=number.length()-1。
int k=0。
for (int j = i。
j>=0。
j--){formatedNumber=number.charAt(j)+formatedNumber。