2013最新整理Java练习题.pdf_第1页
2013最新整理Java练习题.pdf_第2页
2013最新整理Java练习题.pdf_第3页
2013最新整理Java练习题.pdf_第4页
2013最新整理Java练习题.pdf_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java Java 练习题练习题 一 一 填空题填空题 1 Java 语言具有许多优点和特点 下列选项中 哪个反映了 Java 程序并行机制的特点 B A 安全性 B 多线性 C 跨平台 D 可移植 2 下列哪个类声明是正确的 D A abstract final class HI B abstract private move C protected private number D public abstract class Car 3 下列关于 for 循环和 while 循环的说法中哪个是正确的 D A while 循环能实现的操作 for 循环也都能实现 B while 循环判断条件一般是程序结果 for 循环判断条件一般是非程序结果 C 两种循环任何时候都可替换 D 两种循环结构中都必须有循环体 循环体不能为空 4 异常包含下列那些内容 C A 程序中的语法错误 B 程序的编译错误 C 程序执行过程中遇到的事先没有预料到的情况 D 程序事先定义好的可能出现的意外情况 5 Character 流与 Byte 流的区别是 A 每次读入的字节数不同 B 前者带有缓冲 后者没有 C 前者是块读写 后者是字节读写 D 二者没有区别 可以互换使用 6 监听事件和处理事件 A 都由 Listener 完成 B 都由相应事件 Listener 处登记过的构件完成 C 由 Listener 和构件分别完成 D 由 Listener 和窗口分别完成 7 Applet 可以做下列那些操作 A 读取客户端文件 B 在客户端主机上创建新文件 C 在客户端装载程序库 D 读取客户端部分系统变量 8 下列哪个属于容器的构件 AD A JFrame B JButton C JPnel D JApplet 9 如果希望所有的控件在界面上均匀排列 应使用下列那种布局管理器 B A BoxLayout B GridLayout C BorderLayout D FlowLouLayout 10 为实现多线程之间的通信 需要使用下列那种流才合适 A Filter stream B File stream C Random access stream D Pipde stream 11 编译 Java Application 源程序文件将产生相应的字节码文件 这些字节码文件的 扩展名为 A A java B class C html D exe 12 设 x 1 y 2 z 3 则表达式 y z x 的值是 A A 3 B 3 5 C 4 D 5 13 在 Java Applet 程序用户自定义的 Applet 子类中 一般需要重载父类的 D 方法来完成一些画图操作 A start B stop C init D paint 14 不允许作为类及类成员的访问控制符的是 B A public B private C static D protected 15 为 AB 类的一个无形式参数无返回值的方法 method 书写方法头 使得使用类名 AB 作为 前缀就可以调用它 该方法头的形式为 A static void method B public void method C final void method D abstract void method 16 在 Java 中 所有类的根类是 A java lang Object B java lang Class C java applet Applet D java awt Frame 17 在 Java 中 用 Package 语句说明一个包时 该包的层次结构必须是 A 与文件的结构相同 B 与文件目录的层次相同 C 与文件类型相同 D 与文件大小相同 18 在读字符文件 Employee dat 时 使用该文件作为参数的类是 A BufferReader B DataInputStreamC DataOutoutStream D FileInputStream 19 下列构造方法的调用方式中 正确的是 A 按照一般方法调用 B 由用户直接调用 C 只能通过 new 自动调用 D 被系统调用 20 类 Panel 默认的布局管理器是 A GridLayout B BorderLayout C FlowLayout D CardLayout 21 在 Java 中 能实现多重继承效果的方式是 A 内部类 B 适配器 C 接口 D 同步 22 char 类型的取值范围是 A 2 7 27 1 B 0 216 1 C 215 215 1 D 0 28 1 23 能够支持 javadoc 命令的注释语句是 A B C D 24 十进制数 16 的 16 进制表示格式是 A 0 x10 B 0 x16 C 0 xA D 16 25 int 型 public 成员变量 MAX LENGTH 该值保持为常数 100 则定义这个变量的语句 是 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 27 下列方法中可以用来创建一个新线程的是 A 实现 java lang Runnable 接口并重写 start 方法 B 实现 java lang Runnable 接口并重写 run 方法 C 实现 java lang Thread 类并重写 run 方法 D 实现 java lang Thread 类并重写 start 方法 28 下列关于 Java Application 与 Applet 的说法中 正确的是 A 都包含 main 方法 B 都通过 appletviewer 命令执行 C 都通过 javac 命令编译 D 都嵌入在 HTML 文件中执行 29 当启动 Applet 程序时 首先调用的方法是 A stop B init C start D destroy 30 下列关于线程优先级的说法中 正确的是 A 线程的优先级是不能改变的 B 线程的优先级是在创建线程时设置的 C 在创建线程后的任何时候都可以设置 D B 和 C 31 当浏览器重新返回 Applet 所在页面时 将调用 Applet 类的方法是 A start B init C stop D destroy 32 按照 Java 的标识符命名规范 下列表示一个类的标识符正确的是 A Helloworld B HelloWorld C helloworld D helloWorld 33 下列代码中 将引起一个编译错误的行是 1 public class Test 2 int m n 3 public Test 4 public Test int a m a 5 public static void main String args 6 Test t1 t2 7 int j k 8 j 0 k 0 9 t1 new Test 10 t2 new Test j k 11 12 A 第 3 行 B 第 5 行 C 第 6 行 D 第 10 行 34 下列程序的功能是在监控台上每隔一秒钟显示一个字符串 Hello 能够填写在程序 中下划线位置 使程序完整并能正确运行的语句是 public class Test implements Runnable public static void main String args Test t new Test Thread tt new Thread t tt start public void run for try catch e System put println Hello A sleep 1000 InterruptedException B sleep 1000 InterruptedException C Thread sleep 1000 RuntimeException D Thread sleep 1000 InterruptedException 35 阅读下列代码后 public class Person int arr new int 10 public static void main String args System out println arr 1 正确的说法是 A 编译时将产生错误 B 编译时正确 运行时将产生错误 C 输出零 D 输出空 36 在 Java 中 负责对字节代码解释执行的是 A 垃圾回收器 B 虚拟机 C 编译器 D 多线程机制 37 下列叙述中 正确的是 A Java 语言的标识符是区分大小写的 B 源文件名与 public 类名可以不相同 C 源文件扩展名为 jar D 源文件中 public 类的数目不限 38 下列属于合法的 Java 标识符是 A cat B 5books C static D 3 14159 14 在 Java 中 表示换行符的转义字符是 A n B f C n D dd 39 在 Java 中 由 Java 编译器自动导入 而无需在程序中用 import 导入的包是 A java applet B java awt C java util D java lang 二 填空题二 填空题 1 对象串行化可以很容易地扩展成支持 Java 对象的 它提供了 对象从流中重建的补充方式 2 Vector 类的对象是通过 capacity 和 capacityIncrement 两个值来改变集 合的容量 其中 capacity 表示集合最多能容纳的 capacityIncrement 表示每次增加多少容量 不是一个一个增加 3 下列程序的功能是判断某一年是否为闰年 请在横线处填入适当内容 使程 序能够正确运行 import java io public class LeapYear public static void main String arge throws IOException InputStreamReader ir BufferdeReadwe in ir new InputStreamReader System in in new BufferedReader ir System out println 输入年份是 String s int year Integer parseInt s if year 4 0 else System out println year 年不是闰年 4 下面程序对数组中每个元素赋值 然后按逆序输出 请在横线处填入适当内 容 使程序能正常运行 import java io public class ArrayTest public static void main String args int i int a new int 5 for i 0 i 0 i System out println a i a i 5 下列程序的功能是 输入一个姓名 程序运行后 输出 姓名 Welcome you 例如 输入 张三 Welcome you 请在下面横线处填入正确的方法名 使程序可以正确运行 import java awt import java awt event public class welcomenYou public static void main String args new FrameInOut class FrameInOut extends Frame implements ActionListener Label prompt TextField input output Button btnn void FramInOut prompt new Label Please input your name input new TextField 10 output new TextField 25 btnn new Button Class new FlowLayout add prompt add input add output add btnn input addActionListener this btnn addActionListener this setSize 300 200 show public void actionperformed ActionEvent e if e getSource input output setText input getText Welcome you else dispose system exit 0 6 开发与运行 Java 程序需要经过的三个主要步骤为 和 7 如果一个 Java Applet 源程序文件只定义有一个类 该类的类名为 MyApplet 则类 MyApplet 必须是 类的子类并且存储该源程序文件的文件名为 8 如果一个 Java Applet 程序文件中定义有 3 个类 则使用 Sun 公司的 JDK 编译器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件 9 在 Java 的基本数据类型中 char 型采用 Unicode 编码方案 每个 Unicode 码占用 字节内存空间 这样 无论是中文字符还是英文字符 都是占用 字节内存空间 10 设 x 2 则表达式 x 3 的值是 11 若 x 5 y 10 则 x y 的逻辑值分别为 和 12 方法是一种仅有方法头 没有具体方法体和操作实现的方法 该方法必 须在抽象类之中定义 方法是不能被当前类的子类重新定义的方法 13 创建一个名为 MyPackage 的包的语句是 该语句应该放在程序的位置为 14 设有数组定义 int MyIntArray 10 20 30 40 50 60 70 则 执行以下几个语句后的输出结果是 int s 0 for int i 0 i MyIntArray length i if i 2 1 s MyIntArray i System out println s 15 在 Java 程序中 通过类的定义只能实现 重继承 但通过接口的定义可以 实现 重继承关系 16 Java 源文件中最多只能有一个 类 其它类的个数不限 17 在 Java 中所实现的多维数组 实际上是由一维数组构成的 18 StringBuffer 类提供 字符串对象的表示 19 每个 Applet 程序必须有一个类是 类的子类 20 线程在生命期中要经历 5 种状态 分别是新建状态 可运行状态 运行状态 状态和终止状态 21 FileInputStream 是字节流 BufferedWriter 是字符流 ObjectOutputStream 是 22 break 语句最常见的用法是在 switch 语句中 通过 break 语句退出 switch 语句 使程 序从整个 switch 语句后面的 开始执行 23 请阅读下列程序代码 然后将程序的执行结果补充完整 public class throwsException static void Proc int sel throws ArithmeticException ArrayIndexOutOfBoundsException System out println In Situation sel if sel 0 System out println no Exception caught return else if sel 1 int iArray new int 4 iArray 1 3 public static void main String args try Proc 0 Proc 1 catch ArrayIndexOutOfBoundsException e System out println Catch e finally System out println in Proc finally 执行结果 In Situation 0 no Exception caught in Proc finally 答案 In Situation 1 24 当使用 Thread t new Thread r 创建一个线程时 表达式 r instanceof Thread 的值为 银杏树 苏州美肤 苏州祛斑 苏州除皱 苏州脱毛 苏州人才网 南京调查公司 南京调查公司 三三 简答简答题题 1 String 是最基本的数据类型吗 答 答 基本数据类型包括 byte int char long float double boolean 和 short java lang String 类是 final 类型的 因此不可以继承这个类 不能修改这个类 为了提 高效率节省空间 我们应该用 StringBuffer 类 2 面向对象的特征有哪些方面 简述每个特征 3 int 和 Integer 有什么区别 答 答 Java 提供两种不同的类型 引用类型和原始类型 或内置类型 Int 是 java 的原始 数据类型 Integer 是 java 为 int 提供的封装类 Java 为每个原始类型提供了封装类 引 用类型和原始类型的行为完全不同 并且它们具有不同的语义 引用类型和原始类型具有不 同的特征和用法 它们包括 大小和速度问题 这种类型以哪种类型的数据结构存储 当引 用类型和原始类型用作某个类的实例数据时所指定的缺省值 对象引用实例变量的缺省值为 null 而原始类型实例变量的缺省值与它们的类型有关 4 String 和 StringBuffer 的区别 答 JAVA 平台提供了两个类 String 和 StringBuffer 它们可以储存和操作字符串 即包 含多个字符的字符数据 这个String类提供了数值不可改变的字符串 而这个StringBuffer 类提供的字符串进行修改 当你知道字符数据要改变的时候你就可以使用 StringBuffer 典型地 你可以使用 StringBuffers 来动态构造字符数据 5 运行时异常与一般异常有何异同 答 异常表示程序运行过程中可能出现的非正常状态 运行时异常表示虚拟机的通常操作中 可能遇到的异常 是一种常见运行错误 java 编译器要求方法必须声明抛出可能发生的非 运行时异常 但是并不要求必须声明抛出未被捕获的运行时异常 6 final finally finalize 的区别 答 final 用于声明属性 方法和类 分别表示属性不可变 方法不可覆盖 类不可继承 finally 是异常处理语句结构的一部分 表示总是执行 finalize 是 Object 类的一个方法 在垃圾收集器执行的时候会调用被回收对象的此方法 可以覆盖此方法提供垃圾收集时的其他资源回收 例如关闭文件等 7 sleep 和 wait 有什么区别 答 sleep 是线程类 Thread 的方法 导致此线程暂停执行指定时间 给执行机会给其他 线程 但是监控状态依然保持 到时后会自动恢复 调用 sleep 不会释放对象锁 wait 是 Object 类的方法 对此对象调用 wait 方法导致本线程放弃对象锁 进入等待此对 象的等待锁定池 只有针对此对象发出 notify 方法 或 notifyAll 后本线程才进入对象 锁定池准备获得对象锁进入运行状态 8 Overload 和 Override 的区别 Overloaded 的方法是否可以改变返回值的类型 答 方法的重写Overriding和重载Overloading是Java多态性的不同表现 重写Overriding 是父类与子类之间多态性的一种表现 重载 Overloading 是一个类中多态性的一种表现 如 果在子类中定义某方法与其父类有相同的名称和参数 我们说该方法被重写 Overriding 子类的对象使用这个方法时 将调用子类中的定义 对它而言 父类中的定义如同被 屏蔽 了 如果在一个类中定义了多个同名的方法 它们或有不同的参数个数或有不同的参数类型 则称为方法的重载 Overloading Overloaded 的方法是可以改变返回值的类型 9 abstract class 和 interface 有什么区别 答 声明方法的存在而不去实现它的类被叫做抽象类 abstract class 它用于要创建一 个体现某些基本行为的类 并为该类声明方法 但不能在该类中实现该类的情况 不能创建 abstract 类的实例 然而可以创建一个变量 其类型是一个抽象类 并让它指向具体子类 的一个实例 不能有抽象构造函数或抽象静态方法 Abstract 类的子类为它们父类中的所 有抽象方法提供实现 否则它们也是抽象类为 取而代之 在子类中实现该方法 知道其行 为的其它类可以在类中实现这些方法 接口 interface 是抽象类的变体 在接口中 所有方法都是抽象的 多继承性可通过实 现这样的接口而获得 接口中的所有方法都是抽象的 没有一个有程序体 接口只可以定义 static final 成员变量 接口的实现与子类相似 除了该实现类不能从接口定义中继承行 为 当类实现特殊接口时 它定义 即将程序体给予 所有这种接口的方法 然后 它可以 在实现了该接口的类的任何对象上调用接口的方法 由于有抽象类 它允许使用接口名作为 引用变量的类型 通常的动态联编将生效 引用可以转换到接口类型或从接口类型转换 instanceof 运算符可以用来决定某对象的类是否实现了接口 10 启动一个线程是用 run 还是 start 答 启动一个线程是调用 start 方法 使线程所代表的虚拟处理机处于可运行状态 这意 味着它可以由 JVM 调度并执行 这并不意味着线程就会立即运行 run 方法可以产生必须 退出的标志来停止一个线程 11 接口是否可继承接口 抽象类是否可实现 implements 接口 抽象类是否可继承实体类 concrete class 答 接口可以继承接口 抽象类可以实现 implements 接口 抽象类是否可继承实体类 但 前提是实体类必须有明确的构造函数 12 数组有没有 length 这个方法 String 有没有 length 这个方法 答 数组没有 length 这个方法 有 length 的属性 String 有有 length 这个方法 13 构造器 Constructor 是否可被 override 答 构造器Constructor不能被继承 因此不能重写Overriding 但可以被重载Overloading 14 是否可以继承 String 类 答 String 类是 final 类故不可以继承 15 swtich 是否能作用在 byte 上 是否能作用在 long 上 是否能作用在 String 上 答 switch expr1 中 expr1 是一个整数表达式 因此传递给 switch 和 case 语句的 参数应该是 int short char 或者 byte long string 都不能作用于 swtich 16 try 里有一个 return 语句 那么紧跟在这个 try 后的 finally 里的 code 会不会 被执行 什么时候被执行 在 return 前还是后 答 会执行 在 return 前执行 17 简述 Java 多态性的概念 隐藏 覆盖和重载的概念及使用时应注意的问题 答 多态性 在一个类中可以定义多个同名方法 有静态多态性和动态多态性 隐藏 子类重新定义了父类中的同名成员变量 被隐藏的父类成员变量在子类中仍然占有存 储空间 覆盖 子类重新定义了父类的同名成员方法 要求方法名 参数和返回类型都相同 与隐藏 不同 此时子类方法将替换掉同名的父类方法 清除父类方法在子类中占有的空间 重载 在同一个类中定义多个同名但参数不同的方法 参数不同是指个数 类型或顺序不同 注意事项 不能覆盖父类的 static 方法和 final 方法 可以隐藏父类的 static 方法 即在子类中声明同名 static 方法 非 Static 方法不能隐藏 只能覆盖 子类必须覆盖父类的 abstract 方法 18 什么是事件 事件源和事件监听器 简述使用事件监听器进行事件处理的过程 答 事件 对界面的某种操作 如按键 单击鼠标 鼠标移动等 事件源 事件的产生者 通常是某一组件 如按钮等 事件监听器 是某些事件的接口 其中定义了被监听的事件发生时系统要调用的方法 事件处理过程由下面 3 步组成 为类声明需要的事件监听器接口 给事件源注册一个事件监听器 实现接口声明中事件处理方法 19 简述 Java 中构造方法的概念及特点 答 构造方法 构造方法是一种特殊的方法 用于初始化对象 特点 构造方法与类同名 可以有参数 也可无参数 构造方法没有返回值 在方法前也不需要写 void 创建对象时 系统自动调用构造方法 用户在程序中不能直接调用构造方法 只能通过 new 操作符调用 一个类可以有多个同名构造方法 但参数必须不同 所谓参数不同是指 类中可以不定义构造方法 此时 Java 提供一个默认的无参数构造方法 20 简述 Java 中接口的概念及接口的性质 答 Java 语言规定 类只能实现单继承 但接口可以实现多重继承 接口中定义的方法都是 抽象方法 定义的所有域都是常量 因此接口可以看作是没有实现的方法和常量的集合 使用接口主要是解决 Java 语言不支持 多重继承的问题 性质 接口不提供代码重用性 因为接口中的方法都是没有实现的方法 因此所有的方法 体都要自己编写 接口可以通过多继承进行扩展 接口不能升级 即提供给用户的接口不能再改变 四四 阅读程序写结果阅读程序写结果 1 class V1 int a 1 void m1 System out println a class E1 extends V1 int a 2 b 3 c void m2 System out println a class H public static void main String s E1 e1 new E1 e1 m1 e1 m2 2 class V1 public int x 2 V1 System out println V1 class V2 extends V1 public int x 3 V2 System out println V2 class H public static void main String s V1 e1 new V2 System out println e1 x 3 import java io public class abc public static void main String args AB s new AB Hello System out println s toString class AB String s1 String s2 AB String str1 String str2 s1 str1 s2 str2 public String toString return s1 s2 4 import java io public class abc 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 a i 3 0 s a i System out println s s 5 class V1 public int x 4 V1 System out println V1 class V2 extends V1 public int x 7 V2 System out println V2 class H public static void main String s V1 e1 new V2 System out println e1 x 6 class V1 int a 3 void m1 System out println a class E1 extends V1 int a 5 b 3 c void m2 System out println a class H public static void main String s E1 e1 new E1 e1 m1 e1 m2 五五 阅读程序 给出程序的功能阅读程序 给出程序的功能 1 public class H public static void main String args Fact N new Fact 4 System out print N fact class Fact int n Fact int nn n nn int fact int i f 1 for i 1 i n i f f i return f 2 public class H public static void main String args int i Max Min int a 12 67 8 98 23 56 124 55 99 100 Max a 0 Min a 0 for i 1 i a length i if a i Max Max a i System out print Max Min import java io public class abc public static void main String args SubClass sb new SubClass System out println sb max class SuperClass int a 10 b 20 class SubClass extends SuperClass int max return a b a b 3 import java io public class abc public static void main String args int i n 10 max 0 min 0 temp 0 try BufferedReader br new BufferedReader new InputStreamReader System in max min Integer parseInt br readLine catch IOException e for i 2 i max max temp if temp min min temp catch IOException e System out println max max nmin min 4 import java awt public

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论