当前位置:文档之家› java期末复习题 (1)

java期末复习题 (1)

java期末复习题 (1)
java期末复习题 (1)

一、单项选择题

1.关于继承以下陈述正确的是 ( D )

A. "X extends Y" is correct if and only if X is a class and Y is an interface.

B. "X extends Y" is correct if and only if X is an interface and Y is a class.

C. "X extends Y" is correct for all combinations of X and Y being classes and/or interfaces.

D. "X extends Y" is correct if X and Y are either both classes or both interfaces.

2.运行第一行和第二行代码后,x、a、b的值正确的是 ( C )

1. int x, a=6,b=7;

2. x=a++ + b++;

A. x=15,a=7,b=8

B. x=15,a=6,b=7

C. x=13,a=7,b=8

D. x=13,a=6,b=7

3.表达式(13+3*4)/4%3的值是 ( A )

A. 0

B. 25

C. 2

D. 1

4.在JAVA程序中import、class和package的正确出现顺序是 ( C )

A. class,import,package

B. package,class,import

C. package,import,class

D. import,package,class

5.某一程序的main方法中有如下语句,则输出的结果是 ( B )

string s1=“”,s2=“12”;

double x = (s1);

int y = (s2);

A. 12

B.

C.

D. “”

6.定义整数数组x:

int[] x=new int[25];

关于x的描述正确的是 ( D )

A. x[24] is undefined.

B. x[25] is 0

C. x[0] is null

D. is 25

7.下列不属于面向对象编程的三个特征的是(B )

A.封装

B.指针操作

C.多态性

D.继承

8.JDBC 中要显式地关闭连接的命令是(A )

A. ()

B. ()

C. ()

D. ()

9.下列数组定义及赋值,错误的是(B)

A. int intArray[];

B. intArray=new int[3];intArray[1]=1;intArray[2]=2;intArray[3]=3;

C. int a[]={1,2,3,4,5};

D. int a[][]=new int[2][];a[0]=new int[3];a[1]=new int[3];

10.分析选项中关于Java中this关键字的说法正确的是(A)

A. this关键字是在对象内部指代自身的引用

B. this关键字可以在类中的任何位置使用

C. this关键字和类关联,而不是和特定的对象关联

D.同一个类的不同对象共用一个this

11.线程调用了sleep()方法后,该线程将进入( C )状态

A. 运行状态

B. 阻塞状态

C. 休眠状态

D. 终止状态

12.下列选项中,用于在定义子类时声明继承父类名字的关键字是( C )

A. Interface

B. Package

C. extends

D. Class

13.以下语句有语法错误的是( A )

A. int x=1; y=2; z=3

B. for (int x=10,y=0;x>0;x++);

C. while(x>5);

D. for(;);

14.以下哪个表达式是不合法的(C )

A. String x = “hello”; int y=9; x+=y;

B. String x = “hello”; int y=9; if(x==y){}

C. String x= “hello”;int y=9; x=x+y;

D. String x=null; int y=(x!null)&&()>0)():0;

15.如果需要从文件中读取数据,则可以在程序创建哪一个类的对象( A )

A. FileInputStream

B. FileOutputStream

C. DataOutputStream

D. FileWriter

16.paint()方法使用哪种类型的参数( A )

A. Graphics

B. Graphics2D

C. String

D. Color

17.以下哪项可能包含菜单条(B)。

A. Panel

B. Frame

C. Applet

D. Dialog

18.以下代码段执行后的输出结果为( A )

int x=-3; int y=-10;

-1 B. 2 C. 1 D. 3

19.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B )

A. String args

B. String ar[]

C. Char arg

D. StringBuffer args[]

20.以下哪个关键字可以用来对对象加互斥锁( B )

A. transient

B. synchronized

C. serialize

D. static

21.以下有关类的继承的叙述中,正确的是( D )

a)子类能直接继承父类所有的非私有属性,也可以通过接口继承父类的私有

属性

b)子类只能继承父类的方法,不能继承父类的属性

c)子类只能继承父类的私有属性,不能继承父类的方法

d)子类不能继承父类的私有属性

22.关于Java语言叙述错误的是( C )

a)Java语言具有跨平台性

b)Java是一种面向对象编程语言

c)Java语言中的类可以多继承

d)Java的垃圾收集机制自动回收程序已不知使用的对象

23.线程生命周期中正确的状态是( A )

a)新建、就绪、运行、堵塞和死亡

b)新建、运行和死亡

c)新建、运行、堵塞和死亡

d)就行、运行、堵塞和死亡

24.以下标识符中哪项是不合法的( A )

A. static

B. $double

C. hello

D. BigMeaninglessName

25.下列方法中可以用来创建一个新线程的是( C )

a)实现接口并重写start()方法

b)继承接口并重写run()方法

c)继承类并重写run()方法

d)实现类并实现start()方法

26.以下哪项是接口的正确定义( B )

A. interface B

{ void print() { } ; }

B. interface B

{ void print(); }

C. abstract interface B extends A1,A2 abstract interface B

{ void print() ; }

27.有以下程序片段,下列哪个选项不能插入到行1。( D )

1.

class Interesting{

3.}

A. import .*;

B. package mypackage;

C. class OtherClass{ }

D. public class MyClass{ }

28.下面程序的运行结果是 A

public class Short {

public static void main(String args[]) {

StringBuffer s= new StringBuffer(“Hello”);

if (() <5) && (“ there”).equals(“Hello”))) ; The output : value is Hello

B. The output : value is Hello there

C. A compile error at line 4 or 5

D. No output

29.给出如下程序

public static void main (String[] args){

String str = “null”;

if (str == null){

if() == 0){

运行结果为 C

A. null

B. zero

C. some

D. 编译失败

30.当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行( D )

A.init() B.start() C.destroy() D.stop()

31.以下关于构造函数的描述错误的是( B )。

A. 构造函数是类的一种特殊函数,它的方法名必须与类名相同。

B. 构造函数的返回类型必须是void型。

C. 构造函数的主要作用是完成对类的对象的初始化工作。

D. 一般在创建新对象时,系统会自动调用构造函数。

32.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( C )。

A. final void method( )

B. public void method( )

C. static void method( )

D. abstract void method( )

33.设 x = 1 , y = 2 , z = 3,则表达式 y=z--/++x 的值是( C )。

A. 3

B. 3.5

C. 1

D. 5

34.以下哪个关键字可以用来为对象加互斥锁( D )

A. transient B. static C. serialize D. synchronized

35.有以下方法的定义,请选择该方法的返回类型( C )。

R eturnType method(byte x, double y) {

return (short)x/y*2;

}

A. byte

B. short

C. double

D. int

二、写出以下各题的输出结果

1. 请说出E类中的输出结果为。

interface A{

double f(doublex,double y);

}

class B implements A{

p ublic double f(double x,double y){

return x*y;

}

int g(int a,int b){

return a+b;

}}

public class E{

p ublic static void main(String[] args){

A a=new B();

b=(B)a;

2.给出如下程序

public static void main (String[] args){

String str = “null”;

if (str == null){

if() == 0){

运行结果为 ____some _______

3.某一程序的main方法中有如下语句,则输出的结果是

string s1=“”,s2=“12”;

double x = (s1);

int y = (s2);

4.下列程序运行结果__false__true___false______________.

class TwoObjects

{ public static void main(String[] args)

{ B b1=new B();

B b2=new B();

}}

class B

{ int x;

B( ){ x=1;}}

5.下列程序运行结果v0 v1 1

v1 1 __________________.

import .*;

public class VecApp {

public static void main(String[] args) {

Vector v = new Vector();

for(int i = 0; i <2; i++)

("v"+i);

(new Integer(1),2);

Enumeration e = ();

while())

" ");

("v0" );

for(int i = 0; i < () ; i++)

+" ");

}}}

6.下列程序运行结果____2 4 6 8_________________.

import .*;

public class UseLabel

{ public static void main(String[] args)

{ Loop: for(int i=2; i<10; i++) {

if( i%2!=0) continue Loop;

" ");}

}}

7.下列程序运行结果

Caught negative_______.

class MyException extends Exception{

public String toString( ){ return "negative"; }

}

public class ExceptionDemo{

public static void mySqrt(int a) throws MyException {

if( a<0 ) throw new MyException();

}

public static void main( String args[] ){

try{ mySqrt(9); mySqrt(-9 ); }

catch( MyException e ){ "Caught "+e); }

}

}

8.下列程序运行结果____ in First ______ in Second ___________

class First {

First() {

("in First");

}

}

public class Second extends First {

Second() {

"in Second");

}

public static void main(String[] args) {

Second mine= new Second(); }

}

三、简答题

1.线程和进程有什么区别

线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程

线程间可以共享进程中的某些内存单元,并利用这些单元来实现交换,实时通信与必要的同步操作但与进程的中断与恢复可以更加节省系统的开销。

线程更是运行在进程中的小进程

2.Java对标识符命名有什么规定

标识符由字母,下划线,美元符号和数字组成,长度不受限制

标识符的第一字符不能是数字字符

标识符不能是关键字

标识符不能是true,false,null

3.String类和StringBuffer类的主要区别是什么

String类创建的字符串对象是不可修改的

String字符串不能修改.删除或替换中的某个字符,对象一旦创建不可以再发生变化StringBuffer类能创建可修改的字符串序列

StringBuffer对象的实体的内存空间可以自动地改变大小

4.什么叫方法的重载构造方法可以重载吗

方法重载是:简单说就是同一个方法名,不同的传参,一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同或者是参数的类型不同。

构造方法可以重载

5.如何在Java中实现线程

Java线程类也是一个object类,它的实例都继承自或其子类。可以用如下方式用java 中创建一个线程:Tread thread = new Thread();

执行该线程可以调用该线程的start()方法:();

6.Thread 类中的start() 和 run() 方法有什么区别

start()用来启动线程,真正实现了多线程,这时无需等待run()方法体代码执行完毕而直接继续执行下面的代码:通过调用Thread类的start()方法此线程处于就需状态并没有运行,然后通过此Thread类调用方法run()来完成其运行操作的,这里方法run ()称为线程体,她包含了要执行这个线程的内容,run方法运行结束,此线程终止。而cpu 再运行其他线程。

7.Float型常量和double型常量在表示和用法上有什么区别

double为双精度,占8个字节,是64位的浮点数float为单精度,内存中占4个字节,是32位的浮点数 .double取值范围和精度比float要高

变量定义上有些不同,比如:floath a = ; double a = ;float类型值后面有一个f;

四、编程题

1.判断101到200之间有多少个素数,并输出所有素数。

2.public class sushu {

3.public static void main(String[] args) {

4.z: for (int o = 101; o < 200; o++) {

5.for (int p = 2; p < o / 2; p++) {

6.if (o % p == 0)

7.continue z;

8.}

9.}}}

2.一个数如果恰好等于他的因子之和,这个数就称为“完数”。(因子就是所有可

以整除这个数的数,不包括这个数自身. 比如6的因子是1,2,3),编写一个应用程序求1000之内的所有完数。

10.public class wanshu {

11.public static void main(String[] args) {

12.int i, j;

13.for (i = 1; i <= 1000; i++) {

14.int sum;

15.sum = 0;

16.for (j = 1; j < i; j++) {

17.if (i % j == 0) {

18.sum += j;

19.}

20.}

21.if (i == sum)

22." " + i);

23.}}}

编写程序模拟猫和狗。

程序中有4个类:Animal、Dog、Cat和主类MainClass类。要求如下:(1) Animal类有权限是protected的String型成员变量name,以及public void cry()、public void showName()方法。

(2)Dog类是Animal的子类,新增public void swimming()方法,声明狗会游泳。重写public void cry()方法,说明狗的叫声“汪”。

(3)Cat类是Animal的子类,新增public void uptree()方法,声明猫可以上树;重写public void cry()方法,说明猫的叫声“喵”。

(4)在主类MainClass中分别使用Dog和Cat类创建对象,并调用各自的方法。

(5)写出程序的运行结果。

class Animal {

protected String name;

public void showName() {

}

public void cry() {

"不同动物的叫声是有区别的");

}

}

class Dog extends Animal {

Dog(String s) { name = s;}

public void cry()

{ "汪汪汪");}

public void swimming()

{ "加速划水ing"); }

}

class Cat extends Animal {

Cat() { name = "猫"; }

Cat(String s) { name = s; }

public void cry()

{ "喵喵喵");}

public void climbUpTree(){ "会爬树");

}}

public class Xc_01 {

public static void main(String args[]) {

Dog dog = new Dog("小黄狗"); Cat cat = new Cat("小花猫"); ();

();

();

();

();

();

}}

Java语言程序设计期末大作业

《Java语言程序设计》公选课期末大作业 学号:姓名:分数: 一、程序分析题 1、写出下列语句的打印结果: a. System.out.println(2+”bc”); b. System.out.println(2+3+”bc”); c. System.out.println((2+3)+”bc”); c. System.out.println(“bc”+2+3); 2、执行以下代码,m和n的值是多少? int n=123456789; int m=0; while(n!=0) { m=(10*m)+(n%10); n=n/10; } m= n= 3、以下代码将什么值存储在数组a[]中? int N=10; int [] a =new int[N]; a[0]=1; a[1]=1; for(int i=2;i

JAVA期末考试试卷

天津城市建设学院2007~2008学年第二学期 《 java 语言程序设计A 》 试题A 卷 课程号:073101-0 试卷说明:闭卷考试,时间120分钟。 一、 填空(本题共15空,每空2分,共30分) 1.如果一个java 源程序文件中定义有4个类,使用sun 公司的JDK 编译器javac 编译该源程序文件将产生_____4___个文件名与类名相同扩展名为___.Class_____的字节码文件。 2.Java 中所有类都是类 __Object__的子类。 3.请填出在java .lang 包中与下列基本数据类型相对应的封装类: float :java .lang .Float , char : _ java .Lang.char_______, boolean : ___ java .Lang.boolean_____。 4.被关键字____final______修饰的方法是不能被当前类的子类重新定义的方法 5.线程的四种状态是__新建_____ 、_运行_ 、_中断 、__死亡___。 6.java 语言中__https://www.doczj.com/doc/9e11631060.html,ng.Objet ___是所有类的根。 7.Swing 的事件处理机制包括__事件的监听者__、事件和事件处理者。 8.URL_____Uniform Resourse Locator_____是的缩写。 9.java 有两类应用程序java Application 和____java 10.转义字符以___\__开头。 二、选择(本题共20小题,每题2分,共40分) 1.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的 ? ( B ) A 、 ArrayList myList=new Object (); B 、 List myList=new ArrayList (); C 、 ArrayList myList=new List (); D 、 List myList=new List (); 2.paint()方法使用哪种类型的参数? ( A ) A 、 Graphics B 、 Graphics2D C 、 String D 、 Color 3.指出正确的表达式 ( C ) A 、 byte=128; B 、 Boolean=null; C 、 long l=0xfffL; D 、 double=0.9239d; 4.指出下列程序运行的结果 ( B ) public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex .change(ex .str,ex .ch); System .out .print(ex .str+" and "); Sytem .out .print(ex .ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } B 、 good and abc B 、 good and gbc C 、test ok and abc D 、 test ok and gbc 5.运行下列程序, 会产生什么结果 ( A )

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

java考试试卷及答案

JAVA考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能

JAVA学生管理系统期末大作业

JA V A学生管理系统大作业 课程名称:JA V A编程基础 题目:学生信息管理系统 专业:计算机软件 班级:计算机软件121班 学号:8000612030 学生姓名:李俊楠 完成人数:1人 起讫日期:第十六周至第十八周 任课教师:龚根华职称:副教授 部分管主任: 完成时间:2015-1-2

目录 ------------------------------2 课题设计内容------------------------------3 程序功能简介 需求分析--------------------------------------------------3 总体设计---------------------------------------------------3 模块详细设计---------------------------------------------------4 数据库设计 ------------------------------5 主体内容 ------------------------------6 心得体会 -----------------------------11 参考书籍 -----------------------------12

一:课题设计内容 学生管理系统 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。 二:程序功能简介 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

JavaWeb期末大作业

西安欧亚学院2015—2016学年第二学期考试成绩评定表专业:软件工程课程:Web开发技术(Java)年级:14级

《Web开发技术(Java)》 大作业 姓名: 题目:Web开发技术大作业 专业:软件工程 班级: 日期:

目录 1.JSP开发概述 (1) 1.1.JSP M ODEL1 (1) 1.2.JSP M ODEL2 (1) 1.3.MVC设计模式 (2) 2.JSP MODEL1案例 (4) 2.1功能描述 (4) 2.2C ACULATOR类分析 (4) 2.3JSP页面代码分析 (4) 2.4功能实现 (4) 2.5测试用例设计 (6) 3.JSP MODEL2案例 (7) 3.1功能描述 (7) 3.2MVC架构分析 (7) 3.3M ODEL层类分析 (8) 3.4控制类分析 (8) 3.5V IEW层界面分析 (8) 3.6功能实现 (8) 3.7测试用例设计 (10)

1.JSP开发概述 1.1.JSP Model1 JSP Model 1采用了JSP+JavaBean的技术,将页面显示和业务逻辑分开。其中,JSP实现流程控制和页面显示,JavaBean对象封装数据和业务逻辑。接下来通过一张图来描述JSP Model 1的工作原理,如图1-1所示。 图1-1 JSP Model 1模型的工作原理图 从图1-1中可以看出,JSP Model 1模型将封装数据以及处理数据的业务逻辑的任务交给了JavaBean组件,JSP只负责接受用户请求和调用JavaBean的组件来响应用户的请求,这种设计实现了数据,业务逻辑和页面显示的分离,在一定程度上实现了程序开发的模块化,降低了程序修改和维护的难度。 1.2.JSP Model2 JSP Model 2架构模型采用JSP+Servlet+JavaBean的技术,此技术将原本JSP 页面中的流程控制代码提取出来,封装到Servlet中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。实际上JSP Model 2模型就是MVC设计模式,其中控制器的角色是由Servlet实现,视图的角色是由JSP页面实现,模型的角色是由JavaBean实现。接下来通过一张图来描述Model 2的工作原理,如图1-2所示。 从图1-2中可以看出,Servlet充当了控制器的角色,它接受用户请求,并实例化JavaBean对象封装数据和对业务逻辑进行处理,然后将调用JSP 页面显示JavaBean中的数据信息。

Java期末考试题

2010年——2011年Java期末考试题 一、判断题。 1.Java语言是平台无关的语言。T 2.类的静态方法中可以访问该类的非静态数据成员.F 3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不 会变的。T 4.覆盖方法所抛出的异常不能比原方法更多。T 5.Final 方法不能被覆盖。T 6.抽象类中一定包含抽象方法。F 7.接口中的方法必须是抽象方法。T 8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。F 9.Java支持多重继承。F 10.Final修饰的类不能派生子类。T 11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T 12.不能在静态方法中使用this.T 13.抽象类中不能创建对象。T 14.一个类可以实现多接口。T 15.接口中可以包含非静态成员。F 16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。T 17.一个类实现一个接口,则该类必须实现接口中的所有方法。F 18.线程使用sleep方法去休眠后可以使用notify方法唤醒。F 19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。F 20.Final类中的属性和方法都必须是final的。F 二、选择题 1、Java中复合数据类型不包括(D) A.类类型 B.数组 C.接口类型 D.指针 2、请从四个选项中选择答案,下列代码的执行结果是:(C) Public class Test{ Public static void main(String args[]){ Float t=9.0f; Int q=6; System.out.println((t++)*(--q)); } } A.40 B.40.0 C.45.0 D.36.0 3、下列关于修饰符混用的说法,错误的是(D) A.abstract 不能与final 并列修饰同一个类 B.abstract类中可以有非abstract的方法 C.普通类(非abstract类)中不能有abstract方法 D.static方法中能处理非static的属性 4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A) A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问 C.只能被该类自身所访问 D.只能被同一个包中的类访问 5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A) A.12 B.24 C.16 D.3 6、以下赋值语句正确的是(D) A.char c1=”a” B.float f1=3.22 C.byte b1=266 D.long L1=0xAC8L 7、Java不支持多重继承,但我们可以通过(B)实现 A.多态 B.接口 C.覆盖 D.抽象类 8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A) A. person p[]=new person[3]; p[1]=new student(); B .student s[]=new person[3]; s[1]=new person(); C .person p[]= new student[3];p[1]= new person(); D .student s[]=new student[3];s[1]=new person; 9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C) A.MyClass类中的两个方法:little和1 B. MyClass.Java中有三个类:MyClass、little和1 C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1 D. MyClass、little和1,这三者没什么关系 10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。 A.public static void main() B.public static void main(String arg[]) C.public static int main(String[] arg) D. B.public void main(String arg[]) 11、当编译和运行下面的代码会出现什么情况?(A)

Java期末考试试卷1

信息学院2006—2007学年第二学期期末考试试题A 课程名称:Java 语言程序设计主讲:年级: 班级姓名学号 题号一二三四五合计 分数 一、选择(每题1分,共20分) 1.有一个名为MyClass的public类,想成功编译需满足以下哪个条件?() A. MyClass类中必须定义一个正确的main()方法。 B. MyClass必须定义在MyClass.java源文件中。 C. MyClass类必须定义在MyClass包中。 D. MyClass类必须被导入。 2.以下哪些修饰符不能用于顶层类?( ) A. public B. private C. abstract D. final 3.以下哪个是java中合法的关键字?( ) A. array B. Boolean C. protect D. super 4.以下哪些是合法的标识符?( ) A.%abcd B. 2abcd C. package D. _a_long_name 5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同。这种面向对象程序的特性称为. () A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 6.有以下代码,请问该程序的运行结果是什么?( ) class Example { public static void main(String args[]){ boolean b=true; System.out.println(b); } } A. 打印输出true B. 打印输出1 C.编译错误 D. 无内容输出 7.以下哪些是基本数据类型?( ) A.int B. String C. Integer D. Float 8. 给出以下代码,请选择正确的选项?( ) class Example{ public static void main(String[] args){ char a=”\u1234”; } } A. 代码编译成功 B. 代码编译成功,但有警告 C. 代码编译失败 9.以下哪个语句用于声明一个二维数组?( ) A. int[5][5] a=new int[][]; B. int a=new int[5,5] C. int[][] a=new int[5][5]; D. int[][] a=new [5]int[5]; 10.给出以下代码,请问该程序的运行结果是什么?()

JSP程序设计期末大作业

JSP程序设计期末大作业 1.网站的运行环境 在这次大作业中,我使用的软件是NetBeans IDE 8.0和MySQl,(额外使用了名为Navicat for MySQL的辅助性软件,主要是更方便的测试表的内容) 2.设计思路 这次的网页包括三个三个主页面。 存放登录代码的Pnl1.jsp, 存放主静态页面的pnl3.jsp存放留言信息的,liuyanban.jsp。 以及,存放身份验证的Pnl2.jsp,显示此次留言的liuyan.jsp,修改留言的update.jsp,删除留言的delete.jsp。 3.网站功能模块 4.核心技术 4.1jsp JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP 文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 它实现了Html语法中的java扩展(以<%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。 Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet 和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 4.2HTML 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果. 4.3CSS 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越杂乱,而且HTML页面也越来越臃肿。于是CSS便诞生了。 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 4.4MySQL ySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属 于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL 作为网站数据库。

JAVA语言程序设计期末考试试题及答案

J A V A语言程序设计期末考试试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

J A V A语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B )。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A) 0 B) 1 C) 2 D) 3 2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。 A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C )。 A)interface B) package C) extends D) class 6.若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0]

7.下列语句序列执行后,ch1 的值是( B )。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B 8.下列语句序列执行后,i 的值是( D )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 9.下列语句序列执行后,k 的值是( C )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 10.下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 11.设有定义 float x=, y=, z=;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y

JAVA语言程序设计期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

《JAVA语言程序设计》期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案 (应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

java期末考试复习题及答案

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

JAVA期末大作业

JAVA期末大作业 1.圆柱体: import java.util.*; public class cylinder { public static void main(String[] args) { double radius,height; final double PI=3.14; double area,volume; Scanner s=new Scanner(System.in); radius=s.nextDouble(); height=s.nextDouble(); area=2*PI*radius*radius+2*PI*radius*height; volume=PI*radius*radius*height; System.out.println("area="+area); System.out.println("volume="+volume); } } 结果: 2.heap: import java.util.*; public class heap { public static boolean isYearHeap(int x){ if(x%4==0||x%400==0){ return true; }else{ return false;

} } public static void main(String args[]){ int i; Scanner s=new Scanner(System.in); i=s.nextInt(); if(isYearHeap(i)){ System.out.println("Heap"); }else{ System.out.println("Not a heap year"); } } } 结果: 3.符号: import java.util.*; public class test { public static void main(String[] args) { int a=60;/*60=0011 1100*/ int b=13;/*13=0000 1101*/ int c=0; c=a&b;/*12=0000 1100*/ System.out.println("a&b="+c); c=a|b; System.out.println("a|b="+c); c=a^b; System.out.println("a^b="+c); c=~a; System.out.println("~a="+c); c=a<<2;

相关主题
文本预览
相关文档 最新文档