JAVA基础试题(A卷)附带答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分:选择题(共60分,单选共40题,每空1分,
多选共10题,每空2分)
单项选择题(40*1’=40)
1.下列属于合法的 Java 标识符是 ( )
A) _cat B) 5books C) +static D) -3.14159
1.int 类型整型变量在内存中的位数为 ( )
A) 8 B) 16 C) 32 D) 64
1.下面()赋值语句不会出现编译警告或错误 ( )
A) float f=1.3; B) char c=a; C) byte b=257; D) int i=10;
1.在 Java 中,由 Java 编译器自动导入而无需在程序中用import 导入的包是 ( )
A) java.applet B) java.awt C) java.util D) ng
1.下列哪个类声明是正确的?( )
A) abstract final class HI{ ···}
B) abstract private move(){ ··· }
C) protected private number;
D) public abstract class Car{ ···}
1.编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展
名为 ( )
A) java B) class C) html D) exe
1.为 AB类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB
作为前缀就可以调用它,该方法头的形式为 ( )
A) static void method( )
B) public void method( )
C) final void method( )
D) abstract void method( )
1.在 Java 中,所有类的根类是 ( )
A) java.awt.Frame
B) java.applet.Applet
C) ng.Class
D) ng.Object
1.在 Java 中,用 Package 语句说明一个包时,该包的层次结构必须是 ( )
A) 与文件目录的层次相同
B) 与文件的结构相同
C) 与文件大小相同
D) 与文件类型相同
1.下列访问权限的大小关系,正确的是 ( )
A. public > protected > private > package
B. public > package > protected > private
C. public > protected > package > private
D. protected > public > package > private
1.在 Java 中,能实现多重继承效果的方式是 ( )
B. 适配器
C. 接口
D. 同步
1.十进制数 16 的 16 进制表示格式是 ( )
A.0x10 B.0x16 C .0xA D.16
1.下列方法中可以用来创建一个新线程的是 ( )
A.实现 ng.Runnable接口并重写 start() 方法.
B.实现 ng.Runnable接口并重写 run() 方法
C.实现 ng.Thread类并重写 run() 方法
D.实现 ng.Thread类并重写 start() 方法
1.下列代码中,将引起一个编译错误的行是 ( )
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 行
1.在 Java 中,负责对字节代码解释执行的是()
A.垃圾回收器 B .虚拟机 C.编译器 D.多线程机制
1.下列数组定义及赋值,错误的是 ( )
1.int intArray[];
2.intArray=new int[3]; intArray[1]=1; intArray[2]=2; intArray[3]=3;
3.int a[]={1,2,3,4,5};
4.int[][] a=new int[2][]; a[0]=new int[3]; a[1]=new int[3];
1.关键字 supper 的作用是( )
A. 用来访问父类被隐藏的成员变量
B. 用来调用父类中被重载的方法
C. 用来调用父类的构造函数
D. 以上都是
1.凡是从中央处理器流向外部设备的数据流称为()
A. 文件流
B. 字符流
C. 输入流
1.下列属于文件输入输出类的是()
A. FileInputStream 和 FileOutputStream
B. BufferInputStream 和 BufferOutputStream
C. PipedInputStream 和 PipedOutputStream
D. 以上都是
1.JDBC 中要显式地关闭连接的命令是()
A .Connection.close(); B.RecordSet.close() C.Connection.stop() D.Connection.release()
1.下面关于继承的说法,正确的是()
A、超类的对象就是子类的对象 B 、一个类可以有几个超类
C、一个类只能有一个子类
D、一个类只能有一个超类
1.下面()方法可以用来加载 JDBC驱动程序。
A 、类 java.sql.DriverManager 的 getDriver 方法
B 、类 java.sql.DriverManager 的 getDrivers 方法
C 、java.sql.Driver 的方法 connect
D、类 ng.Class 的forName方法
1.下列程序运行结果是()。
private class Base {
Base() {
int i = 100;
System.out.println(i);
}
}
public class Pri extends Base {
static int i = 200;
public static void main(String argv[]) {
Pri p = new Pri();
System.out.println(i);
}
}
A.200
B.100
C.100 200
D.编译错误
1.看下列程序
package a;
class Parent {
private int j = 20;
protected int i = 30;
public int k = 40;
int h = 50;
}
class Child extends Parent {
void f() {
}
}
在子类child的方法f()中不可以操作的变量是()
A.j B.i C.k D.h
1.第10行将调用的会是哪个方法?()
1.class Person {
2. public void printValue(int i, int j) { }
3. public void printValue(int i) { }
4.}
5.public class Teacher extendsPerson {
6. public void printValue() { }
7. public void printValue(int i) { }
8. public static void main(String args[]) {
9. Person t = new Teacher();
10. t.printValue(10);
11. }
12.}
A.on line 2 B.on line 3
C.on line 6 D.on line 7
1.下列类定义中,不正确的是?
1.class x
2.class x extends y
3.class x implements y1,y2
4.public class x extends X1,X2
1.以下哪个关键字可以实现线程的同步?
A.Thread
B.Runnable
C.synchronized
D.Lock
1.如何唤醒一个线程?
A.wait
B.notify
C.yield
D.interrupt
1.HashSet在比较元素是否相等时,采用的方法是?
1.比较元素的equals()方法
2.比较元素的hashCode()方法
3.先比较元素的equals()方法,再比较元素的hashCode()方法
4.先比较元素的hashCode()方法,在比较元素的equals()方法
1.自定义对象之间比较大小,应该实现下列哪个接口?
parable
B.Serializable
pare
parator
1.如果没有指定Cookie的时效,默认时效是?
A.一分钟.
B.一天.
C.永不过期.
D.会话级别.
1.在JSP中使用JDBC语句访问数据库,正确导入SQL类库的语句是?
A.<%@ page import="java.sql.*" %>
B.<%@ page import="sql.*" %>
C.<% page import="java.sql.*" %>
D.<%@ import="java.sql.*" %>
1.以下哪种格式是正确的URL()
A.http://localhost:8080/news/index.jsp。
B.http://localhost/8080/news/index.jsp。
C.http://localhost/8080:news/index.jsp。
D.http:localhost://8080/news/index.jsp。
1.在JSP中,以下()技术最适合实现购物车的存储?
A.page
B.request
C.session
D.application
1.JSP中,如果访问web应用时出现了404错误,最可能的原因是()
A.服务器未启动
B.访问的资源不存在
C.服务器端口被占用
D.服务器异常终止
1.以下JSP代码运行后的结果为 ()
<%int i =8;%>
<%=i+"8"%>
A.i8。
B.88。
C.16。
D.编译错误。
1.在JDBC中,负责执行SQL语句的接口是()
A.Connection。
B.Statement。
C.Result。
D.Prepared。
1.以下关于JavaBean的说法错误的是()
A.JavaBean是Java中开发的可以跨平台的重用组件。
B.JavaBean在JSP程序中常用来封装业务逻辑、数据库操作等。
C.JavaBean组件本质上就是一个Java类。
D.JavaBean一般设置为私有类,但是属性设置为公有。
1.在JSP中,以下关于Session的描述错误的是()
A.Session对象允许用户存储和提取会话状态信息
B.Session机制是一种客户端机制
C.在客户端保存用户信息的是cookie,因此保存sessionId的方式也是使用Cookie实现的
D.可以通过Session对象的getId()方法获取sessionId
1.下面的JSP页面代码运行后显示的结果是()
<body>
<%
String name="aaa";
request.setAttribute("uid", name);
%>
<%=name%>${name}
</body>
A.aaa。
B.aaaaaa。
C.无输出
D.报错,不能正常执行
多项选择题(10*2’=20)
41.有关类的说法,正确的是()
A.类具有封装性,所以类的数据是不能被访问的。
B. 类具有封装性,但可以通过类的公共接口。
C. 声明一个类时,可以使用public 修饰符。
D. 每个类中必须有main 方法,否则程序无法运行。
42.下列哪个属于容器的构件?
A.JFrame
B.JButton
C.JPanel
D.JCheckbox
43.下列Java注释正确的是?
A./** */
B.//
C./* */
D./**
44.下列方法中可以用来创建一个新线程的是()
A. 实现 ng.Runnable接口并重写 start() 方法
B. 实现 ng.Runnable接口并重写 run() 方法
C. 继承 ng.Thread类并重写 run() 方法
D. 继承 ng.Thread类并重写 start() 方法
45.下列关于线程优先级的说法中,正确的是?
A. 线程的优先级是不能改变的
B. 线程的优先级是在创建线程时设置的
C. 在创建线程后的任何时候都可以设置
D.线程可以被挂起
46.下列叙述中,正确的是?
A. Java 语言的标识符是区分大小写的
B. 源文件名与public类名可以不相同
C. 源文件扩展名为.java
D. 源文件中 public类的数目不限
47.在 Java 中,属于Runtime异常的是?
A.IOException
B.FileNotFoundException
C.NullPointerException
D.ArrayIndexOutOfBoundsException
48.下列说法正确的是?
A.Java在JVM中运行。
B.Java一次编写,跨平台运行。
C.Java不需要编译。
D.Java是面向对象的语言。
49.下列说法正确的是?
A.Oracle中常用的对象有表、视图、索引。
B.视图能够提高查询速度。
C.ROWID是记录的物理标识。
D.ROWNUM是伪列。
50.下列说法正确的是?
A.Session是客户的机制。
B.Session是通过Cookie实现的。
C.Session默认失效时间是半小时。
D.Session可以存储登录用户信息。
第二部分:填空题(共10空,每空2分,共20分)
1.Java语言通过 ________ 机制简化了程序的内存管理。
2.面向对象的计算机语言一般应具有______、_______、_______3个基本特性.
3.Java中的 ________类是最顶层的类,所有其他的类都是它直接或间接的子类。
4.Tomcat服务器的默认端口为_________。
5.JSP 四种作用范围分别用________、_________、___________、________表示。
第三部分:简答题(共4题,每题5分,共20分)
1.方法重载和重写的区别,以及各自特点。
2.简述抽象类与接口的异同。
3.简述forward和sendRedirect的区别。
4.简述servlet的生命周期。
JAVA A 卷答案
第一部分:选择题(共60分)
第二部分:(共20分)
1、垃圾回收。
2、封装、继承、多态。
3、 object 。
4、 8080 。
5、 application 、 session 、 request 、 page 。
第三部分:简答题(共20分)
1.方法重载和重写的区别,以及各自特点。
参考答案:
答:方法重载: 1.方法的名称相同,不以返回值区分
2. 参数的个数类型顺序其一不同即可
方法重写: 1.发生在子父类之间
2.要求方法签名一样
3. 返回值类型方法名和参数列表一样,子类的方法访问权限必须大于等于父类
1.简述抽象类与接口的异同。
相同:
1) 抽象类和接口都能定义方法和属性,
1.抽象类和接口都是一种特殊的类。
大部分的时候,定义的方法要子类来实现
2.抽象类和接口都可以不含有抽象方法。
3.抽象类和接口都不能创建对象。
4.抽象类和接口都能利用多态性原理来使用抽象类引用指向子类对象。
5.继承和实现接口或抽象类的子类必须实现接口或抽象类的所有的方法,抽象类若有
没有实现的方法就继续作为抽象类,要加abstract修饰。
若接口的子类没有实现的方法,也要变为抽象类。
不同
1.一个类可以实现多个接口,但却只能继承最多一个抽象类。
2.抽象类可以包含具体的方法,接口的所有方法都是抽象的。
3.抽象类可以声明和使用字段,接口则不能,但接口可以创建静态的final常量。
4.接口的方法都是public的,抽象类的方法可以是public,protected,private或者默认的package;
5.抽象类可以定义构造函数,接口却不能。
1.简述forward和sendRedirect的区别。
1.sendRedirect实现请求重定向,forward实现的是请求转发。
2. 2.forward重定向后,浏览器url地址不变,sendRedirect转发后,浏览器url地址变为
目的url地址。
3.使用forward重定向的过程,是浏览器先向目的Servlet发送一次Request请求,然后
再服务器端由Servlet再将请求发送到目的url,再由服务器端Servlet返回Response
到浏览器端。
浏览器和服务器一次请求响应。
使用sendRedirect转发的过程,浏览器先向目的Servlet发送一次请求,Servlet看到sendRedirect将目的url返回到浏览器,浏览器再去请求目的url,目的url再返回response到浏览器。
浏览器和服务器两次请求响应。
1.无论是forward方法还是sendRedirect方法调用前面都不能有PrintWriter输出到客户
端。
2.forward方法只能转发给同一个web站点的资源,而sendRedirect方法还可以定位到
同一个web站点的其他应用,甚至可以通过传入绝对路径定位到别的web站点
3.forward方法的调用者与被调用者之间共享Request和Response
1.简述servlet的生命周期。
参考答案:
所谓生命周期,指的是servlet容器如何创建servlet实例、分配其资源、调用其方法、并销毁其实例的整个过程。
阶段一: 实例化(就是创建servlet对象,调用构造器)
阶段二:初始化
阶段三:就绪/调用
阶段四:销毁。