Bootstrap

java开发工程师模拟试题1


JAVA开发工程师模拟试题集
一、单选题
1. ☆
class Super{
public float getNum(){return 3.0f;}
}
Public class Sub extends Super{

}
下面的哪个方法放在Sub将引起编译错误?
Public float getNum(){return 4.0f;}(标准的覆盖)
Public void getNum(){}
报错。父类和子类中不允许出现方法名相同+参数相同但是返回值不同的方法。这既不是普通继承,也不是覆盖。而是报错!
Public void getNum(double d){}(方法名相同、参数列表不同+返回值不同不报错!)
Public double getNum(float d){return 4.0d;}
答案:B
2.
public class Foo {
public static void main(String args[]) {
try {
return ;
} finally {
System.out.println("Finally");
}
}
}结果是什么?
A. 什么都不打印
B. 打印出"Finally"
C. 编译时间错误
答案:B(对于main方法,前面是void,可以使用return;,表示什么都不返回。该程序不报任何异常,最终执行finally
另,return ;不同于return null;
)

3.
int i=1,j=10;
do{
if(i++>--j) continue;
}while(i<5);
这个代码块执行后,i和j的值是什么?
A. i=6 j=5
B. i=5 j=5
C. i=6 j=4
D. i=5 j=6
E. i=6 j=6
答案:D(i++ 和++i用法的区别)
4.
public class A {
public void m() {
Object o = new Float(3.14F);
Object[] oa = new Object[1];
oa[0] = o;
o = null;//第六行
oa[0] = null;
System.out.println(oa[0]);
}

}最早在第几行对象o就可以被垃圾回收?
A. 第4行后
B. 第5行后
C. 第6行后
D. 第7行后
E. 第9行后(也就是说在方法结束后)
答案:C
5.
int index=1;
int foo[]=new int[3];
int bar=foo[index];
int baz=bar+index;经过以上代码后,baz的值是多少?
A. baz 值为 0
B. baz 值为1
C. baz 值为2
D. 程序运行时抛出异常
E. 代码不能编译
答案:B(bar为0)
6.
public class A {
public static void add3(Integer i) {
int val = i.intValue();
val += 3;
i = new Integer(val);
}

public static void main(String args[]) {
Integer i = new Integer(0);
add3(i);
System.out.println(i.intValue());
}

}以上代码执行结果是什么?
A. 编译错误
B. 打印"0"
C. 打印"3"
D. 编译成功但运行时有第3行出现异常
答案:B(需要注意:传递的如果是基本数据类型、String 和包装类都是传入内容不传指针。内容不变!)
补充程序如下:
public class A {


public static void add1(int x){
x=x+5;
}

public static void main(String args[]) {
Integer i = new Integer(0);
int m=9;
add1(m);
System.out.println(m);
}
}


7.
class EnclosingOne{
public class InsideOne{}
}
publiclass InnerTest{
publistativoimain(String args[]){
EnclosingOne eo=new EnclosingOne();
//在这插入代码
}
}
应将哪行代码插入代码块中?
A. InsideOne ei=eo.new InsideOne();
B. eo.InsideOne ei=eo.new InsideOne();
C. InsideOne ei=EnclosingOne.new InsideOne();
D. InsideOne ei=eo.new InsideOne();
E. EnclosingOne.InsideOne ei=eo.new InsideOne();
答案:E(内部类实例的创建和构造方法的使用)
8. 下面哪个是"is a"的关系?
A. Public interface Color{}
Public class Shape{private Color color;}
B. interface Component{}
class Container implements Component{
private Component[] children;
}
C. publiclass Species{}
publiclass Animal{private Species species;}
答案:B
9.
Public class SychTest{
private int x;
private int y;
public void setX(int i){ x=i;}
public void setY(int i){y=i;}
public synchronized void setXY(int i){
setX(i);
setY(i);
}
Public synchronized boolean check(){
return x!=y;
}
}
在什么条件下,在其它类中调用check()返回true?
A. check() 永远不返回 tru
B. 当setXY 被多个线程调用时check() 返回true
C. 当多个线程分别调用setX和setY时check() 返回true
D. 只有SychTest被改写为x和y可以分别赋值时check() 才可能返回 true
答案:C
10. (放弃)
class A implements Runnable{
int i;
public void run(){
try{
Thread.sleep(5000);
i=10;
}catch(InterruptException e){}
}
Public static void main(String[] args){
try{
a=new A();
Thread t=new Thread(a);
t.start();
14)
int j=i;
16)
}catch(Exception e){}
}
}
在第14行加上哪些代码才能保证在第16行时j=10?
A. wait();
B. t.wait();
C. t.join();
D. t.yield();
E. t.notify();
答案:C
11. 下面的哪个方法能够识别出是哪个组件产生了ActionEvent事件?
A. getTarget();
B. getClass();
C. getSource();
D. getActionCommand();
答案:C
12.
import java.awt.*;

public class X extends Frame {
public static void main(String[] args) {
X x = new X();
x.pack();
x.setVisible(true);
}

public X() {
setLayout(new GridLayout(2, 2));
Panel p1 = new Panel();
add(p1);
Button b1 = new Button("One");
p1.add(b1);
Panel p2 = new Panel();
add(p2);
Button b2 = new Button("Two");
p2.add(b2);
Button b3 = new Button("Three");
p2.add(b3);
Button b4 = new Button("Four");
add(b4);
}
}
当窗口改变大小时,以下哪些是正确的?
A. 按钮"One"改变高度
B. 按钮"Two"改变高度
C. 按钮"Three" 改变宽度
D. 按钮"Four"改变高度和宽度
答案:D
13. 怎样计算42度角的余弦值?(放弃)
A. double d=Math.cos(42);
B. double d=Math.cosine(42);
C. double d=Math.cos(Math.toRadians(42));
D. double d=Math.cos(Math.toDegrees(42));
E. double d=Math.toRadious(42);
答案:C
14.
String foo="blue";
boolean[] bar=new boolean[1];
if(bar[0]){
foo="green";
}
foo的值是多少?
A. ""
B. Null
C. Blue
D. green
答案:C(默认false)
15.
int index=1;
String[] test=new String[3];
String foo=test[index];
foo的值是多少?
A. ""
B. Null
C. throw Exception
D. not compile
答案:B(字符串默认为null)
16. Hashtable实现了哪个接口?
A. javautil.Map
B. javautil.List
C. javautil.Hashable
D. javautil.Collection
答案:A
17.
class A {
public static int getNumber(int a) {
return a + 1;
}
}
public class B extends A {
public static int getNumber(int a) {
return a + 2;
}
public static void main(String[] args) {
B b = new B();
System.out.println(getNumber(0));
}
}
上面代码的结果是什么?
A. 编译成功,打印出1
B. 编译成功,打印出2
C. 第7行出现编译错误
D. 第12行出现编译错误
答案:b
18. 为了让同一个包内其它类有权访问一个类的成员,以下哪个访问控制符最适合?
A. public
B. private
C. protecte
D. transient
E. 没有访问控制符
答案:E
19. 下面哪些声明了一个数组,可以容放10个int类型元素?
A. int[] foo;
B. int foo[];
C. int foo[10];
D. Object[] foo;
E. Object foo[10];
答案:C
20. 下面哪个方法声明可以让同一包的成员访问,而且不需要类的实例?
A. abstract publivoimethoda();
B. publiabstract double methoda();
C. static void method(double d1){}
D. publinative double methoda(){}
答案:C
21.
Public class SuperClass{ }
class SubClass extends SuperClass{}
public void test(SubClass foo){
5) SuperClass bar=foo;
}
}
下面哪句是正确的?
A. 第5行的赋值是不合法的
B. 第5行的赋值是合法的,但会抛出一个ClassCastException
C. 上面的代码是合法的,而且执行时不会抛出异常。
答案:C
22. 哪个可以得到"file.txt"的父目录的名字?
A. String name=File.getParentName("file.txt");
B. String name=(new File("file.txt")).getParent();
C. String name=(new File("file.txt")).getParentName();
D. String name=(new File("file.txt")).getParentFile();
答案:B
23. 文件"file.txt" 已经存在且包含ASCII码:
try{
File f=new File("file.txt");
OutputStream out=new FileOutputStream(f);
}catch (IOException e){}
以下哪些是正确的?
A. 代码不能编译
B. 代码运行,但file.txt没有变化。
C. 代码运行,但file.txt的长度变为0。
D. 因为文件不存在,所以抛出一个异常。
答案:C
24.
class Super {
public int i = 0;

public Super(String text) {
i = 1;
}
}
public class Sub extends Super {
public Sub(String text) {
i = 2;
}

public static void main(String args[]) {
Super sui = new Sub("Hello");
System.out.println(sui);
}
}结果是什么?
A. 编译失败
B. 编译成功,打印出"0"
C. 编译成功,打印出"1"
D. 编译成功,打印出"2"
答案:A(子类的构造方法在执行的时候必须调用父类的无参数的构造方法。而父类一旦定义了有参数的构造方法,则不会自动生成无参数的构造方法。形成矛盾,报错。)
25.
import java.io.IOException;
public class ExceptionTest {
public static void main(String args[]) {
try {
methodA();
} catch (IOException e) {
System.out.println("Caught Exception");
}
}

public void methodA() {
throw new IOException();
}
}
结果是什么?
A. 代码不能编译。
B. 输出是"Caught Exception"
C. 输出是Caught IOException
D. 程序正常执行,但没有打印信息。
答案:A(methodA 在定义的时候需要在方法的小括号的后面使用throws列出可能报的异常)
26. 你的任务是创建一个面板,最上面是一个TextArea,在它的正下面是一个Label,在Label的下面是一个Button。当面板改变大小时, TextArea占用了所有的自由的垂直空间。请问应用哪种部局管理器?
A. Grid Layout
B. Card Layout
C. Flow Layout
D. Gridbag Layout
答案:D(每一个资源管理器的特点必须理解,看课本!!)
27.
public class Foo implements Runnable {
public void run(Thread t) {
System.out.println("Running");
}

public static void main(String[] args) {
new Thread(new Foo()).start();
}
}
结果是什么?
A. 抛出一个异常
B. 程序退出,但没有打印信息。
C. 在第1行出现了错误,导致不能通过编译。
D. 在第2行出现了错误,导致不能通过编译。
答案:C(验证)
28. 线程类的哪个方法用来启动一个新线程的执行?
A. run()
B. start()
C. begin()
D. run(Runnable r)
答案:B
29. 下面哪个是正确的?
A. 如果一个线程在一个对象的wait方法中受到阻塞,而另一个线程对同一对象调用notify方法,则第一个线程立即恢复执行。
B. 如果一个线程在一个对象的wait方法中受到阻塞,而另一个线程对同一对象调用notify方法,仍然有可能第一个线程永远不恢复执行。
C. 如果一个线程在一个对象的wait方法中受到阻塞,而另一个线程对同一对象调用notify方法,则作为notify方法的直接的、惟一的结果,第一个线程一定恢复执行。
D. 如果两个线程在一个对象的wait方法中受到阻塞,而另一个线程对同一对象调用notify方法,则作为notify方法的直接的、惟一的结果,先执行call方法的线程一定恢复执行。
答案:B
30. 下面哪个是正确的?
A. 匿名内部类可以声明为final的
B. 匿名内部类可以声明为private的
C. 一个匿名内部类可以实现多个接口。
D. 一个匿名内部类可以访问任何范围的final变量。
答案:D
31.
public class X {
public Object m() {
Object o = new Float(3.14f);
Object[] oa = new Object[1];
oa[0] = o;
o = null;
return oa[0];
}
}
在第3行创建的Float对象,什么时候可以垃圾回收?
A. 第5行后
B. 第6行后
C. 第7行后
D. 在本方法中不会被回收
答案:D(o = null;表示o这个指针什么都不指向。空指针。并不表示o所指定的内容被清空。)
32.
public class Foo {
public static void main(String[] args) {
PrintWriter out = new PrintWriter(new java.io.OutputStreamWriter(System.out), true);
out.println("Hello");
}
}
下面的哪个代码放在point X处可以使这段代码编译、运行?
A. import java.io.PrintWriter;
B. include javio.PrintWriter
C. import javio.OutputStreamWriter
D. include javio.OutputStreamWriter
答案:A
33. 下面哪个阻止创建子类?
A. Static class FooBar{}
B. pivate class Foobar{}
C. abstract class FooBar{}
D. final public class FooBar{}
答案:D
34. 下面哪个把"\n"写到了文件"file.txt"的尾部?
A. OutputStream out=new File Output Stream("file.txt");
out.write Bytes("\n");
B. OutputStream os=new FileOutputStream("file.txt",true);
DataOutputStream out=new DatOutputStream(os);
out.write Bytes("\n");
C. OutputStream os=new File Output Stream("file.txt");
DataOutputStream out=new DatOutput Stream(os);
out.write Bytes("\n");
D. OutputStream os=new Output Stream("file.txt",true);
DataOutputStream out=new DatOutput Stream(os);
out.write Bytes("\n");
答案:B(记住)
35. 下面哪个正确的构建了一个DataOutputStream?
A. new DatOutputStream("out.txt");
B. new DatOutputStream(new File("out.txt"));
C. new DatOutputStream(new FileWriter("out.txt"));
D. new DatOutputStream(new FileOutputSream("out.txt"));
答案:D(记住)

36. 下面哪个关于类java.util.HashSet的说法是正确的?
A. HashSet中的元素是有顺序的
B. HashSet是不可改变的。
C. HashSet中的元素是惟一的
D. HashSet中的元素是用惟一的键值访问的
答案:C
37.
int i=1,j=10;
do{
if(i>j)continue;
j--;
}while(++i<6);
经过上面的代码后,i和j的值是多少?
A. i=6,j=5
B. i=5,j=5
C. i=6,j=4
D. D.i=5,j=6
答案:A
38. 下面哪个能算出不大于double数bar的最接近的int值?
A. int foo=(int)Math.max(bar);
B. int foo=(int)Math.min(bar);
C. int foo=(int)Math.abs(bar);
D. int foo=(int)Math.floor(bar);
答案:D
39. 下面哪个是正确的?
A. 一个匿名类可以声明为static
B. 一个static内部类不包含它的类的static成员
C. 一个static内部类需要一个包含它的类的实例。
D. 一个static内部类的实例成员不能用static内部类的类名来调用。
答案:B(看课本关于内部类的知识)
40.
public class MyCircle {
public double radius;
public double diameter;

public void setRadius(double radious) {
this.radius = radius;
this.diameter = radius * 2;
}

public double getRadius() {
return radius;
}
A. MyCircle类是完全封装的。
B. 一个给定的MyCircle的diameter 一定是它的radius的两倍.
C. 为了保证封装,第6行和第7行应放在一个synchronized块中.
D. 可以设置 一个MyCircle 对象的radius而不影响它的diameter.
答案:D
41.
public class X {
public static void main(String[] args) {
int[] a = new int[1];
modify(a);
System.out.println(a[0]);
}

public static void modify(int[] a) {
a[0]++;
}
}
结果是什么?
A. 程序运行并打印出"0";
B. 程序运行并打印出"1";
C. 程序运行但有一个异常退出。
D. 由于第4行有"possible undefinevariable"导致编译错误。
答案:B(注意,如果传入的参数是变量、String和包装类就不修改,只传入一个值的复制)
42. HttpServlet 类的什么方法处理HTTP POST 请求?
A. DoPost(Servlet Request, Servlet Response)
B. DoPOST(Servlet Request, Servlet Response)
C. doPost(Http Servlet Request, Http Servlet Response)
答案:C
43. 下面哪行代码可以初始化out变量,用来发送一个Word文件到客户端?
A. PrintWriter out = response.getServletOutput ();
B. PrintWriter out = response.getPrintWriter ();
C. OutputStream out = response.getWriter ();
D. OutputStream out = response.getOuputStream ();
答案:D
44. 下面的哪个元素用来在部置描述文件中说明servlet的初始参数的详细信息?
A. param-description
B. description
C. info
D. param-info
答案:B
45. 下面的哪个方法从HTTP session中取出对象?
A. javax.servlet.Session 的get Attribute
B. javax.servlet.Http Session的get Attribute
C. javax.servlet.http.Session的get Attribute
D. javax.servlet.http.HttpSession的get Attribute
答:D(必须记住session的包)
46. 要include一个带title参数的页insert.jsp,下面哪个是正确的?
A.<%@ include file='insert.jsp'title=WeWonk'%>
B.<jsp:include page="insert,jsp' title=WeWonk"/>
C.<%@ include file='insert.jsp' %>WeWonk<%@include%>
D.<jsp:include page='insert.jsp'>
<jsp:param name='title' value='WeWonk'/></jsp:include>
答:D
47. 下面哪行声明当前页为error页?
<%@ page info="error" %>
<%@ page error Page="true" %>
<%@ page is Error Page="true" %>
<%@ page page Endcoding="error" %>
答案:C
48. 下面哪行是正确的?
<%! String my String="Hello" %>
<% String my String=request.get Server Name() %>
<%= out.print("Hello") %>
<%= "Hello" %>
答案:D
49. 一个名为test的Weapplication的部署描述符如下:
<servlet-mapping>
<servlet-name>jobedu</servlet-name>
<url-pattern>aa.bop</url-pattern>
</servlet-mapping>
假定访问weapplication的方式为 http://servername/,下面哪个调用名为jobedu的servlet实例?
http://servername/test/aa.bop
http://servername/jobedu/bar.bop
http://servername/test/jobedu/bop
http://servername/baz/bat/boo.bop
答案:A
50. 下面是一个Weapplication 的部置描述符的部分代码:
<context-param>
<param-name>user</param-name>
<param-value>jobedu</param-value>
</context-param>
在servlet的 doPost方法中如何取出参数user的值?
A. Get Servlet Config ().get Attribute ("user");
B. Get Servlet Context ().get Attribute ("user");
C. get Servlet Config ().get Init Parameter ("user");
D. getServletContext ().getInitParameter ("user");
答案:D(记住)
51.
<html>
<jsp:include page="abjsp">
<jsp:param name="subTitle" value="Registration Form"/>
</jsp:include>
</html>
在ab.jsp中加入哪行代码可以产生HTML响应?
A. <h3>Registration Form</h3>
B. <h3><jsp:get Param name="subTitle"/></h3>
C. <h3><jsp:include param="subTitle"/></h3>
D. <h3><%= request.getParameter ("subTitle") %></h3>
E. <h3><%= request.getAttribute ("subTitle") %></h3>
答案:C(inclue和forward不一样!!!)
52. 下面的哪段代码加到doGet ()方法中,可以正确的计算一个用户的GET请求?
A. Http Session session = request.get Session ();
int count = session.get Attribute("count");
session.set Attribute ("count", count++);
B. Http Session session = request.get Session ();
int count = (int) session.get Attribute ("count");
session.setAttribute ("count", count++);
C. Http Session session = request.get Session ();
int count = ((Integer) session.get Attribute ("count")).int Value ();
session.set Attribute ("count", count++);
D. HttpSession session = request.get Session ();
int count = ((Integer) session.get Attribute ("count")).int Value();
session.set Attribute ("count", new Integer(count++));
答案:D
53. 下面的哪个方法可以使一个session永不失效?
session.set Timeout(0);
session.set Timeout(-1);
session.set Timeout(Integer.MAX_VALUE);
None of these
答案:D
54. 如何使一个weapplication相关的所有session都永不失效?(单选)
session.set Max Inactive Interval(-1);
设置部署描述符中session的失效时间为0 或-1.
设置部署描述符中session的失效时间为65535.
You have to change the timeout value of all the sessions explicitly as soon as they are created.
答案:B
55. 在一个默认的JSP页面中,哪个隐式对象不可见?
application
session
exception
config
答案:C
56. 下面代码的结果是什么?
<html><body>
<% int i = 10 ;%>
<% while(--i>=0) { %>
out.print(i);
<% } %>
</body></html>
A. 9876543210
B. 9
C. 0
D. None of the above
答案:D
57.
<html><body>
<%{%>
<jsp:useBean id="address" class="AddressBean" scope="session" />
<%}%>
//1
</body></html>
下面的哪行代码放在//1的位置可以打印出属性street的值?
A. <jsp:get Property name="address" property="street" />
B. <% out.print (address.get Street ()); %>
C. <%= address.get Street () %>
D. <%= ((AddressBean) session.get Attribute ("address")).get Street () %>
答案:D
58. 下面哪个方法从ServletContext中取得一个属性?
A. String get Attribute(int index)
B. String get Object(int index)
C. Object get Attribute(int index)
D. Object get Attribute(String name)
答案:D
59. 用下面的哪个类或接口取出一个用户的session?
A. GeneriServlet
B. Servlet Config
C. Servlet Context
D. Http Servlet Request
答案:D
60. 下面的哪个方法可以除去一个session?
A. session.invalidate();
B. session.expunge();
C. session.destroy();
D. session.end();
答案:A
61. 下面的哪个方法用来从Servlet Context中取出初始参数?
A. Object getInitParameter(int index)
B. Object getParameter(int index)
C. Object getInitParameter(String name)
D. String getInitParameter(String name)
答案:D
62. 下面的部署描述符代码哪个是正确的?
A. <servlet>
<servlet-class>com.abSalesServlet</servlet-class>
<servlet-name>SalesServlet</servlet-name>
</servlet>
B. <servlet>
<servlet-name>SalesServlet</servlet-name>
<servlet-package>com.abSalesServlet</servlet-package>
</servlet>
C. <servlet>
<servlet-name>SalesServlet</servlet-name>
<servlet-class>com.abSalesServlet</servlet-class>
</servlet>
D. <servlet name="SalesServlet" class="com.abSalesServlet">
<servlet>
<servlet-class name="SalesServlet">com.abSalesServlet
</servlet-class>
</servlet>
答案:C
63. 一个weapplication 放在sales文件夹下,部署描述符应放在哪?
A. sales
B. sales/deployment
C. sales/WEB
D. sales/WEB-INF
答案:D
64. 一个名为Bank App的weapplication的部署描述符是哪个?
A. BankApp.xml
B. bankapp.xml
C. server.xml
D. wexml
答案:D
65. 你的servlet要用到一个名为com.abTaxUtil的class,应把TaxUtil.class放在哪个位置?
A. WEB-INF
B. WEB-INF/classes
C. WEB-INF/lib
D. WEB-INF/classes/com/abc
答案:D
66. 一个名为simpletax的weapplication需用到taxpackage.jar,,应把taxpackage.jar文件放在什么位置?
A. simpletax
B. simpletax/WEB-INF
C. simpletax/WEB-INF/classes
D. simpletax/WEB-INF/lib
答案:D
67. 下面的哪个元素用来在部署描述符中指明一个servlet的初始参数?
A. <servlet-param>
B. <param>
C. <initialization-param>
D. <init-param>
答案:D
68.
<servlet-mapping>
<servlet-name>Test Servlet</servlet-name>
<url-pattern>*.asp</url-pattern>
</servlet-mapping>
根据上面的部署描述符代码,下面的哪个不会找到Test Servlet?
A. /hello.asp
B. /gui / hello.asp
C. /gui / hello.asp / bye.asp
D. /gui / asp
答案:D
69.
<html><body>
<href="/ Hello Servlet">POST</a>
</body></html>
当点击上面的超链后会调用Hello Servlet的哪个方法?
A. Do Get
B. Do Post
C. Do Form
D. Do Href
答案:A
70. 下面的哪个方法用来建立一个发送Microsoft Word文件的输出流?
A. Print Writer out = response.get Servlet Output ();
B. Print Writer out = response.get Print Writer ();
C. Output Stream out = response.get Writer ();
D. Print Writer out = response.get Output Stream ();
答案:D
71. 你想发送一个GIF文件到浏览器,在你调用 response.get Output Stream ()方法的前或后应该调用哪个方法?
A. 在response.get Output Stream ()前调用response.set Content Type("image/gif");
B. 在response.get Output Stream ()后调用response.set Content Type("image/gif");
C. 在response.get Output Stream ()前调用response.set Data Type("image/gif");
D. 在response.get Output Stream () 后调用response.set Data Type("image/gif");
答案:A
72.
Publivoido Get(Http Servlet Request req,
Http Servlet Response res)
throws IO Exception
{
if(req.get Parameter("switch") == null)
{
//1
}
else
{
//other code
}
}
下面的哪行代码放在//1的位置可能以使请求转向collectinfo.html?
A. req.send Redirect("collectinfo.html");
B. req.redirect("collectinfo.html");
C. res.direct("collectinfo.html");
D. res.send Redirect("collectinfo.html");
答案:A
73.
Publivoido Get( Http Servlet Request req,
Http Servlet Response res)
{
Http Session session = req.get Session();
Servlet Context ctx = this.get Servlet Context();
if(req.get Parameter("userid") != null)
{
String useri= req.get Parameter("userid");
//1
}
}
你想让同一个用户的所有请求都可以使用参数userid,下面的哪行应该放在//1的位置?
A. session.set Attribute ("userid", userid);
B. this.set Attribute ("userid", userid);
C. ctx.add Attribute ("userid", userid);
D. session.add Attribute ("userid", userid);
答案:A
74. 下面的哪行代码可以从servlet中转向其它页面?
A. Request Dispatcher r=
Get Servlet Context ().get Request Dispatcher ("/jsp");
rd.forward (request, response);
B. Request Dispatcher r=
Get Servlet Context ().get Request Dispatcher ("/jsp ");
Rforwar (response);
C. Request Dispatcher r=
get Servlet Context ().get Request Dispatcher ();
Rforwar ("/jsp ", request, response);
D. Request Dispatcher r=
get Servlet Context ().get Request Dispatcher ();
Rforwar ("/jsp ", response);
答案:A
75.
<html><body>
<%! int aNum=5 %>
The value of aNum is <%= aNum %>
</body></html>
A. 打印出"The value of aNum is 5"
B. 出现编译错误。
C. 出现运行时间错误。
D. 没有任何错误,但没有任何输出。
答案:A
76. 下面哪个正确的声明了当前页为错误页?
A. <%@ page pageType="errorPage" %>
B. <%@ page isErrorPage="true" %>
C. <%@ page errorPage="true" %>
D. 上面的都不对
答案:B
77. 下面代码的执行结果是什么?
<html><body>
<% x=3; %>
<% int x=5; %>
<%! int x=7; %>
x = <%=x%>, <%=this.x%>
</body></html>
A. x = 3, 5
B. x = 3, 7
C. x = 5, 3
D. x = 5, 7
答案:C
78. 下面代码的执行结果是什么?
<html><body>
The value is <%=""%>
</body></html>
A. 编译错误
B. 运行时间错误
C. The value is
D. The value is null
答案:C
79. 下面哪个不是JSP的隐含对象?
A. application
B. session
C. exception
D. Page
答案:D
80. 在下面的哪个隐含对象存放的属性,可以让一个weapplication内所有的session都能访问?
A. application
B. session
C. request
D. page
答案:A
81. JSP隐含对象config是哪个类的一个对象?
A. javax.servlet.Page Config
B. javax.servlet.jsp.Page Config
C. javax.servlet.Servlet Config
D. javax.servlet.Servlet Context
答案:C
82. 下面哪句是正确的?
<%@ page language="java" %>
<html><body>
out.print("Hello ");
out.print("Worl");
</body></html>
A. 会打印出Hello Worl。
B. 编译错误。
C. 运行时间错误。
D. 以上都不对。
答案:D
83. 下面哪句是正确的?
<%@ page language="java" %>
<html><body>
<%
response.getOutputStream().print("Hello ");
out.print("World");
%>
</body></html>
A. 会打印出Hello Worl。
B. 编译错误。
C. 运行时间错误。
D. 只打印出Hello.
答案:B
84. 下面哪个JSP标签可以在运行时把另一个页面的内容包括进来?
A. <jsp:insert>
B. <jsp:include>
C. <jsp:directive.include>
D. <jsp:directive:include>
答案:B
85. 下面哪句是把String user="mary"传递到包含页other.jsp?
A. <jsp:include page="other.jsp" >
<jsp:param paramName="user" paramValue="mary" />
</jsp:include>
B. <jsp:include page="other.jsp" >
<jsp:param name="mary" value="user" />
</jsp:include>
C. <jsp:include page="other.jsp" >
<jsp:param value="mary" name="user" />
</jsp:include>
D. <jsp:include page="other.jsp" >
<jsp:param param="user" value="mary"/>
</jsp:include>
答案:D
86. 在JSP页中使用哪行代码可以和下列代码的结果一样?
A. Request Dispatcher r= request.get Request Dispatcher ("world.jsp");
B. rd.forward(request, response);
C. <jsp:forwarpage="world.jsp"/>
D. <jsp:action.forwarpage="world.jsp"/>
E. <jsp:directive.forwarpage="world.jsp"/>
F. <%@ forwarfile="world.jsp"%>
答案:
87. 下面哪行是正确的?
A. <jsp:use Bean id="address" class="Address Bean" />
B. <jsp:use Bean name="address" class="Address Bean"/>
C. <jsp:use Bean bean="address" class="Address Bean" />
D. <jsp:use Bean bean Name="address" class="Address Bean" />
E. 答案:A
88. 下面哪行是正确的?
A. <jsp:use Bean action="get" id="address" property="city" />
B. <jsp:get Property id="address" property="city" />
C. <jsp:get Property name="address" property="city" />
D. <jsp:get Property bean="address" property="*" />
答案:C
89. 下面哪个声明的bean在Servlet Context范围内有效?
A. <jsp:use Bean id="address" class="Address Bean" />
B. <jsp:use Bean id="address" class="Address Bean" scope="application" />
C. <jsp:use Bean id="address" class="Address Bean" scope="servlet" />
D. <jsp:use Bean id="address" class="Address Bean" scope="session" />
答案:B
90.
<html><body>
<jsp:use Bean id="address" class="Address Bean" />
<jsp:set Property name="address" property="city" />
<jsp:get Property name="address" property="city" />
</body></html>
如果用下面的URL访问,页面会输出什么结果?
A. http://localhost:8080/ address.jsp?city=Chicago
B. Los Angeles
C. Chicago
D. Miami
E. Chicago Miami
答案:B
91.
<html><body>
<%{%>
<jsp:use Bean id="address" class="Address Bean" scope="session" />
<%}%>
//1
</body></html>
下面哪行放在//1位置可以打印出street属性?
A. <jsp:get Property name="address" property="street" />
B. <% out.print (address.get Street ()); %>
C. <%= address.get Street () %>
D. <%= ((Address Bean)session.get Attribute("address")).get Street() %>
答案:D
92. 下面哪行是有效的taglib命令?
A. <% tagliuri="/stats" prefix="stats" %>
B. <%@ tagliuri="/stats" prefix="stats" %>
C. <%! tagliuri="/stats" prefix="stats" %>
D. <%@ tagliname="/stats" prefix="stats" %>
答案:B
93.
publivoiservice (Http Servlet Request request,
Http Servlet Response response)
throws IO Exception, Servlet Exception
{
//1
}
下面的哪行放在//1的位置可以取出application范围内的名为address的Java Bean ?
A. Get Servlet Context ().get Attribute("address");
B. application.get Attribute("address");
C. request.get Attribute("address",APPLICATION_SCOPE);
D. page Context.get Attribute("address",APPLICATION_SCOPE);
答案:A
94.
<html><body>
<%{%>
<jsp:use Bean id="address" class="Address Bean" scope="session" />
<%}%>
<jsp:use Bean id="address" class="Address Bean" scope="session" />
<jsp:get Property name="address" property="street" />
</body></html>
下面哪行是正确的?
A. 翻译时错误(translation error)
B. 编译错误
C. 运行时间异常
D. 打印出street的值.
答案:A
95. 你想在一个JSP页中包含另一JSP页,而且要传递参数,下面哪个是正确的?
A. <%@ include file='insert.jsp'title=We Wonk'%>
B. <jsp:include page="insert,jsp' title=We Wonk"/>
C. <%@ include file='insert.jsp' %>We Wonk<%@include%>
D. <jsp:include page='insert.jsp'><jsp:param name='title' value='We Wonk'/></jsp:include>
答案:D
96. 下面哪行选出所有last name为smith(不区分大小写)的?
A. Select last name, first name.
FROM emp
WHERE last name= 'smith';
B. Select last name, first name.
FROM emp
WHERE UPPER (last name)= 'smith';
C. Select last name, first name.
FROM emp
WHERE last name=UPPER ('smith');
D. Select last name, first name.
FROM emp
WHERE LOWER (last name)= 'smith';
答案:D
97. employee表结构如下:
Last_name Varchar2 (25)
First_name Varchar2 (25)
Salary Number7, 2
现想把所有高于平均工资的雇员名字显示出来,怎样修改下面的语句才能达到要求?SELECT, LAST_NAME, FIRST_NAME from employee where salary< avg(salary);
A. 改正where语句中的avg函数。
B. 把avg函数移到select中,且加一个group从句。
C. 在where语句中使用子查询和平均值比较。.
D. 把avg函数移到select中,且加一个group从句和having从句。
答案:C
98.
CREATE TABLE sale.
(purchase-no NUMBER(9) sale-purchase-no-pk PRIMARY KEY,
costumer-iNUMBER(9) sale-customer-id-nk NOT NULL);
下面哪句是正确的?
A. 没有建索引
B. 为 purchase_no列建了一个索引.
C. 为customer_no列建了一个索引
D. 为每列建了一个索引
答案:B
99. 在EMP表dept_no列上加一个外键引用DEPT表的ID列, 下面哪句是正确的?
A. 在DEPT表上使用ALTER TABLE和ADD。
B. 在EMP表上使用ALTER TABLE和ADD。
C. 在DEPT表上使用ALTER TABLE和MODIFY 。
D. 在EMP表上使用ALTER TABLE和MODIFY 。
答案:B
100. student 表结构如下:
Name Null Type
STU INOT NULL NUMBER(3)
NAME VARCHER2(25)
ADDRESS VARCHER2(50)
GRADUATION DATE
现在表是空的,你想让列不能输入空值,下面哪句是正确的?
A. ALTER TABLE student ADCONSTRAINT name(NOT NULL);
B. ALTER TABLE student ADCONSTRAINT NOT NULL (name);
C. ALTER TABLE student MODIFY CONSTRAINT name(NOT NULL);
D. ALTER TABLE student MODIFY(name varcher2(25) NOT NULL);
答案:D
101. 现想把STUDENT表的全部数据删除而要保留表结构,下面哪句是正确的?
A. DROP TABLE student;
B. TRUNCATE TABLE student;
C. DELETE * FROM student;
D. TRUNCATE TABLE student KEEP STRUCTURE;
E. DELETE* FROM student KEEP STRUCTURE.
答案:B
102. 你想保存的数据含有两位小数,但整数位经常变化使用下面的哪个数据类型?
A. NUMBER
B. NUMBER(T)
C. LANG
D. LANGRA
答案:A
103. 表结构如下:
STUDENT INOT NULL NUMBER (3)
NAME NOT NULL VARCHAR2 (25)
PHONE NOT NULL VARCHAR2 (9)
ADDRESS VARCHAR2 (50)
GRADUATION DATE
表里有几百行数据,你想把PHONE一列的数据类型改为number,怎样做?
A. ALTER TABLE student MODIFY phone NUMBER (9)
B. ALTER STUDENT table MODIFY COLUMN phone NUMBER (9);
C. 不能将VARCHAR2类型改为NUMBER类型。
D. 如果表中有数据就不能更改某一列的数据类型。
答案:D
104. 从SQL*PLUS中取得雇员号,如果工资低于1000,则长10%,下面哪个是正确的?
A. Declare
V_sal emp.sal % TYPE;
Begin
SELECT Sal
INTO V_sal
FROM emp
WHERE empno = & P_empno;
IF (V_Sal<1000) THEN
UPDATE emp
INTO Sal := Sal*1.1
WHERE empno = &p_empno;
ENIF;
END;
B. Declare
V_sal emp.sal % TYPE;
Begin
SELECT Sal
INTO V_sal
FROM emp
WHERE empno = & P_empno;
IF (V_Sal<1000) THEN
SAL := SAL * 1.1;
ENIF;
END;
C. Declare
V_sal emp.sal % TYPE;
Begin
SELECT Sal
INTO V_sal
FROM emp
WHERE empno =& P_empno;
IF (V_Sal<1000) THEN
UPDATE emp
Sal := Sal*1.1
WHERE empno =&p_empno;
ENIF;
END;
D. Declare
V_sal emp.sal % TYPE;
Begin
SELECT Sal
INTO V_sal
FROM emp
WHERE empno = &P_empno;
IF (V_Sal<1000) THEN
UPDATE emp
Set Sal := Sal*1.1
WHERE empno = & p_empno;
ENIF;
END;
答案:D
105. 下面哪句是正确的?
A. 在升序时空值排在最后。
B. 数据默认是按降序排列的。
C. 在ORDER BY 从句中不能指定一个列的别名。
D. 如果没有ORDER BY从句,结果按第一列排序。
答案:A
106. 下面哪个用法能判断PL/SQL循环中FETCH是否成功?
A. SQL % ISOPEN
B. SQL % ROWCOUNT
C. SQL % FOUND
D. 不能用 SQL cursor 属性完成此功能。
答案:A
107. scott 用户忘了密码,哪句可以重设密码?
A. Scott 执行ALTER USER scott PASSOWRBY lion
B. DBA执行ALTER USER scott IDENTIFIEBY lion
C. Scott 执行 ALTER USER scott IDENTIFIEBY lion
D. The scott 执行CHANGE pass worto lion WHERE "user=scott";
答案:B
108. 表结构如下:
STUD-INOT NULL NUMBER(3)
NAME NOT NULL VARCHER2(25)
ADDRESS VARCHER2(50)
GRADUATION DATE.
怎样插入一行数据?
A. INSERT INTO student.
VALUES(101, 'Smith');
B. INSERT INTO student.
VALUES(101, '100 Main Street', '17-JUN-99', 'Smith');
C. NSERT INTO test.
VALUES(101, 'Smith', '100 Main Street', '17-JUN-99');
D. INSERT INTO student.(stud-id,address,name,gradulation)
VALUES(101, '100 Main Street','Smith', '17-JUN-99');
答案:D
109. 在SQL*PLUS中执行下面的命令,
Delete from dept where dept_id=901
收到一个错误:有子记录,该怎样做?
A. 先删除子记录
B. 本命令不能执行。
C. 在本命令上加一个foreign
D. 在本命令上加一个cascade
答案:A
110. 在EMP表上创建了EMP-VIEW视图。
CREATE OF REPLACE VIEW emp-view
AS
SELECT deptno,SUM(sal)TOT_SAL,COUNT(*)NOT-EMP
FROM emp
GROUP BY deptno;
执行下面语句会有什么结果?
UPDATE emp-view
SET tot-sal=20000
WHERE deptno=10;
A. 基表没有更新。
B. EMP表中department为10的记录的TOT_SAL列的值更新为20,000
C. EMP-VIEW视图中department为10的记录的TOT_SAL列的值更新为20,000
D. EMP表中department为10的记录的SAL列的值更新为20,000
答案:A
111. 你正在更新employee表,Jane也被授予和你相同的权限,你想在commit前让Jane检查你的错误,Jane可以做什么?
A. Jane可以访问这个表,确认你的改变。
B. Jane不能访问这个表。
C. Jane可以访问这个表,不能确认你的改变,但可以给你修改。
D. Jane可以访问这个表,不能确认你的改变,也不可以给你修改。
答案:D
112. 视图ANN_SAL建立在employee表上,表结构如下:
NAME NULL TYPE
EMPNO NOT NULL NUMBER(4)
YEARLY_SAL NUMBER(9,2)
MONTHLY_SAL NUMBER(9,2)
下面哪句从 ANN_SAL视图中取出数据?
A. SELECT * FROM ANN_SAL
B. SELECT * FROM EMPLOYEE
C. SELECT * FROM VIEW ANN_SAL
D. SELECT * FROM VIEW ANN_SAL IS DON EMPLOYEE
答案:A
113.
IF v_value>100 THEN
v_new-value:=2*v-value;
ELSIF v-value>200 THEN
v-new-value:=3*v-value;
ELSIF v-value>300 THEN
v-new-value:=4*v-value;
ELSE
v-new-value:=5*v-value;
ENIF
如果 v_value=250那么 v_new_value是多少?
A. 250
B. 500
C. 750
D. 1000
答案:B
114. 现需要建立一个多次使用的cursor,每次有不同的操作,应建立什么样的cursor?
A. 带循环的cursor.
B. 支持多选的cursor.
C. 每个操作对应一个curosr
D. 带参数据的cursor
答案:D
115. 下面关于implicit cursors的说法哪个是正确的?Which statement about is true?
A. 当执行DML语句时Implicit cursors被隐式声明。
B. 当执行DML和SELECT语句时Implicit cursors被隐式声明。
C. 程序员应该在程序结尾关闭implicit cursors.
D. 程序员可以在decalre部分声明implicit cursors.
答案:B
116.
DECLARE
v-result NUMBER(2);
BEGIN
DELETE
FROM employee
WHERE dep_iIN (10,20,30);
v-result:= SQL%ROWCOUNT;
COMMIT;
END;
如果没有记录被删除,那么v_result的值是什么?
A. 0
B. 1
C. True
D. Null
答案:A
117.
BEGIN
FOR i IN 1..10 LOOP
IF I=4 OR I=6 THEN null;
ELSE
INSERT INTO test(result)
VALUES (I) ;
ENIF;
COMMIT;
ENLOOP;
ROLL BACK;
END.
上面的代码将插入TEST table多少行数据?
A. 0
B. 4
C. 6
D. 8
答案:D
118. 现想找出last name 的第二个字母为'A'的雇员,下面哪个是正确的?
A. select last_name from emp where last_name like '_A%';
B. select last_name from emp where last_name ='*A%';
C. select last_name from emp where last_name='_A%';
D. select last_name from emp where last_name like '*A%';
答案:A
119. 下面哪段代码放在Pl/SQL的可执行代码部分是正确的?
A. BEGIN
emp_reemp%ROWTYPE
END;
B. WHEN NO_DATA_FOUNTHEN
DBMS_OUTPUT.PUT.LINE('No records found');
C. Select ename,sal
into v_ename,v_sal
from emp
where
empno=101;
D. Procedure cal_max(n1 NUBER n2 NUMBER, p_max OUT NUMBER)
IS
BEGIN
If n1>n2 then
p_max:=n1;
Else
p_max=n2;
END.
答案:C
120. 你想取出每个部门的不同工作,但不想要重复的值,应该用下面哪个?
A. SELECT deptno, job
FROM emp;
B. SELECT no duplicate deptno, job
FROM emp;
C. SELECT distinct deptno, job
FROM emp;
D. CREATE report
DISPLAY deptno, job
FROM emp;
E. SELECT distinct deptno, distinct job
FROM emp;
答案:C
121. 下面哪个顺序是正确的?
A. HAVING, WHERE, GROUP BY
B. WHERE, GROUP BY, HAVING
C. GROUP BY, HAVING, WHERE
D. WHERE, HAVING, GROUP BY
答案:B
122. 在PL/SQL块的声明部分,创建了一个number型变量但没有初始化,当代码执行时它的初始值是什么?
A. 0.
B. Null.
C. 和变量的精度有关
D. 由于没有初始化,所以PL/SQL块不执行
答案:B
123. 下面哪个不是SQL*Plus命令?
A. List.
B. Accept.
C. Update
D. Describe.
答案:C
124. employee表包含以下列:
INUMBER(9)
LAST_NAME VARCHAR2(25)
FIRST_NAME VARCHAR2(25)
COMMISSION NUMBER(7,2)
需要做以下工作:
1. 显示commission乘1.5
2. 不包括commission为0的雇员
3. 如果commission为null则显示为0。
SELECT id, last_name, first_name, commission*1. 5
FROM employee
WHERE commission <>0;
关于上面的语句,下面的哪句是正确的?
A. 完成了所有的任务。
B. 完成了两项任务。
C. 完成了一项任务。
D. 语法错误。
答案:B
125. 现想从employee表中按从开始到现在的顺序显示所有雇员的hire date,下面哪句是正确的?
A. SELECT hire_date
FROM employee;
B. SELECT hire_date
FROM employee
ORDER BY hire_date;
C. SELECT employee
FROM employee
ORDER by hire_date;
D. SELECT hire_date
FROM employee
ORDER BY hire_date DESC;
答案:B
126. 现想把emp表所有job名为Clerk的改为Administrative Clerk,下面哪句是正确性的?
A. UPDATE emp
SET jo= 'Administrative Clerk';
B. UPDATE emp
Jo:= 'Administrative Clerk'
WHERE UPPER (job) = 'Clerk';
C. UPDATE emp
SET jo= 'Administrative Clerk'
WHERE UPPER (job) = 'CLERK';
D. UPDATE emp
SET values jo= 'Administrative Clerk'
WHERE UPPER (job) = 'Clerk';
答案:C
127. 看下面的PL/SQL块:
FOR employee_recorIN Salary_Cursor Loop
employee_id_table (employee_id):=employee_record.last_name;
ENLoop
Close Salary_Cursor;
END;
有什么错误?
A. cursor需要打开。
B. 没有退出条件。
C. 没有FETCH语句。
D. cursor 不需要显式关闭。
答案:D
128. 你想删除表中的所有数据但保留表结构,而且可以回滚,下面哪句是正确的?
A. DROP TABLE employee.
B. DELETE FROM employee.
C. TRUNCATE TABLE employee.
D. 没法完成
答案:B
129. 用户自定义exception应在PL/SQL块的哪部分声明?
A. 头部
B. 可执行部分
C. Declare部分
D. Exception部分
答案:B
130.
SELECT last_name, first_name
FROM employee
WHERE SALARY IN
(SELECT salary
FROM employee
WHERE dept_no=3 OR dept_no=5);
执行上面的语句将产生什么结果?
A. 显示部门3和部门5的所有的雇员的Last name和first name。
B. 显示除了部门3和部门5的所有的雇员的Last name和first name。
C. 显示工资等于部门3或部门5的雇员的工资的所有的雇员的Last name和first name。
D. 显示工资在部门3或部门5的雇员的工资范围之间的所有的雇员的Last name和first name。
答案:C
131. 如果利率像1.234, 3.4, 5 或1.23一样经常变化,应该使用什么数据类型?
A. LONG.
B. NUMBER.
C. NUMBER(p, s)
答案:B
132. 表结构如下:
STU INOT NULL NUMBER(3)
NAME NOT NULL VARCHAR2(25)
ADDRESS VARCHER2(50)
GRADUATION DATE
现想在NAME列后加上一列phone,下面哪句是正确的?
A. ALTER TABLE student
ADCOLUMN3(phone varchar2(9))
B. ALTER TABLE student
ADCOLUMN3(phone varchar2(9)) AS COLUMN3;
C. ALTER TABLE student
ADCOLUMN3(phone varchar2(9)) POSITION 3;
D. 上面的都不正确。
答案:D
133. 在PL/SQL中想取出ID为3的雇员的last name和 salary,下面哪句是正确的?
A. SELECT last_name,salary
FROM employee;
B. SELECT last_name,salary
FROM employee;
WHERE id=3;
C. SELECT last_name,salary
INTO v_last_name,v_salary
FROM employee
WHERE id=3;
D. SELECT l last_name,salary
FROM employee;
INTO v_last_name,v_salary
WHERE id=3;
答案:C
134. 在什么条件下需使用显式cursor?
A. 在PL/SQL块中使用DML 或select 语句。
B. 在PL/SQL块中使用delete 语句。
C. 在PL/SQL块中使用select 语句,且结果多于一行时。
D. 在PL/SQL块中使用update 语句。
答案:C
135. 在哪个数据字典中可以查看用户的view?
A. MY_VIEWS.
B. USER_VIEWS.
C. SYSTEM_VIEWS.
D. USER_TAB_VIEWS.
答案:B
136. 下面哪句从数据字典中取出指定表(作为参数输入)中主键的名字?
A. ACCEPT TABLE PROMPT('table to view primary key constraint:')
SELECT constraint_name
FROM user_constraint
WHERE table_name=upper('&table') ANconstraint_type= 'P';
B. ACCEPT TABLE PROMPT('table to view primary key constraint:')
SELECT constraint_name
FROM user_constraint
WHERE table_name=upper('&table') ANconstraint_type=
'PRIMARY';
C. ACCEPT TABLE PROMPT('table to view primary key constraint:')
SELECT constraint_name,constraint_type
FROM user_constraint
WHERE table_name=upper('&table');
D. ACCEPT TABLE PROMPT('table to view primary key constraint:')
SELECT constraint_name
FROM user_cons_columns
WHERE table_name=upper('&table') ANconstraint_type= 'P';
答案:A
137.
INO LAST_NAME FIRST_NAME SALARY DEPT_NO
7 Brown Terry 30000 255
6 Wargner Julie 233
4 southall davi 25000 102
3 chiazz mike 50000
2 limber john 32000 145
5 goldberg Kelvin 233
1 lomberg susan 55000
8 oliver tracey 145
现执行下面的代码:
SELECT dept_no,last_name,SUM(salary)
FROM employee
WHERE salary<50000
GROUP BY dept_no
ORDER BY last_name;
哪句引起错误?
A. FROM employee.
B. WHERE salary<50000.
C. GROUP BY dept_no.
D. ORDER BY last_name;
答案:C
138. 现在patient表上的id_number列加一个主键,下面哪句是正确的?
A. 这个任务无法完成。
B. ALTER TABLE patient
ADCONSTRAINT pat_id_pk PRIMARY KEY(id_number);
C. ALTER TABLE patient
AD(id_number CONATRAINT pat_id_pk PRIMARY KEY);
D. ALTER TABLE patient
MODIFY(id_number CONSTRAINT pat_id_pk PRIMARY KEY);
答案:B
139. 下面的哪个操作符可以用于多行子查询?
A. =
B. like
C. not in
D. is
答案:C
140.
DECLARE
CURSOR query_cursor(v_salary)IS
SELECT last_name,salary,dept_no
FROM employee
WHERE SALARY>v_salary;
上面代码哪错了?
A. parameter 的状态没有指定。
B. 不允许有where语句。
C. 少了into语句。
D. parameter没有指定数据类型。
答案:D
141.
SELECT name,salary
FROM employee
WHERE salary=
(SELECT salary
FROM employee
WHERE last_name= 'Wagner' OR dept_no=233)
上面哪有错误?
A. 子查询中不能有where语句。
B. where语句中不能使用or
C. 子查询返回结果为多行,但前面需要为单行。
答案:C
142. 视图emp_view建立在表emp上,下面哪句查看视图是怎样定义的?
A. DESCRIBE emp
B. DESCRIBE view emp_view
C. SELECT TEXT
FROM user_views
WHERE view_name= 'EMP_VIEW';
D. SELECT view_text
FROM my_views
WHERE view_name= 'EMP_VIEW';
答案:C
143. 下面哪句使一个已disabled的主键约束生效?
A. ALTER TABLE
ENABLE PRIMARY KEY(ID)
B. ALTER TABLE CARS
ENABLE CONSTRAINT cars_id_pk.
C. ALTER TABLE CARS
ENABLE PRIMARY KEY(id)CASCADE;
D. ALTER TABLE CARS
ADCONSTRAINT cards_id_pk PRIMARY KEY(id);
答案:B
144. 下面哪个表名是正确的?
A. #_667.
B. Number.
C. Catch_#22.
D. 1996_invoices.
答案:C
145.
DECLARE
CURSOR emp_cursor(p_deptno NUMBER, p_joVARCHAR2)
IS
SELECT EMPNO, ENAME
FROM EMP
WHERE DEPTNO=p_deptno
ANJOB=p_job;
BEGIN
. . .
下面哪行正确的打开了cursor?
A. OPEN emp_coursor.
B. OPEN emp_cursor('clerk',10);
C. OPEN emp_cursor(10, 'analyst');
D. OPEN emp_cursor (p_deptno,p_job);
答案:C
146. 下面哪个为salary*12命名了别名Annual Salary?
A. select ename, salary*12 Annual Salary from emp;
B. select ename, salary*12 'Annual Salary' from emp;
C. select ename, salary*12 "Annual Salary" from emp;
D. select ename, salary*12 AS Annual Salary from emp;
答案:C
147. 在SELECT语句中取出工资高于5000的雇员信息,使用下面的哪行?
A. order by salary>5000
B. group by salary>5000
C. having salary>5000
D. where salary>5000
答案:D
148.
select round(45.996 ,-1), trunc(45.996,2) from dual;
上面代码的结果是什么?
A. 46 和45.99
B. 50和45
C. 50和46
D. 50和45.99
答案:D
二、多选题
1. 以下哪些是java的保留字?
A. run
B. default
C. implement
D. import
答案:BD
2. 下面哪些是float的有效声明?
A. float foo=-1;
B. float foo=2.02f;
C. float foo=3.03d;
D. float foo=0x0123;
答案:ABD
3.
publiclass ConstOver{
publiConstOver(int x, int y, int z){}
}
下面哪两个是构造方法的重载?
A. ConstOver(){}
B. protecteint ConstOver(){}
C. private ConstOver(int z, int y, byte x){}
D. publivoiConstOver(byte x, byte y, byte z){}
答案:AC
4.
publiclass MethodOver{
publivoisetVar(int a, int b, float c){}
}
以下哪些重载了setVar方法?
A. private voisetVar(int a, float c, int b){}
B. protectevoisetVar(int a, int b, float c){}
C. publiint setVar(int a, float c, int b){return a;}
D. publiint setVar(int a, float c){return a;}
答案:ACD
5.
class BaseClass{
private float x=1.0f;
private float getVar(){return x;}
}
class SubClass extends BaseClass{
private float x=2.0f;
//insert code
}
以下哪些重写了getVar()?
A. float getVar(){
B. publifloat getVar(){
C. publidouble getVar(){
D. protectefloat getVar(){
答案:ABD
6. 下面哪种类型的对象可以用"throws"抛出?
A. Error
B. Exception
C. Throwable
D. Runtime Exception
答案:ABCD
7. 下面哪两个值相等?
A. 3/2
B. 3<2
C. 3*4
D. 3<<2
答案:CD
8. 下面哪两个是对的?
A. 静态的内部类需要一个静态的初始化方法
B. 一个静态的内部类需要一个外部类的实例来调用
C. 一个静态的内部类不需要外部类的实例来调用
D. 一个静态的内部类的静态成员可以用静态类的类名来调用。
答案:CD
9.
import javawt.*;
publiclass X extends Frame{
publistativoimain(String[] args){
X x=new X();
x.pack();
x.setVisible(true);
}
publiX(){
setLayout(new BorderLayout());
Panel p=new Panel();
add(p,BorderLayout.NORTH);
Button b=new Button("North");
p.add(b);
Button b1=new Button("South");
add(b1,BorderLayout.SOUTH);
}
}
下面哪两个是正确的?
A. 标有"North"和"South"的两个按钮具有相同的宽度。
B. 标有"North"和"South"的两个按钮具有相同的高度。
C. 标有"North"的按钮的高度可以随窗口的大小而改变。
D. 标有"North"的按钮的宽度不随窗口的大小而改变。
答案:BD
10. 下面哪两个接口可以储存关键字和数值对?
A. javutil.Map
B. javutil.Set
C. javutil.List
D. javutil.Sorted Map
答案:AD
11. 下面哪两个声明可以阻止方法重写?
A. final voimethoda(){}
B. voifinal methoda(){}
C. stativoimethoda(){}
D. statifinal voimethoda(){}
答案:AD
12. 下面哪两个是正确的?
publiclass OuterClass{
private double d1=1.0;
//在这插入代码
}
A. staticlass InnerOne{
publidouble methoda(){return d1;}
B. staticlass InnerOne{
statidouble methoda(){return d1;}
C. private class InnerOne{
publidouble methoda(){return d1;}
D. protecteclass InnerOne{
statidouble methoda(){return d1;}
E. publiabstract class InnerOne{
publiabstract double methoda();
答案:CE
13. 下面关于类的封装的描述,哪两个是正确的?
A. 成员变量没有访问控制符。
B. 成员变量可以直接访问。
C. 成员变量的访问控制符是private
D. 提供方法对数据进行访问和修改
答案:CD
14.
publiclass X implements Runnable{
publistativoimain(String[] args){
3) //在这插入代码
}
publivoirun(){
int x=0,y=0;
for(;;){
x++;
Y++;
System.out.println("x="+x+",y="+y);
}
}
}
下面哪些代码加在第3行可以使run()运行?
A. X x=new X();
x.run();
B. X x=new X();
new Thread(x).run();
C. X x=new X();
new Thread(x).start();
D. Threat=new Thread(x).run();
答案:AC
15.
1)publiabstract class Test{
2) publiabstract voimethoA();
3) publiabstract voimethoB()
4) { System.out.println("Hello");
5) }
6)}
需做哪三个变化(相对独立的)才能使代码编译通过?
A. 用 ";"代替第4行和第5行
B. 去掉methoB的abstract修饰符
C. 去掉methoA的abstract修饰符
D. 整个去掉methoB,并且把Test声明为interface
答案:ABD
16. AnInterface是一个接口,
AnAdapter0是一个非abstract、非final的类,且有一个没有参数的构造方法,
AnAdapter1是一个非abstract、非final的类,且没有一个没有参数的构造方法,但有一个有一个int参数的构造方法,
下面哪两个创建了匿名内部类?
A. AnAdapter0 aa=new AnAdapter0 (){}
B. AnAdapter1 aa=new AnAdapter1 (5){}
C. AnAdapter1 aa=new AnAdapter1 (){}
D. AnAdapter0 aa=new AnAdapter0 (5){}
答案:AB
17. 请看下面的HTML代码:
<html><body>
<form name="data" action="/servlet/DataServlet" method="POST">
<input type="text" name="name">
<input type="submit" name="submit">
</form>
</body></html>
找出两个方法可以从请求的form中取得name参数的值。
A. Get Parameter ("name");
B. Get Parameter Value ("name");
C. Get Parameter Values ("name");
D. Get Parameters ("name");
答案:AC
18. 下面哪些元素的body中( <elemnent>body</element>)可以用jsp:param?
A. <jsp:include ...>
B. <jsp:forwar...>
C. <jsp:params >
D. <servlet-params...>
答案:ABC
19. 下面哪些jsp action中允许使用表达式(expression)?
A. <jsp:setProperty name="name" value=<%= expression %>
B. <jsp:include page=<%= expresion %>
C. <jsp:paran name="name" value=<%= expression %>
D. <jsp:getProperty name=<% expression %>
答案:ABC
20. 下面哪些是page指令的属性?
A. info
B. buffersize
C. language
D. import
答案:ACD
21. 下面哪两个是有效的JSP expressions?
A. <% x %>
B. <%= Math.random() %>
C. <%= "YOSHI" + "EXAMINATOR" %>
D. <%= Math.random(); %>
答案:BC
22. 下面哪两个设置一个jsp页的content type?
A. <%@ contentType "text/plain" %>
B. <jsp:contentType "text/plain">
C. <%@ page contentType="text/plain" %>
D. <% response.setContentType("text/plain"); %>
答案:CD
23. 下面哪些说法是正确的?
A. Http Servlet.init () throws Servlet Exception
B. Http Servlet.service () thrwos Servlet Exception anIOException
C. Http Servlet.destroy () throws Servlet Exception
D. Http Servlet.do Head () throws Servlet Exception
答案:AB
24. 给定以下的Jumping Bean.java和index.jsp
publiclass Jumping Bean {
private String title = "JumpingBean";
private int num = 10;

publivoisetTitle(String title) {
this.title = title;
}
publiString getYoshi() {
return title;
}
publivoisetNum(int num) {
this.num = num;
}
publiint getNum(| {
return num;
}
}

index.jsp:
<html><body>
<jsp:useBean id="bean" class="com.yoshi.JumpingBean"/>
<jsp:setProperty name="bean" property="*"/>
Title: <%=bean.getYoshi()%><br>
Num: <%=bean.getNum()%><br>
</body></html>
对于下面的URL:
http://localhost/index.jsp?num=3
生成的HTML页中应为什么? (选取两个)
A. "Num: 0<br>"
B. "Num: 3<br>"
C. "Title: <br>"
D. "Title: Jumping Bean<br>"
答案:BD
25. 下面哪两个是Servlet Context接口的get Request Dispatcher方法的有效参数?
A. /fred.txt
B. error.html
C. /error.html
D. www.sun.com/error.html
答案:AC
26. 下面哪些情况下一个session会失效?(选两个)
A. 超过session的失效时间了,一直没有收到客户端的请求。
B. 客户发出了一个 KILL_SESSION的请求.
C. servlet容器由于session过多而使某一个session失效。
D. servlet 显式地使一个session失效。
答案:AD
27.
<html><body>
<form name="data" action="/servlet/Data Servlet" method="POST">
<input type="text" name="name">
<input type="submit" name="submit">
</form>
</body></html>
下面的哪两个方法可以取出name参数的值?
A. Get Parameter ("name");
B. Get Parameter Value ("name");
C. Get Parameter Values ("name");
D. Get Parameters ("name");
答案:AC
28.
1. CREATE TABLE SALARY.
2. (employee_iNUMBER(9)
3. CONSTRAINT salary_pk PRIMARY KEY,
4. 1995_salary NUMBER(8,2),
5. NUMBER_manager_name VARCHAR2(25)
6. CONSTRAINT mgr_name_nn NOT NULL,
7. $_salary_96 NUMBER(8,2));
上面的哪两行将引起错误?
A. 1.
B. 2.
C. 4.
D. 7.
答案:CD
29. 下面哪些是DML命令?
A. commit
B. update
C. delete
D. create
答案:BC
三、判断题
1. 点击超链接时是GET请求吗?
正确
错误
答案:A
2. 在地址栏输入url后回车是GET请求吗?
正确
错误
答案:A
3. <form action=""> 在form 提交时是post请求吗?
正确
错误
答案:B
4. Http Servlet Request类的get Parameter()方法返回类型是Object。
正确
错误
答案:B
5. Http Servlet Request类的get Parameter Names()方法返回类型是String[]。
正确
错误
答案:B
6. Http Servlet Request类的get Parameter Values()方法返回类型是String[]。
正确
错误
答案:A
7. Servlet Config类的get Init Parameters()方法可以取出初始参数。
正确
错误
答案:A
8. 文件找不到的错误代号是404吗?
正确
错误
答案:A
9. get Parameter("User Name"),如果请求中没有"User Name",返回值是""。
正确
错误
答案:B
10. set Content Type()是Http Servlet Request类的方法。
正确
错误
答案:B
11. senRedirect()方法可以转向本服务器以外的url。
正确
错误
答案:A
12. 当一个servlet修改后,需要重启服务器。
正确
错误
答案:A
13. 当一个JSP修改后,需要重启服务器?。
正确
错误
答案:B
14. Servlet Context类的get Request Dispatcher()可以接受相对路径。
正确
错误
答案:B
15. 一个weapplication可以用jar打包。
正确
错误
答案:A
16. 一个weapplication的部署描述符是wexml。

;