当前位置:文档之家› JAVA期末复习资料

JAVA期末复习资料

JAVA期末复习资料
JAVA期末复习资料

一、单选题

1.下列不可作为java语言修饰符的是( D )

A) a1 B) $1 C) _1 D) 11

2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是( A )

A) a1.java B) a1.class C) a1 D) 都对

3.整型数据类型中,需要内存空间最少的是( D )

A) short B) long C) int D) byte

4. Java中( C )

A) 一个子类可以有多个父类,一个父类也可以有多个子类

B) 一个子类可以有多个父类,但一个父类只可以有一个子类

C) 一个子类可以有一个父类,但一个父类可以有多个子类

D) 上述说法都不对

5.下列哪些语句关于Java内存回收的说明是正确的。( B )

A.程序员必须创建一个线程来释放内存

B. 内存回收程序负责释放无用内存

C. 内存回收程序允许程序员直接释放内存

D. 内存回收程序可以在指定的时间释放内存对象

6.下面的哪个赋值语句是不对的? ( A )

A.float f = 11.1; B.double d = 5.3E12;

C.double d = 3.14159; D.double d = 3.14D;

7.以下由do-while语句构成的循环执行的次数是( B )。

int k=0;

do { ++k; }while ( k < 1 );

A.一次也不执行

B.执行1次

C.无限次

D.有语法错,不能执行

8.若有定义Sting jerry="I love Tom",s1;则s1=jerry.substring(2)的值为( C)

A. l

B. love

C. love Tom

D. Tom

9. 类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的哪些修饰符获得需要的访问控制( D )

A public

B default

C protected

D private

10.在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。

A.try子句

B.catch子句

C.finally子句

D.throw子句

11. 在Java中,用Package语句说明一个包时,该包的层次结构必须是( B )

A.与文件的结构相同

B.与文件目录的层次相同

C.与文件类型相同

D.与文件大小相同

12. Java 的int 型变量占内存的字节是( C )

A1 B2 C4 D与机器有关

13.为了区分类中重载的同名的不同方法,要求( A ).

A.采用不同的形式参数列表

B.返回值类型不同

C.调用时用类名或对象名做前缀

D.参数名不同

14. 下面关于数组的说法,错误的是( B )。

A.数组是最简单的复合数据类型,是一系列数据的集合

B.声明数组时,必须分配内存

C.数组的元素可以是值(基本数据类型)、对象或其他数组

D.一个数组中的所有值都必须是相同的类型

15. 下列语句片段

int a=10,b=4,c=20,d=6;

System.out.println(a++*b+c*--d);

的结果为( C )

A.144

B.28

C.140

D.不能执行

16. 在Java中,所有类的根类是( A )

A. https://www.doczj.com/doc/d313826872.html,ng.Object

B. https://www.doczj.com/doc/d313826872.html,ng.Class

C. java.applet.Applet

D. java.awt.Frame

17. int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )

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

18.下列关于构造方法的特点描述中错误的是( A )

A.不可重载

B.方法名同类名

C.无返回类型

D.系统自动调用

19. 下面的是关于类及其修饰符的一些描述,不正确的是:( B )。

A.abstract类只能用来派生子类,不能用来创建abstract类的对象。

B.final类不但可以用来派生子类,也可以用来创建final类的对象。

C.abstract不能与final同时修饰一个类。

D.abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。

20. 下列构造方法的调用方式中,正确的是 ( C )

A.按照一般方法调用

B.由用户直接调用

C.只能通过new自动调用

D.被系统调用

21. 复合语句用( B )括起来的一段代码。

A.小括号()

B.大括号{}

C.中括号〔〕

D.单引号‘’

22.下列关于构造方法的叙述中,错误的是( C )

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

23. 若a 是int 型变量,计算表达式a=25/3%3 后,a 为( B )

A. 1

B. 2

C. 3

D. 4

24.Java变量中,以下不属于引用类型的数据类型是( B )

A. 类

B. 字符型

C. 数组型

D. 接口

25.编译一个定义了两个类和三个方法的Java源程序文件,总共会产生( D )个字节码文件。

A.5个字节码文件,以“.java”为扩展名

B.2个字节码文件,以“.java”为扩展名

C.5个字节码文件,以“.class”为扩展名

D.2个字节码文件,以“.class”为扩展名

26.关于实例方法和类方法,以下描述正确的是:( D )

A. 实例方法只能访问实例变量

B. 类方法既可以访问类变量,也可以访问实例变量

C. 类方法只能通过类名来调用

D. 实例方法只能通过对象来调用

27. 在编写异常处理的Java程序中,每个catch语句块都应该与( C )语句块对应,使得用该语句块来启动Java的异常处理机制。

A. if – else

B. switch

C. try

D. throw

28. 类Test1定义如下:

1. public class Test1{

2. public float aMethod(float a, float b){ }

3.

4. }

将以下哪种方法插入行3是不合法的。( B )

A.public float aMethod(float a, float b,float c){ }

B.public float aMethod(float c,float d){ }

C.public int aMethod(int a, int b){ }

D.private float aMethod(int a,int b,int c){ }

29.关于接口的定义和实现,以下描述正确的是:( A )

A. 接口定义中的方法都只有定义没有实现

B. 接口定义中的变量都必须写明final和static

C. 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码

D. 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public.

30.下列有关事件监视器的说法正确的是( B )

A.一个组件上不可以注册多个事件监视器

B.一个事件监视器可以被注册到多个组件上

C.一个组件上注册多个事件监视器会发生冲突,不会起作用。

D.一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用

31. 在java中,字符串由https://www.doczj.com/doc/d313826872.html,ng.String和( B )定义

A. https://www.doczj.com/doc/d313826872.html,ng.StringChar

B. https://www.doczj.com/doc/d313826872.html,ng.StringBuffer

C. java.io.StringChar

D. java.io.StringBuffer

32.对于catch子句的排列,下列哪种是正确的( B )

A.父类在先,子类在后

B.子类在先,父类在后

C.有继承关系的异常不能在同一个try程序段内

D.先有子类,其他如何排列都无关

33.下列关于抽象类的说法四个是正确的?( C )

A.某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法;

B.接口和抽象类是同一回事;

C.绝对不能用抽象类去创建对象;

D.抽象类中不可以有非抽象方法。

34. 下列描述正确的是( C )

A.多态性就是指子类的某个方法被其父类重写时,可以各自产生自己的功能行为。

B.多态性就是指子类的某个方法被其父类重写时,不能各自产生自己的功能行为。

C.多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。

D.以上都不对

35.下列说法正确的是( D )

A. try-catch-finally代码块中的finally子句只有在try子句和catch子句都执行执行之后才执行

B.如果try代码块中出现了异常并被catch子句捕捉到,那么finally子句就不再执行了

C.只有try代码块中没有出现异常时,finally子句才会执行

D.不管try代码块中是否出现异常,或者catch子句是否捕捉到异常,finally子句都将被执行

36.下面( D )赋值语句不会出现编译警告或错误。

A.float f=1.3;

B.char c="a";

C.byte b=257;

D. int i=10;

37. 将类的成员的访问权限设置为默认的,则该成员能被( A)

A同一包中的类访问B其他包中的类访问

C所有的类访问 D所有的类的子类访问

38.下列关于Java语言的特点,描述错误的是( C )

A.Java是跨平台的编程语言 B.Java支持分布式计算

C.Java是面向过程的编程语言 D.Java支持多线程

39. System.out.println("5" + 2);的输出结果应该是( A )。

A.52

B.7

C.2

D.5

40.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是( B )包。

A.java.io

B.java.awt

C.java.applet

D.java.awt.event

41. 假设已经有一个类已经实现了ActionListener接口,下面哪个方法可以把这个类注册到按钮控件上?( B )。

A. addListener()

B. addActionListener()

C. addButtonListener()

D. setListener()

42. Java 语言使用的字符集是( C )

A. ASCII

B. EBCDI

C. Unicode

D. BCD

43. JAVA中,为了辩别用户是否关闭窗口,要实现监听器接口( C )。

A.MouseListener

B.ActionListener

C.WindowListener

D.以上都要

44.菜单的事件源是用鼠标点击某个菜单项,ActionListener,要实现的接口方法是actionPerformed(ActionEvent e), 获得事件源的方法是getSource(), 处理该事件的接口是( A )

A. ActionListener

B.actionPerformed

C. getSource

D. ItemListener

45. 关键字supper的作用是( D )

A用来访问父类被隐藏的成员变量B用来调用父类中被重载的方法

C用来调用父类的构造函数D以上都是

46.下列定义形式错误的是( B )

A float a[];

B float a[5]; Cint a[]=new int[5]; D float []c;

47. 一个事件源必须注册监听器才能接收一个事件通知,以将产生的事件对象传输给( D )来处理。

A.事件代理(监听器)

B.事件源

C.主程序

D.事件处理方法

48.Java 中 main() 函数的返回值是什么 ? ( D )

A 、 String

B 、 int

C 、 char

D 、 void

49.如下哪个字串在Java 中可作为自定义标识符?( A )

A.$number

B.super

C.3number D .#number

50.如下哪个不是 Java 中有效的关键字? ( B )

A.const

B. NULL

C.false

D.this

51.如下哪个不是 Java 中正确的整数表示 ?( D )

A.22

B. 0x22

C. 022

D.22H

二、填空题

1.若x = 5,y = 10,则x < y和x >= y的逻辑值分别为1和0。

Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和swing开发包来实现。

2.如果在子类中想使用被子类隐藏了的父类成员变量或方法就可以使用关键字super。

3.使用关键字boolean来定义逻辑变量。

4.在Java中,所有类的根类是https://www.doczj.com/doc/d313826872.html,ng.Object。

5.如果一个Java程序文件中定义有3个类,编译该源程序文件将产生3个文件名与类名相同而扩展名为.class的字节码文件。

6.Java提供了java.io包,其中包括一系列的类来实现输入/输出处理。

7.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间。

8.在java 语言中,所有的数组都有一个Length属性,这个属性存储了该数组的元素的个数(数组长度)。

9.一个对象通过调用从Objecto类中继承的toString方法,可以获得该对象的字符串表示,该字符串的形式为:对象的类的名字@对象的引用地址。

10.“3cat”.matches(\\dcat)的值是true。

11.在循环体中,如果想结束本次循环可以用continue _语句。

12.在循环体中,如果想跳出循环,结束整个循环可以用break语句。

13..Swing的事件处理机制包括事件源、事件和事件处理。

14.Java源文件中最多只能有一个public或公共类,其它类的个数不限。

15.如果一个方法被修饰为final方法,则这个方法不能被重写。

16.“Look”.equals(“look”)的值是false。

17.创建一个标识有“关闭”字样的按钮对象gb的语句为 ( Button gb = new Button(“关闭”) )。

18.数组声明后,必须使用new运算符分配内存空间。

19.类体有两部分构成:一部分是变量的定义,另一部分是方法的定义。

20.抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法。

21.Java 的图形界面技术经历了两个发展阶段,分别通过提供AWT 开发包和Swing开发包来实现。

22.在类方法中只能调用类变量和类方法,不能调用实例方法。

23.Java中不用修饰的成员变量称为友好变量。

24.访问权限是private变量,只能在本类中使用,不能在类外使用。

25.访问权限是public变量,不但在本类中使用,还可以在任何另外一个类中使用。

26.访问权限是友好变量,只能在本类和与本类同一个包中的其他类使用。

27.继承是一种由已有的类创建新类的机制。

28.在编写异常处理的Java程序中,每个catch语句块都应该与try语句块对应,使得用该语句块来启动Java的异常处理机制。

29.方法体中抛出异常的关键字是throw。

30.用修饰符static说明的成员变量是类变量。

(private同一个类可以访问,public 是全局都可以访问,子类,同一个包,同一个类都可以访问),protected是同一类,同一个包,子类可以访问,无修饰符号是缺省类型--default,可以在同一个类,同一个包内访问)

31.为了能使用Java提供的类,我们可以使用import语句来引入所需的类。

32.Object类有一个public方法是_toString,一个对象通过调用该方法可以获得该对象的字符串表示。

33.在Java中,负责对字节代码解释执行的是Java虚拟机jvm。

34.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是https://www.doczj.com/doc/d313826872.html,ng。

35.创建可修改的字符串对象,我们会基于(StringBuffer)类来创建。

36.Java语言的各种数据类型之间提供两种转换:强制转换和自动转换。

37.可以使用String类直接调用valueOf()方法将数值转化为字符串。

38.开发与运行Java程序需要经过的三个主要步骤为编辑、编译和运行。 (编辑源程序、编译生成字节码和解释运行字节码。...)

39.Java程序中可以向容器添加组件,一个容器可以使用add()方法将组件添加到该容器中。

40.创建数组后,系统会给每一个数组元素一个默认的值,如float型是0.0。

41.在java程序中,用关键字final修饰的常量对象创建后就不能再修改了。

42.若有定义int[ ]a=new int[8];则a 的数组元素中第7 个元素和第8 个元素的下标分别是6和7。

43.接口是一种只含有抽象方法或常量的一种特殊抽象类。

44.如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的参数个数必须是不同的,这种现象称为方法的重载。

45.接口体中所有的成员,其访问权限一定是(public)。

46.接口中所有属性均为public, static和final的。

47.在一个类的内部被嵌套定义的类称为内部类。

48.接口中的方法被默认的访问权限是public。

49.“RedBird”.indexOf(“Bird”)的值是3。

50.标识符是以字母、下划线、美元符号作为首字母的字符串序列。

51.final类不能被继承,即不能有子类。

52.javax.swing包中的JFrame类或子类所创建的一个对象就是一个窗口。

53.捕获异常的统一出口通过finally语句实现。

54.定义类的构造方法不能有返回值类型,其名称与类名相同

55.下列选项中,用于实现接口的关键字是(implements )

56..程序可以处理的异常对应的类是https://www.doczj.com/doc/d313826872.html,ng.Exception及其子类。

57.Java程序中件,一个容器可以使用add()方法将组件添加到该容器中。

58.成员变量在整个类内都有效,局部变量只在定义他的方法内有效。

59.同一段程序可能产生不止一种异常。可以放置多个catch 子句,其中每一种异常类型都将被检查,第一个与之匹配的就会被执行。

60.String类是不可变类,对象所包含的字符串内容永远不会被改变。

61.在java语言中,boolean型常量只有true和false两个值。

62.Java中能够产生事件的对象都可以成为事件源,如文本框、按钮、键盘等。

63.局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this。

64.局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this。

65.在java程序中,把关键字super()加到方法名称的前面,来实现子类调用父类的方法。

66.使用关键字 interface来定义接口。

67.异常处理的方法有两种:应用try…catch…finally结构对异常进行捕捉和处理、通过throws 与throw语句抛出异常进行处理。

68..在Java中用关键字package来创建包。

69.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。

70.容器里的组件的位置和大小是由布局管理器决定的。

71.创建一个引用名为button,标识为”计算”的按钮,请写出创建语句。JButton button=new JButton(“计算”。

72.创建一个菜单时,菜单放在菜单条里,菜单选项放在菜单里。

73.在窗口中增加菜单条,必须使用Frame类中的方法:setMenuBar(Menubar)。

74.Java.awt包中的Menu类是负责创建菜单的。它的一个实例就是一个菜单。

75.在Menu类的方法中, add(String s)方法是向菜单增加指定的选项。

76.在Menu类的方法中,getItem(int index)方法是得到指定索引处的选项。

77.在Menu类的方法中,getItemCount( )方法是得到菜单选项的数目。

78.在Menu类的方法中, remove(int index)方法是删除菜单的指定位置的菜单选项。

79.在Menu类的方法中,removeAll( )方法是删除菜单的所有选项。

80.Java.awt包中的MenuItem类是负责创建菜单项的,它的一个实例就是一个菜单项。

三、程序填空题

1. 按注释说明,在下划线处填入正确的语句

public class Exam3 {

public static void main(String args[]) {

byte d[]="How are you".getBytes();

System.out.println("数组d的长度是:"+ _____________________);

String s=______________________; //用字节数组构造字符串。

System.out.println(s); //输出:How are you

}}

2. 已知3*3矩阵如下 :

1 2 3

4 5 6

7 8 9

假设(1 5 9)为该矩阵的正对角线。以下程序是求该矩阵的正对角线的值的和。请完成程序。

public class Test{

public static void main(String[] args) {

int i, j, sum = 0;

int count = 1;

int a[][] = new int[3][3];

for (i = 0; i < 3; i++) {

for (j = 0; j < 3; j++) {

a[i][j] =count; // 初始化数组

count++;

}

}

//打印二维数组

for (i = 0; i < 3; i++) {

for (j = 0; j < 3; j++) {

System.out.print(a[i][j]+ " ");

}

System.out.println(" ");

}

//显示对角线之和

for (i = 0; i < 3; i++) {

sum =sum+a[i][i];

}

System.out.println("对角线之和:" + sum);

}

}

3.下面程序决断用户从键盘输入的字符序列是否全部由英文字母组成,请填空。

import java.util.Scanner;

public class E{

public static void main (String args[ ]) {

String regex = "[a-zZ-Z]+";

Scanner scanner =new Scanner(System.in);//从键盘输入文本。

String str = scanner.nextLine();

if(str.matches(regex)) //字符串分析是否全部由英文字母组成。

{

System.out.println(str+"中的字符都是英文字母");

}

}

}

4. 如下java源程序文件中,程序的功能是在数组中查找键盘键入的整数。如果找到则输出该整数在数组中的序号,否则输出“not found”。例如,运行程序,输入99,程序输出:99在数组中的序号是5;输入59,程序输出:not found。请仔细阅读程序,补充相应的语句,使整个程序能够正常运行。(注意:不改动程序的结构,不得增行或删行)

【程序代码】

import java.io.*;

import java.util.Scanner;

public class J_Test{

public static void main(String[] args) throws IOException{

int a[]= {83,75,92,67,55,99,78,61};

Scanner in = new Scanner(System.in);

int x = Integer.parseInt(in.readLine());

int index = -1;

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

if(a[i] == x){

index = i;

break;

}

}

if(index == -1)

System.out.println("not found");

else

System.out.println(x + "在数组中的序号是" + index);

}

}

四、简答题:

1、在继承关系中,方法的重写要遵循“两同两小一大”规则,简述两同两小一大原则的含义。

参考答案:“两同”即方法名相同、形参列表相同,“两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常应比父类方法声明抛出的异常类更小或相等。“一大”指的是子类方法的访问权限应比父类方法更大或相等。

2、子类继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?

参考答案:①子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与

父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。

②子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。

③在子类中允许有一个方法和父类的方法名字相同而类型不同。

3、下列代码是否可以编译成功?由此得出的结论是什么?

class Animal {

public void eat() throws IOException {

System.out.println("Animal is eating.");

throw new IOException();

}

}

class Horse extends Animal {

public void eat() throws Exception {

System.out.println("Horse is eating.");

throw new Exception();

}

}

答案:不能

结论:重写方法子类不能抛出比父类更为广泛的异常,及异常范围不能扩大

4、下列代码输出结果为?由此得出的结论是什么?

class Animal {

public static void eat(){

System.out.println ("Animal is eating.");

}

}

class Horse extends Animal{

public static void eat(){

System.out.println ("Horse is eating.");

}

}

public class Hidden {

public static void main(String[] args) {

Animal h = new Horse();

h.eat();

}

}

答案:Animal is eating.

结论:静态方法和所属的类进行绑定,实例方法和所属的对象进行绑定

5、如果在某个方法中访问名为a的变量,简述系统查找变量a的顺序

参考答案:先查找本方法中是否有a局部变量,再查找当前类中是否有a的成员变量,最后查找当前类的直接父类中是否包含a成员变量,依次上溯到间接父类,直到https://www.doczj.com/doc/d313826872.html,ng.Object类,如果最终不能找到,则系统出现编译错误。

6、下列代码的输出结果是什么?原因是什么?

StringBuffer sb1 = new StringBuffer("a");

StringBuffer sb2 = new StringBuffer("a");

System.out.println(sb1.equals(sb2));

String s1 = new String("a");

String s2 = new String("a");

System.out.println(s1.equals(s2));

答案:false

true

StringBuffer类中没有重新定义equals这个方法,而String类中重新定义了equals这个方法。

五、编程题

1、请写出完整的程序代码,定义一个类,类名为Test,求1到10的阶乘

public class Test{

public static void main(String[] argv){

long result =1;

for(int i =1;i<=10;i++){

result = result*i;

}

System.out.println(“1到10的阶乘是:”+result);

}

}

2、请写出完整的程序代码,类名为Test,利用for语句打印九九乘法表。

public class Test{

public static void main(String[] argv){

long result =1;

for(int i =1;i<=9;i++){

for(int j=1;j<=i;j++){

result = i*j;

System.out.print(i+”*”+j+”=”+result + “\t”);

}

System.out.println(“”);

}

}

}

3、请写出完整的程序代码,类名为Test,求1+2+3+……100的奇数的和

public class Test{

public static void main(String[] args){

long result =1;

for(int i =1;i<=100;i++){

if(i % 2 == 0)

continue;

result = result+i;

}

System.out.println(“1到100奇数的和是:”+result);

}

}

4.请写出完整的程序代码,类名为Test,实现求出1—100之和

public class abc{

public static void main(String[] args){

for(int i=1,sum=0;i<=100;i++)

sum+=i;

System.out.println(“sum=”+sum);

}

}

5.请写出完整的程序代码,类名为Test,实现1-100之间的偶数输出

public class For{

public static void main(String[] args) {

for(int i=1; i<=100;i++){

if(i%2!=0)

continue;

System.out.println(“偶数”+i);

}

}

6.编写程序去除一个字符串中的全部数字字符

import java.util.*;

public class E {

public static void main (String args[ ]) { Scanner reader=new Scanner(System.in);

String str = reader.next();

String regex = "\\d+";

str = str.replaceAll(regex,"");

System.out.println(str);

}}

Java期末复习重点

Java期末复习大纲 程序练习: 1.编程实现:从键盘分别输入一个4位的整数,然后计算并输出各位数字之和。2.编程实现:求出一组数中的最大数和最小数。 3.字符串的相关操作(参考实验指导实验19、实验20) 4.编程实现:在程序中定义一个Person类,一个Person类的子类Student类,再定义主类C1,在main方法中,生成Student的对象,并输出各项信息。(参考《实验指导》实验31、实验32) 5.定义一个Rectangle类,它包含两个私有成员:length(长)和width(宽),均为整型。两个公有成员:带两个整型参数的构造函数,用来获得从外界传入的数据;成员方法GetArea()(用来计算面积)。然后在main方法中构造一个Rectangle的对象并输出它的面积。 6.编程实现如下的骰子游戏:丢下两个骰子,若分值的总值为7点,则“赢”; 否则“输”。 (1)首先定义Die类。 提示:Die类表示一个骰子有faceValue一个int成员,有一个roll()方法和getFaceValue()方法。roll()方法使faceValue为1~6中的一个随机值(取随机值采用https://www.doczj.com/doc/d313826872.html,ng.util包中的Random类,例如:取1~10之间的一个随机整数:Random r=new Random();int x=r.nextInt(10)+1)。getFaceValue()方法是返回faceValue的值。 (2)然后定义DiceGame类。 提示:DiceGame类有die1、die2两个整型成员变量,一个play()方法,该方法返回一个布尔类型,true表示分值的总值为7点,否则为false。 (3)最后定义Test类,对上面定义的类进行测试。 提示:写出主类,main()方法中产生一个DiceGame对象,执行play()方法后显示输赢。 7.有一个Animal类,它里面定义了void eat()、void breath()两个方法,方法体的内容自己定义,从Animal类派生出Fish、Cat类,要求在main方法中有Fish、Cat类的对象调用父类Animal中的两个方法。 8.编写一个Java程序,用接口相关知识解决:电在线路上传输时都会有损耗,假如计算电费时区分冬季和夏季用电情况,冬季在电表读数上加20度作为用电损耗,而夏季没有此损耗。每度电费为0.49元,用电度数为125,分别计算出冬季和夏季相应的电费。

最新javaweb学习课程总结

总结一:javaweb课程总结刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,也是精神饱满,信心十足,怀着一腔热血来听课。 由于JAVAWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JAVAWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA 这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。 对JAVAWEB和JSP课程的知识就简单介绍到这里,本学期的这两门课程让我对软件工程这门课有了一个全新的认识,我真切的学到了能用的东西,大学里的很多课是浪费时间,而

JAVA复习资料

第一章 1.Given the following, 1. interface Base { 2. boolean m1 (); 3. byte m2(short s); 4. }Which code fragments will compile?(Choose all that apply.) A.interface Base2 implements Base { } B.abstract class Class2 extends Base { public boolean ml() { return true; } } C.abstract class Class2 implements Base { } D.abstract class Class2. implements Base { public boolean m1() { return (true); } } E.class Class2 implements Base { boolean m1( ) { return false; } byte m2(short s) { return 42; } } 2. Which declare a compilable abstract class? (Choose all that apply.) A.public abstract class Canine { public Bark speak(); } B.public abstract class Canine { public Bark speak() { } } C.public class Canine { public abstract Bark speak(); } D.public class Canine abstract{ public abstract Bark speak(); } 3. Which is true? (Choose all that apply. ) 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 if X and Y are either both classes or both interfaces. D."X extends Y" is correct for all combinations of X and Y being classes and/or interfaces. 4. Which are valid declarations? (Choose all that apply.) A.int $x; B.int 123; C.int _123; D.int #dim; E.int %percent; F.int *divide; G.int central_sales_region_Summer_2005_gross _sales 第二章 1. Which statement(s) are true? (Choose all that apply.) A.Has-a relationships always rely on inheritance. B.Has-a relationships always rely on instance variables. C.Has-a relationships always require at least two class types. D.Has-a relationships always rely on polymorphism. E.Has-a relationships are always tightly coupled. 2.Given: class Clidders {public final void flipper() { System.out.println("Clidder"); }} public class Clidlets extends Clidders { public void flipper() { System.out.println("Flip a Clidlet"); super.flipper(); } public static void main(String [] args) { new Clidlets().flipper(); } } What is the result? A.Flip a Clidlet B.Flip a Clidder

Java期末考试复习

面向对象与java程序设计复习提纲 一、考试题型: 选择题:20分,2×10 填空题:10分,2×5 判断题:10分,2×5 程序阅读题:26分,4个题目 程序设计题: 34分, 2个题目 二、复习要点: (1)基本知识考核重点章节:基本数据类型、类与对象、子类与继承、String类、多线程(2)能力考核方向:基础编程能力(类的设计、对象的使用)、事件处理模型的运用(核心语句的掌握、使用窗口对象作为监视器) 三、复习题: 一、单项选择题: (1)以下关于构造方法的描述错误的是(A )。无返回类型 A. 构造方法的返回类型只能是void型 B.构造方法的方法名必须与类名相同 C.在创建对象时构造方法被调用 D.如果在类中已经实现了构造方法,则系统不会再创建默认的构造方法 (2)( )不是new操作符的作用。 A.为对象分配内存空间 B.调用类的构造方法 C. 为对象返回一个引用 D.产生一个新的类 (3)下列说法中正确的是()。 A.实例方法只能对实例变量操作 B.静态方法可以调用实例方法 C. 实例变量可以直接通过类名来进行访问 D. 静态方法可以访问静态变量,不可以访问实例变量 (4)如果已定义类Customer,则关于Customer myCustomer;语句解释正确的是()。 A. 创建一个名为myCustomer的对象 B.将调用Customer类的构造方法初始化myCustomer对象 C. 创建一个Customer类型的变量myCustomer D.以上解释都不对 (5)以下关于类和对象关系的描述中,正确的是()。 A.同一个类只能创建一个对象,如果创建多个对象,则编译出错 B.同一个类可以创建多个对象,但多个对象共享一个内存空间 C.同一个类可以创建多个对象,这些对象被分配不同的内存空间 D. 同一个类只能创建一个对象,因为类是同一类事物的抽象描述 (6)关于在公共类中定义的被protected修饰的成员变量,以下说法正确的是()。A.该成员变量只能被同一个包内的成员方法访问 B.该成员变量只能被同一个类的成员方法访问

java期末复习题

五邑大学JAVA实用教材试卷模拟卷 一、单选题 1.下列哪些类声明是错误的( D ) A、class A B、public class A C、abstract class A D、protected class A 2.定义一个接口必须使用的关键字是( C ) A、public B、class C、interface D、static 3.访问权限是指对象是否可以通过“.”运算符操作自己的变量,或通过“.”运算符使用类中的方法,下列那个不是访问限制修饰符( A ) A、static B、public C、private D、ptotected 4.下列描述错误的是( D ) A、上转型对象不能操作子类新增的成员变量 B、上转型对象不能操作子类新增的方法 C、上转型对象可以操作子类继承或隐藏的成员变量 D、上转型对象不能操作子类重写的方法 5.JFrame对象默认的布局管理器是( B ) A、FlowLayout B、BorderLayout C、CardLayout D、null 6.定义类头时能使用的修饰符是( C )。 A、private B、static C、 abstract D、protected 7.下列哪一个import命令可以使我们在程序中创建输入/输出流对象( C ) A、import java.sql.*; B、import java.util.*; C、import java.io.*; D、import https://www.doczj.com/doc/d313826872.html,.*; 8.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象( A ) A、FileInputStream B、FileOutputStream C、DataOutputStream D、FileWriter 9.下列描述错误的是(B ) A、abstract类不可以用new运算符创建对象 B、允许使用final修饰abstract方法 C、 abstract方法只允许声明,不允许实现 D、abstract类可以有abstract方法。 10.以下关于继承的叙述正确的是( A )。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 11.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。A、start( ) B、stop( ) C、init( ) D、paint( ) 12.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。

JAVA实训总结

JA V A程序设计课程实训报告 一、实训目的 知识目标 1.了解图形用户界面的编程思路及方法; 2.了解事件及事件处理机制; 3.掌握常用的图形用户界面组件; 4.掌握容器布局的设置方法及组件的添加方法; 5.掌握常见事件类型及事件处理方法; 能力目标 1.与客户沟通的基本能力; 2.团队协作的基本能力; 3.编程的良好习惯; 4.软件调试和测试的能力; 5.查阅文献的能力; 二、项目设置: 1、实训内容 利用所学Java程序设计语言实现一个图形化的计算器。 2、实训要求 1.程序运行正常无误,系统层次清晰合理; 2.实训内容里的要求必须要全面实现; 3.实训过程中要仔细操作,细心观察,勤于思考,注意记录; 4.实训报告要做到文字通畅、论点正确、论述有据; 5.要求学生在指导教师的指导下,独立完成实训的全部内容; 6.在规定时间内完成实训的全部任务,并按规定格式上交实训报告; 三、实训设备 硬件:个人电脑、 软件:JCreator Pro 3.50、JDK1.6.0_23 四、实训过程

以上的图表示实训编写的程序没有错误,可以正常的运行 以上的图是运行程序时所显示出来的小小计算机的界面

为了实际的运行一下计算机的功能,此时输入1加2

此时计算机上显示的是数字1和数字2相加的结果,3. 为了实际的运行一下计算机的功能,此时输入数字1乘数字2

此时计算机上显示的是数字1和数字2相乘的结果,2.

因为上述的两个小算数成功的运算出正确的结果所以此时关闭小小简单计算机的界面此时出现的编程图面为: 计算机程序的源码: import java.awt.*; import java.awt.event.*; import javax.swing.*; //计算机界面 class CalculatorPanel extends JPanel { private JLabel display; private JPanel panel; private double result; //用以存放最后的计算结果 private String lastCommand; //计算你选择的运算方式 private boolean start; public CalculatorPanel() {

JAVA资料

1 (2) 2.输入和输出数据,JOptionPane类,Scanner类; (2) 3.产生随机数 (3) 4.数学类Math (3) 1)三角函数方法: (3) 2)指数函数方法: (4) 3)取整方法: (4) 4)min\max和abs方法 (5) 5.Arrays类 (5) 6.Random类 (6) 7.GregorianCalendar类 (7) 8.String类 (7) 7)字符串转换为一个字符数组 (9) 8)将字符串转换为字符数组 (9)

1. 1)调用System.currentTimeMillis()方法获得从1970年1月1日0点到现在的毫秒数; 2)System.exit(0);是个静态方法,它在System类中定义。调用这个方法 可以终止程序,参数0表示程序正常结束。 3)String s=String.format(“counts is%d and amount is%f”,5,45.56); System.out.println(s); 相当于:System.out.println(“counts is%d and amount is%f”,5,45,56); 4)对于void方法,return语句是不需要的,但它能用于终止方法并返回到方法的调用者。 5) 2.输入和输出数据,JOptionPane类,Scanner类; 输入: Javax.swing.JOptionPane; String input=JOptionPane.showInputDialog(null,x,y,JOptionPane.QUESTION_MESSAGE) ; String input=JOptionPane.showInputDialog(x); 使用确认对话控制循环: int option=JOptionPane.showConfirmDialog(null,”continue”); Yes按钮返回JOptionPane.YES_OPTION(0), No按钮返回JOptionPane.NO_OPTION(1), Canel按钮返回JOptionPane.CANCEL_OPTION(2); Scanner scanner=new Scanner(System.in); String str=scanner.next();//读取一个字符串。字符串用空格分隔

南昌大学JAVA期末复习题

一、填空题 1.对象之间可能存在的关系有三种:_包含_、_继承__和_关联_。 2.面向对象的软件开发过程大体可分为 __面对对象分析、__面对对象设计_和_面对对象测试__三个阶段。 3. Java 语言中实现多态的方法有 __继承__、_方法重载_ 和_成员覆盖__。4. Java 语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的__跨平台_特点。 5. JAVA语言规定object类是JAVA 程序中所有类的父类,当前类的构造方法用this()表示,直接父类的构造方法用super()表示。 6.如果一个Java Applet 源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet 必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet.java。 7.如果一个Java Applet 程序文件中定义有3 个类,则使用Sun 公司的JDK 编译器javac.exe编译该源程序文件将产生3个文件名与类名相同而扩展名为.class的字节码文件。 8.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode 码占用2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。 10. Applet 是能够嵌入到HTML格式的文件中,并能够在浏览器中运行的Java。 11.在Java 中,线程的模型就是一个CPU、程序代码和数据的封装体。12.键盘键入字符串并在计算机屏幕上显示,这时的数据源是键盘。 13. JAVA语言是第一个语言本身就支持线程的编程语言,其对线程的支持主要通过 https://www.doczj.com/doc/d313826872.html,ng.Thread类和https://www.doczj.com/doc/d313826872.html,ng.Runnable接口来实现。 14.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。 int s = 0 ; for ( int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println( s ); 15. JVM 是Java Virtual Machine的缩写; AWT 是abstrac window toolkit的缩写。 16.单重继承是指只有一个父类的继承;多重继承是指有一个以上父类的继承;Java 语言出于安全、可靠的考虑,仅支持单重继承;但Java 语言可通过接口来实现多重继承。 17. Java 中构成图形用户界面的元素和成分可分为 _容器_、_控制组件_和___用户自定义________________等三类。 18.一个线程的完整生命周期包括如下 5 种状态 _新生_、__就绪_、_运行_、_阻塞_和_死亡_。 19. Java 中实现多线程的图径有2 种,一种是__继承thread类__,另一种是_______Runnable接口。 20.任何一个Java 程序都默认引入了一个包,这个包的名字叫https://www.doczj.com/doc/d313826872.html,ng。

java程序设计复习资料.doc

1、简述java语言的特点? Java语言是目前使用最为广泛的网络编程语言之一(1分) 具有面向对象(1分) 与平台无关性(1分) 多线程性(1分) 动态性等特点(1分) 2、简述Java程序的开发过程 1使用一个文字编辑器,编写源文件。(1分) 2使用java编译器,编译源文件得到字节码文件。(2分) 3运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。(2 分) 3、java源文件的命名规则是什么? 如果源文件中有多个类,那么只能有一个类是public类(1分) 如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java (2分) 如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java (2分) 4、怎样区分应用程序和小应用程序? 一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其 main 方法必须被说明为public static void (1分) —个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。(2.5分) 5、Java中共有哪些基本数据类型? 基本类型共有8种,分四类分别是(1分) 逻辑型(1分) 字符型(1分) 整型(1分) 浮点型(1分) 6、Java中数据类型分别用什么符号来表示? 逻辑型用boolean表示(1分)

字符型用char表示(1分)

整型共有4种分别是byte、short、long、int (2分)浮点型共两种float和double (1分) 7、简答标示符的根I念及定义原则 标示符是用来标识类名、变量名、方法名、类型名等有效字符序列。(2.5分) Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,及java 中的关键字不能用作标示符。(2.5分) &简答什么是强制类型转换及转换格式 较少的变量的值赋给占字节较多的变量时, 系统自动完成数据类型的转换(2.5分) 格式数据类型名变量名或表达式(2.5 分) ++X表示在使用x之前,先使x的值加1(2.5 分) x++表示在使用x之后,使x的值加1(2.5 分) 当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。当把在内存中占字节数 9、简答表达式++x和x++的区别 10、Java中常用的运算符按功能分有哪些 Java运算符按功能分6种,具体如下(1分)算术运算符、关系运算符、逻辑运算符(2分)位运算符、赋值运算符、条件运算符(2分) 11、Java中结构化程序设计有哪三种基本流程及分别对应java中那些语句 结构化程序设计有顺序、分支、循环三种基本流程(2分) java中的分支语句包括if语句、switch语句(1分) 循环语句包括while语句、do?while语句、for?语句(1分) 其他如对象、变量定义语句、赋值语句、方法调用语句等都是顺序语句。(1分) 12、在一个循环中使用break和continue语句有什么不同的效果? 在循环中使用break语句将使循环终止,流程跳转到break语句所在的循环外面的第一个语 句继续执行(2.5分) 在循环中使用continue语句将提前结束本次循环,流程跳转到continue语句所在循环的第 一个语句继续执行(2.5分) 13、package语句与import语句分别作用是什么? package语句作为java源程序的第一条语句,指明该源文件定义的类所在的包。(2.5分)import语句作用是为了能使用java提供的类,可以使用import语句来引入所需要的类。(2.5 分)

Java期末考试复习及部分答案

第一部分知识点复习 第2章Java基础知识 1.标识符定义。 标识符是为Java程序中定义的变量、方法和类等所起的名字。 2.关键字。 Java将一些单词赋予特定的涵义,用于专门用途,不允许在当作普通的标志符来使用,这些单词被称为关键字 3.三种注释。 单行注释(//),多行注释(/*````````*/),文档注释(/**```````*/) 4.变量及其分类。 变量是利用声明的方式,将内存中的某个快保存下来供程序使用。 变量的类型:整型(int)、长整型(long)、短整型(short)、浮点型(float)、双精度浮点型(double)字符型(char)、字符串行(String) 5.常量的定义。 6.Java的数据类型分类。 基本数据,数组,类,接口 7.变量的类型转换(赋值相容)。 8.Java程序控制语句分为三类:选择、循环和顺序。 9.if语句和switch语句比较。 if语句和switch语句可以从使用的效率上来进行区别,也可以从实用性角度来区分。如果从使用的效率上进行区分,在对同一个变量的不同值作条件判断时,可以用switch语句与if语句,使用switch语句的效率相对更高一些,尤其是判断的分支越多越明显。 如果从语句的实用性的角度去区分,那switch语句肯定不如if条件语句。if条件语句是应用最广泛和最实用的语句。 10.while、do-while、for语句(包括for-each)的比较。 (1)while语句和do...while语句,只在while后面指定循环条件,但是需要在循环体中包括使循环趋于结束的语句,而for语句则可以在迭代语句中包含使循环趋于结束的语句。(2)用while语句和do...while语句时,对循环变量的初始化操作应该放在while语句和do...while语句之前,而for语句则可以在初始化语句中完成。 (3)while语句和do...while语句实现的功能相同,唯一的区别就是do…while语句先执行后判断,无论表达式的值是否为true,都将执行一次循环;而while语句则是首先判断表达式的值是否为true,如果为true则执行循环语句;否则将不执行循环语句。 (4)for循环语句一般用在对于循环次数已知的情况下,而while语句和do...while语句则一般用在对于循环次数不确定的情况下。 11.break语句的3种作用。 从当前循环中挑出来,结束本曾循环,对其外层循环没有影响。 12.continue语句的作用。 结束本次循环,进行当前所在层的下一次循环。

《JAVA设计模式》期末考试复习资料复习进程

《JAVA设计模式》复习资料 一、单项选择题 1.设计模式起源于() A、机械设计 B、建筑工程设计 C、水利工程设计 D、工业电力化设计 2.“不要和陌生人说话”是()原则的通俗表述。 A、接口隔离 B、里氏替换 C、依赖倒置 D、迪米特 3.目前常见的设计模式主要有()种。 A、23 B、21 C、32 D、28 4.以下关于单一职责原则的叙述不正确的是()。 A、单一职责原则的英文名称是Single Responsibility Principle. B、单一职责原则要求一个类只有一个职责 C、单一职责原则有利于对象的稳定,降低类的复杂性 D、单一职责原则提高了类之间的耦合性 5.以下关于依赖倒置原则的叙述不正确的是() A、依赖倒置原则的简称是DIP B、高层模块不依赖于低层模块,低层模块依赖于高层模块 C、依赖倒置原则中高层模块和低层模块都依赖于抽象 D、依赖倒置原则实现模块间的松耦合 6.下面关于单例模式说法错误的是() A、单例模式是指一个类只有一个实例 B、单例类从实现方式上分为懒汉式和饿汉式 C、单例类从功能上分为状态单例类和无状态单例类 D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类 7.下面关于工厂方法模式说法错误的是()。 A、工厂方法模式使一个类是实例化延迟到其子类中 B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色 C、工厂方法模式可以处理多个产品的多个等级结构 D、工厂方法模式可以屏蔽产品类 8.在以下情况不适合使用责任职责链模式() A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。 B、在需要用比较通用和复杂的对象指针代替简单的指针的时候。 C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。 D、一个请求需要一系列的处理工作。 9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式 A、结构型 B、创建型 C、行为型 D、以上都可以 10.以下用来描述适配器模式的是() A、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

java培训心得体会

java培训心得体会 篇一:java初学者学习心得 学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课不断的提高,思路在不断的开阔,思想在不断的升华,更重要的是自己的理想和抱负更加的坚定。对于一个投身于IT 的新人,经验谈不上,一些学习的心得倒是可以拿出来探讨一下,我们该如何面临这个似曾相识的社会,突然一天如此接近。面对“金融风暴”带来的就业压力,我们正在逐渐走向成熟,我们意志更加坚强,我们深知不经一番寒彻骨,哪来梅花扑鼻香。深深地体会到找一份好工作多么不容易的,尤其是能力匮乏的我们。一切都要付出行动,不能空想,要实现目标,就得不懈的努力。 的确,软件仍然是一个朝阳行业,对于人才的需求量也很大,这也是为什

么很多人努力走上这座独木桥的原因。但是当你面临人生的一个选择时,当你决定要踏上软件开发之路时,你应该问一下自己:我为什么要选择它?其实很多人在这条道路上摸爬滚打了多年也没弄清 楚这个问题的答案。如果你想在这条道路上有所成就的话,一是兴趣使然,二是做好自己的职业规划。软件开发其实是一条非常艰苦的路,不停的学习,不断的熬夜,没有鲜花更没有掌声,陪伴你的是那漫长而孤独的夜。想一想我们准备好迎接这一切了吗?如果没有兴趣我劝你还是放弃这条路,没有兴趣你就在这条路上走不长,等待你的只有转行。如果你真的把它作为你职业生涯的跳板,那么请你做好自己的人生规划,有步骤的实现它。话题稍微远了一点,现在我就谈谈自己在Java学习方面的心得和教训。 古人云:活到老,学到老。读书学习实乃艰苦之事,花费时间,消耗精力。 然苦之外亦见其乐:得到了知识,提高了认识,完善了自己。学习,求其真,务其实,应“敏而好学,不耻下问”,才能不断促使进

java期末复习资料

结构化程序设计 1.编写程序输入任意的a,b,c系数,求一元二次方程的根双分支 2.JAVA 实现switch循环判断是星期几多分支 3.打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。循环程序 * 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方 4.请编写程序,实现对数组{47,56,19,36,28,74,37} 的排序。数组又考循环提示:使用冒泡排序算法 5. 编写程序求斐波那契数列的前20项,要求5个数一行输出。方法调用,递归调用 提示:斐波那契数列数字排列规律为:1,1,2,3,5,8,13,21,34,55 面向对象程序设计 1.定义一个Father和Child类,并进行测试。 要求如下: 1)Father类为外部类,类中定义一个私有的String类型的属性name,name 的值为“liqiang”。 2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。 3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。类和对象,继承 2.设计一个学生类Student和它的一个子类Undergraduate,要求如下: 1)Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息 2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息。 封装 3. 设计一个Shape接口和它的两个实现类Square和Circle,要求如下: 1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果 2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回 在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。(Main函数写法为public static void Main ( string[] args ){} ) 接口 4自定义一个异常类NoThisSoundException和Player类,在Player的play()方法中使用自定义异常,要求入下: 1)NoThisSongException继承Exception类,类中有一个无参和一个接收一

JAVA期末复习资料2

一、判断题 1、在Java程序中发生异常时,JVM会找到每个符合条件的catch都执行一次。() 2、在Java程序中异常分为运行时异常和非运行时异常,非运行异常必须进行处理() 3、异常处理的try-catch块后必须有finally块。() 4、异常处理器的排列次序影响处理异常的方法。() 5、用catch(Exception exception)语句可以捕获所有异常和错误。() 6、启动多线程必须调用start()方法, 如果调用run()方法则没有启动新的线程() 7、run()方法是运行线程的主体,若run方法运行结束,线程就消亡了。 () 8、线程可以用yield()方法使同优先级的线程运行。( ) 9、一个线程创建并启动后,它将执行自己的run()方法。() 10、线程可以用yield()方法使较低优先级的线程运行。() 11、每个Java线程的优先级都设置在常数1~12之间,默认的优先级设置为常数6。() 12、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。( ) 13、BorderLayout是面板(JPanel)的缺省布局管理器。( ) 14、BorderLayout最多可以使用5个组件。( ) 15、一个面板(JPanel)不能被加入另一个面板(JPanel)中。( ) 16、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。( ) 17、标签(JLabel)可以在屏幕上显示一个字符或一幅图片。() 18、BorderLayout是容器javax.swing.JFrame默认的布局管理器。() 19、JTextArea可以用来接收多行文本的输入。() 20、在Java坐标系统中,X值从左向右增加。() 21、BorderLayout布局管理器把组件排列在北、南、东、西和中间区域。() 22、边界布局管理器(BorderLayout)把容器分成5个区域,每个区域只能放一个组件。( ) 23、一个组件可以注册一个或多个事件监听器。( ) 24、通过类https://www.doczj.com/doc/d313826872.html,.URL中的成员方法可获得网络资源定位器的相关信息() 25、Socket的实例对象调用其成员方法getInputStream来获得该Socket所对应的输入流。() 26、数据报(DatagramPacket)传输是不可靠的,无法保证包按顺序到达。() 27、当Socket连接上面的传输结束后,服务器执行Socket的shutdown方法来关闭连接。() 二、选择题 1、下说法中错误的一项是()。 A、线程一旦创建,则立即自动进行 B、线程创建后需要调用start()方法,将线程置于可运行状态 C、调用线程的start()方法后,线程也不一定能立即执行 D、线程处于可运行状态,意味着它可以被调度

Java培训课心得总结

Java培训课心得总结 在参加java培训的过程中,我感觉其实生活中很多时候与java编程是存在相似点。比如说我们想做一件什么事情,总是要先考虑下这件事的目的,做这件事需要先准备些什么,中间需要哪些步骤,最后怎样实现等等,这与计算机编程思想惊人的相似,所以说,在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然。计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,从这方面看,计算机是简单的。 经过这一次的java培训,其中在java的各种对象、方法、类等方面上有了一个比较清晰的想法。当自学时你就不会听到有这样那样的想法与指导,学起来就会比较迷茫点,但是有一个比较好的老师来指点下,那样的效果上就不同了,可以让自己的想法和思维开拓点来学习java,亲身感受过后,确实跟自学不一样,自学的话自己可能没这么好去理解代码,有个人带着去理解代码的话学起来比较快点,,用起来也会容易惯通点。 通过这次也可以学到一个团队的重要,一个小项目可以一个人完成,那已经是很痛苦地那种了,但是有一个大项目的话,那就不是一个人可以完成的事了,必须由一个团体来共同完成项目,一个的技术牛不算牛,一个团体的技术都很牛了那才是真正的牛,这样合作起来就可以更快的把一个项目完成,而个人来说,也不会感到非常吃力,分功合作对于开发一个项目来说是重要的一步,在分功的时候必须分功明确,不然在开发程中会出现错乱,例如一个人开发了登陆的功能了,由于分功不明确导至另一个在也在开发此功能,分功明确了会减去诸如些类的一些错误和麻烦。 学习java听老师讲起课来,自己听得明白,但是要自己真的去动手起来做的话,那又是另一回事了,听得明白不一定就可以自己动手做出来,学习java只有听懂了再自己动手去真正的做出一些东西来运用这些代码,让代码在你脑子里转来转去不会忘记,看到有类似的功能你就会想起用这些代码来实现功能,那样才是真正的学会了,不然你就是没学会。 在学习java的过程中,最需要的就是耐心,在学习过程中,你会感到很枯燥,烦恼,无聊,寂寞感,,但这些都不是问题,问题就是你能不能有很好的耐心学习下去,一般的人都是因为没耐心学下去才觉得它难,其实java语言本身不难,难的是你自己有没有这样的心去学,耐心很重要。耐心+灵活变通=学习成功 1/ 1

Java复习资料(终)

1、给出类hh.java的定义 public class hh {public static void main(String args[]) {int x=4,y=5,z=6; String s="string"; System.out.println(x+y+z+s); System.out.println(s+x+y+z); System.out.println(x+y+s+z);}} 2、给出类JTest.java的定义 public class JTest { static void changevalue(int x,int y) { x=x*2; y=y*2; System.out.println("x="+x); System.out.println("y="+y); } public static void main(String []args) { int a=5; int b=10; changevalue(a,b); System.out.println("a="+a); System.out.println("b="+b); }} 控制台输出是什么? 3、给出类JTest2.java的定义 public class JTest2{ static void myAppend(StringBuffer x,StringBuffer y){ x.append(y); y=x; System.out.println("x="+x); System.out.println("y="+y);} public static void main(String [ ]args){ StringBuffer a=new StringBuffer("A"); StringBuffer b=new StringBuffer("B"); myAppend(a,b); System.out.println("a="+a); System.out.println("b="+b);}} 控制台输出是什么?

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