《JAVA与JSP动态网页编程与应用》作业
一、单选题
1.以下哪项都是关键字( )
A.package privati protect throw
B. false final finally float
C. this threadsafe super thread
D. abstract bool break main
2.以下哪种循环体能保证进入执行( )
A.while B.for C.do while D.都不是
3. 以下断言中正确的是( )
A.一个java源程序中只能有一个公共类
B.抽象类没有具体对象,所以抽象类没有具体函数
C.final类不能被其他的类继承
D.静态成员使用中可以使用super保留字,但不能使用this保留字
4. 6+5%3+2 的值是( )
A.2 B.9 D.10
5.有关JSP中的HTML注释叙述正确的是( )。
A. 发布网页时看不到,在源文件中也看不到
B. 发布网页时看不到,在源文件中能看到
C. 发布网页时能看到,在源文件中看不到
D. 发布网页时看不到,在源文件中也能看到
6.下列语句序列执行后,r的值是( )?
int x=5,y=10,r=5;
switch(x+y) {
case 15: r+=x;
case 20: r-=y;
case 25: r*=x/y;
default: r+=r;}
A.15 B.0 D.20
7. 下列方法定义中,方法头不正确的是( )
A.int x(){char ch=’a’;return (int)ch;}
B.void x(){…}
C.int x(int i){return(double)(i+10);}
D.int x(int a){return a;}
8.下列关于修饰符混用的说法,错误的是( )
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
9.下面有关类Demo的描述正确的有( )
public class Demo extends Base{
private int count;
public Demo(){
System.out.println(“A Demo object has been created”);
}
protected void addOne(){
count++;
}
}
A.当创建一个Demo类的实例对象时,count的值为0。
B.当创建一个Demo类的实例对象时,count的值不确定。
C.Base类型的对象中可以包含改变count值得方法
D.Demo的子类型对象可以访问count
10.以下断言错误的是( )
A、子类对象可以转化成父类对象
B、父类对象一般不能化成子类对象
C、子类对象与父类对象之间不能转化
D、子类对象转化成父类对象以后,对于子类与父类共有的方法,
仍然调用子类的方法
11、用于获取Bean属性的动作是( )
A.jsp:useBean B.jsp:getProperty
C.jsp:setProperty D.jsp:forward
12、用于为其他动作传送参数的动作是( )
A.jsp:param B.jsp:plugin
C.jsp:include D.jsp:useBean
13、在同一个JSP页面中page指令的属性中可以使用多次的是( )
A.import B.session
C.extends D.info
14、JavaBean 中作用域范围最大的是( )
A.page B.request
C.session D.application
15、在JSP/Servlet的生命周期中,用于初始化的方法是( )
A.out.print() B.out.clearBuffer()
C.out.newLine() D.out.clear()
16、阅读以下程序:
public class A
{ public static void main(String args[])
{ B b = new B(1 ); }
A()
{
System.out.print(“A”);
}
A(int i)
{
this();
System.out.print(“AA”);}
}
class B extends A
{ B()
{
super();
System.out.print(“B”);
}
B(int i)
{
super(i);
System.out.print(“BB”);
}}
则输出结果是()
A.BAABB B.AABBB
C.AAABB D.ABABB
17、class StringTest1
{
public static void main(String[] args)
{
String s1=“hello”;
String s2=“hello”;
String s3=new String(“hello”);
String s4=new String(“hello”);
if(s1s2){
System.out.println("s1s2");
}else{
System.out.println(“s1!=s2”);}
System.out.println("s3s4: "+(s3s4));
System.out.println("s3s4"+s3.equals(s4)));
}
}
则程序的输出结果为()
A.s1s2
s3s4: false
s3s4:true
B.s1s2
s1s4: false
s3s4:true
C.s1s2
s3s2: false
s3s4:true
D.s1s2
s3s4: false
s2==s4:true
18、class Relation
{
public static void main(String args[])
{ int a=5;
String s=“2+3=”;
int i,j;
i=126;
j=8;
boolean k=i>j;
s+=a;
System.out.println(“s=”+s);
System.out.println(“i>j is”+k);
}
}
程序输出的结果是()
A.s=2+3=5
i>j is ture
B.s=1+4=5
i>j is ture
C.s=2+3=5
I<j is ture
D.s=2+3=5
I=j is ture
19.如下哪些字串是Java中的标识符? ()
A、 fieldname B、super C、3number D、#number
20.已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面哪个表达式的值与数组下标量总数相等?( )
A、 m.length() B、m.length C、m.length()+1 D、m.length+1
21. 以下哪些可以作为正确的变量名( )
A.Bool nInt %percent I
B. ii jk $a b
C. bBool nInt sNAme private
D. 3int Cname _int (b)
22. 执行完下列代码后,
int kk=5;
float ff=2.4;
double dd=2*ff;
int value =(int)(kk+dd);
value 的值是( )
A.9 B.11 D.12
23. 在switch语句中无效的类型是( )
A.int B.short C.byte D.Boolean
24.设 char array[]=
{‘t’,’o,’m’,’a’,’n’,’d’,’j’,’e’,’r’,’r’,’y’};
String str=new String(array,6,6); 则 str=( )
A.编译出错 B.运行出错 C.jerry D.jerry0
25. 以下断言正确的有( )
A.所有的抽象类中的方法都必须是抽象方法
B.包含抽象方法的类须声明为抽象类
C.所有抽象类都没有构造函数
D.抽象类中的抽象方法必须在抽象类的子类中实现
26. 用来设置一个Label组件的文本的方法是( )
A.SetLableText() B.SetTextLable()
C.SetLable() D.SetText()
27. 以下断言中正确的是( )
A.final类中的属性和方法都必须被final修饰符修饰
B.构造函数可能抛出异常
C.构造函数可以有返回类型
D.引用一个类的属性或其调用方法,必须以该类的对象为前缀
28. JSP文件在第一次运行时被JSP引擎转化为( )。
A.CGI文件 B.JavaBean文件
C.HTML文件 D.Servlet 文件
29. Java语言中,为达到同步效果,使用什么方法来锁定共享资源( )
A.关键字 Private B.关键字 synchronized
C.关键字 Critical D.Tread
30. 当我们说明一个类C实现一个接口I,下面说法( )不正确。
A.接口I是类C的一个超类型
B.类C也实现了接口I的超接口
C.类C的子类也实现接口I
D.接口I类型的对象引用所指定的对象一定是类C或其子类的一个对象
31、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。
A.3 B.3. 5
C.4 D.5
32、为AB类的一个无形参无返回值的方法method书写方法头,使得使用类名AB
作为前缀就可以调用它,该方法头的形式为( )。
A.public static void method( ) B.public void method( )
C.final void method( ) D.abstract void method( )
33.下列哪个是合法的Java标识符?( )
A.Tree&Glasses B.FirstJavaApplet#
C._$theLastOne D.float
34、定义类的A如下:
class A
{ int a,b,c;
public void B(int x,int y,int c)
{
a=x;b=y;c=z;
}
}
下面对方法B( )的重载哪些是正确的( )
A.public void A(int x1,int y1,int z1){a=x;b=y;c=z}
B.public void B(int x1,int y1,int z1){a=x;b=y;c=z}
C.public B(int x,int y,int z){a=x;b=y;c=z}
D.public void B(int x,int y){a=x;b=y;c=0}
35、 在数组引用时,以下说法正确的是( )
A.数组下标可以是整型常量,也可以是整型变量,但不能是表达式
B.数组下标可以是整型变量,也可以是表达式,但不能是整型常量
C.数组下标可以是整型常量,也可以是整型变量或整型变量表达式
D.Java语言对数组元素不进行越界检查
36、用来换行的标签是( )
B.
C.
D.
37、out对象中能清除缓冲区中的数据,并且把数据输出到客户端的方法是( ) A.out.print() B.out.clearBuffer() C.out.newLine() D.out.clear 38、阅读以下程序: public class A{ public static void main(String args[]){ B b = new B(1 ); }A(){ System.out.print("A");}A(int i){this();System.out.print("AA");}}class B extends A{ B(){super();System.out.print("B");}B(int i){super(i);System.out.print("BB");}}
则输出结果是()
A.BAABB B.AABBB
C.AAABB D.ABABB
39、class StringTest1
{
public static void main(String[] args)
{
String s1=“hello”;
String s2=“hello”;
String s3=new String(“hello”);
String s4=new String(“hello”);
if(s1s2){
System.out.println("s1s2");
}else{
System.out.println(“s1!=s2”);}
System.out.println("s3s4: "+(s3s4));
System.out.println("s3s4"+s3.equals(s4)));
}
}
则程序的输出结果为()
A.s1s2
s3s4: false
s3s4:true
B.s1s2
s1s4: false
s3s4:true
C.s1s2
s3s2: false
s3s4:true
D.s1s2
s3s4: false
s2s4:true
40.已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的?
A、 args[0] = “MyTest a b c” B、args[0] = “MyTest”
C、args[0] = “a” D、args[1]= ‘a’
41.JSP支持的语言是( )。
A、C语言 B、C++语言 C、C#语言 D、Java语言
42.以下哪个修饰符可用于定义成员常量?( )
A、static B、final C、abstract D、friendly
43以下不是JavaBean的作用域的是( )。
A、bound B、page C、request D、application
44. 要使类中的某个成员变量只能被它自身和它的子类访问到,该变量可用( )修饰符修饰。
A、protected B、public C、private D、应不加修饰符
45. 以下关于构造函数的描述错误的是( )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
二、多选题
1、据程序的构成和运行环境的不同,Java源程序分为哪两大类()
A. Java Application B. Java Applet
C. page D. request
2、实现类的多态性的两种方式是()。
A. 覆盖 B. 重载
C. 控制 D. 重复
3、JSP开发Web站点的主要方式有()
A. 直接使用JSP B. JSP+JavaBean C. JSP+Servlet+JavaBean D. JavaEE模型 E. SSH
4、Servlet的生命周期的由()过程组成
A. init()方法:服务器初始化
B. service()方法:初始化完毕,Servlet对象调用该方法响应客户的请求
C. destroy()方法:调用该方法销毁Servlet对象
D. 重复
5、阅读以下程序
class ja1
{ int a;
private int b=2;
public static void main (String s[])
{ ja1 j1=new ja1();
ja1 j2=new ja1(3);
System.out.println(“j1.a=”+j1.a+" j1.b="+j1.b);
System.out.println(“j2.a=”+j2.a+" j2.b="+j2.b);
j2.ja();
}
ja1() { a=1; }
ja1(int i)
{ System.out.println(“b=”+b);
a=i;
b=i+1;
}
void ja()
{ int b=50;
System.out.println(“ja().b=”+b);
}
}
则程序输出的结果是()
A. b=2
B. j1.a=1 j1.b=2
C. j2.a= 3 j2.b=4
D. ja().b=50
6、关于Web应用程序的工作原理说法正确的是()
A、在Internet上信息大多以网页形式存储在服务器上,通过浏览器获取网页内容,这是一种典型的B/S(浏览器/服务器)模式。
B、B/S模式的工作过程是:客户端请求–>服务器处理–>对客户端响应
C、B/S模式的工作时,浏览器提交请求,Web服务器接受到请求后把请求提交给相应的应用服务器,由服务器调用相应的Web应用程序对客户端请求进行处理,将处理结果返回给Web服务器,Web服务器将处理结果(网页)响应给客户端(浏览器)。
D、Web应用服务器由动态网页技术开发,如JSP、ASP、PHP等。
7、关于JavaBean说法正确的是()
A、JavaBean是Java的可重用组件,
B、是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象。
C、如文件上传、发送E-mail、数据访问以及将业务处理或复杂计算分离出来成为独立可重复使用的模块
D、而JSP通过JavaBean实现了类的功能扩充。
8、int a=3,b=3;
System.out.println(“a=”+(a++)+",a="+a);
System.out.println(“b=”+(++b)+",b="+b);
System.out.println(“b=”+(b+=a–));
则输出结果错误的是()
A、a=3,a=4
b=4,b=4b=8
B、a=2,a=4
b=4,b=4b=8
C、a=3,a=2
b=4,b=4b=8
D、a=3,a=4
b=4,b=2b=8
9、阅读程序
class Var
{
int a=1,b=1,c=1;
void init(int a,int b) {
this.a = a;
this.b = b;
int c = 5;
System.out.println(“first a=”+a+" b="+b+" c="+c);
}
}
public class VarTest {
public static void main(String[] args) {
Var x = new Var();
System.out.println(“second a=”+x.a+" b="+x.b+" c="+x.c);
x.init(10,15);
System.out.println(“third a=”+x.a+" b="+x.b+" c="+x.c);
}
}
则输出结果错误的是()
A second a=1 b1first a=10 b=10 c=5
third a=10 b1
B second a=1 b1first a=10 b5
third a=10 b10
C second a=1 b1first a=10 b5
third a=11 b1
D second a=1 b1first a=10 b5
third a=10 b1
10、class Tt{ int a; public static void main(String args[]){ int a=8; Tt tt=new Tt();
System.out.println(“main().a=”+a); System.out.println(“Tt.a=”+tt.call()); } int call(){ int a=2; this.a=a++; System.out.println(“call().a=”+a); return this.a; } }执行后的输出结果错误的是()
A main().a=8;
call().a=2
Tt.a=3
B main().a=8;
call().a=1
Tt.a=4
C main().a=8;
call().a=3
Tt.a=1
D main().a=8;
call().a=3
Tt.a=2
11、类及类的要素是()
A类的标识 B类的属性 C类的方法 D类的标记
12、类及类的特点是()
A继承性 B多态性 C封装性 D属性
13、当第一次运行一个JSP页面时,JSP引擎要完成()操作
A当用户访问一个JSP页面时,JSP页面将被编译成Servlet文件(Java文件)。
B JSP引擎调用Java编译器,编译Servlet文件为可执行的代码文件(.class文件)。
C用Java虚拟机(JVM)解释执行.class文件,并将执行结果返回给服务器。
D服务器将执行结果以HTML格式发送给客户端的浏览器。
14、创建JavaBean的规则有()
A必须有一个无参的构造函数。
B对在Bean中定义的所有属性提供getter和setter方法,并且这些方法是公共的。
C对于boolean类型的属性,其getter方法的形式为isXXX的,其中XXX为首字母大写的属性名。
D对于数组类型的属性,要提供形式为getXXX和setXXX的方法。
15、阅读以下程序
class Q6{
public static void main (String args[]){
double d=12.3;
Decrementer dec=new Decrementer( );
dec.decrement(d);
System.out.println(d);
}
}
class Decrementer{
public void decrement(double decMe){
decMe = decMe- 1.0;
System.out.println(decMe);
}
}
则输出结果有()
A 11.3 B 12.3 C 10.3 D 12.1
16、关于不要捕获以及声明抛出“超级异常”的理由正确的是()
A 异常分为检查的和未检查的两种类型,对于检查的异常编译器要求在方法中必须捕获之或声明之,
B 而对于未检查的异常,编译器并不强制方法捕获或是声明。
C 超级异常捕获之后,我们无法根据信息进行进一步处理。
D 因此,对于超级异常一般不用捕获及抛出。
17、JDBC的作用是什么()
A同一个数据库建立连接。
B向数据库发送SQL语句。
C处理数据库返回的结果。
D处理数据库
18、. int a=5,b=3;
System.out.println(“a=”+(a++)+",a="+a);
System.out.println(“b=”+(++b)+",b="+b);
则输出结果是()
A a=5 a=6 B b=4 b=4 C a=6 a=6 D b=5 b=4
19、阅读以下程序
class Parent
{
void printMe()
{
System.out.println(“父类”);
}
}
class Child extends Parent
{
void printMe()
{
System.out.println(“子类”);
}
viod PrintAll()
{
super.PrintMe();
this.ProntMe();
PrintMe();
}
}
public class Test
{
public static viod mian(String args[])
{
Child myChild=new Child();
MyChild.PrintAll();
}
}
则程序的执行结果错误的是()
A父类
子类
子类
B父类
父类
子类
C父类
子类
父类
D子类
子类
子类
20、import java.io.* ;
public class A
{
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);}
}
程序输出的结果错误的是()
A s= 180 B s= 170 C s= 185 D s= 186
三、判断题
1、如果一个Java源程序文件中定义有4个类,则使用javac编译该源程序文件将产生4个文件名与类名相同而扩展名为class的字节码文件。( )
2、在Java程序中,通过类的定义只能实现单继承,但通过接口的定义可以实现多继承关系。( )
3、JSP页面就是在html或XML代码中嵌入Java语法或jsp元素,从而实现系统的业务功能。( )√
4、动态初始化一个元素为5的一维字符串类型的数组String myArray[]=new String[5]。( )
5、Java程序利用JDBC类库访问数据库,其中利用JDBC-ODBC桥技术就意味这可以访问所有当前流行的数据库。( )
6、当前主流的动态WEB开发技术是PHP、ASP/ASP.NET和JSP。( )
7、Servlet文件在Java Web 中的主要作用是作为控制器,Servlet部署时需要在 web.xml文件中配置。
8、表达式(-10%3)的值是-2。( )
9、抽象类体现的是一种继承关系,抽象类中可以定义方法,并默认其行为。( )
10、接口和接口实现者在本质上是一致的,接口实现者只是实现了接口定义的行为而已;接口的定义中只能声明方法,不能为这些方法提供默认行为。( )
11.表达式 3+“的值是325.2。( )
12.多继承问题指的是一个类有多个父类; 在java语言中通过接口方法解决多继承问题。( )
13.动态初始化一个元素为7的一维长整型数组long myArray[]=new long[7]。( )
14.如果一个Java源程序文件中定义有4个类,则使用javac编译该源程序文件( )
将产生4个文件名与类名相同而扩展名为.class的字节码文件。( )
15.JDBC是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成。( )
16.JSP开发Web站点的主要方式有:直接JSP、JSP+JavaBean、JSP+Servlet+JavaBean、JavaEE开发模型和SSH。( )
17.抽象方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,最终方法(final 方法)方法是不能被当前类的子类重新定义的方法。( )
18.表达式(-100%3)的值是-1。( )
19.设 x = 2 ,则表达式 ( x + + )/3 的值是1。( )
20、创建一个名为 MyPackage 的包的语句是package MyPackage,该语句应该放在程序的位置为应该在程序第一句。( )
21.动态初始化一个元素为10的一维字符数组char myArray[]=new char[10]。( )
22. 接口是一种由抽象方法和常量组成的类型。( )
23. 子类重新定义一个与从父类那里继承来的成员变量完全相同的变量,这种面向对象程序设计特性称为成员变量的隐藏。( )
24.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet。( )
25.Java中的数据类型分为基本数据类型和对象数据类型两大类。( )
10.JSP表达式常用在向页面输出内容、生成动态链接地址和动态制定form表单处理页面。( )
26.程序设计过程中可能会出现的两种错误是编译错误、运行错误。( )
27、在Java接口中定义的变量总是被隐式声明为public、static 和 final。( )
28.动态初始化一个元素为6的一维字符串数组String str=new String[6]。( )
29. StringBuffer s1 =new StringBuffer(“);
StringBuffer s2 =s1.append(“);
则 s2=1234321( )
30.字符输入流BufferedReader使用了缓冲区技术。( )
31.表达式12!=12的值为false。( )
32.在Java程序中,通过类的定义只能实现单重继承,但通过接口可以实现多重继承。( )
33.一个try代码段后面必须跟着若干个catch代码段或者一个finally代码段。( )