java复习题集及答案

2024-10-16

java复习题集及答案(精选9篇)

1.java复习题集及答案 篇一

1. 小李有一次出差去办事,提早了回来,看见隔壁的小楼同自己的妻子睡在床上,小李为什么不生气?答案:小楼是女的

2. 小明从来没去过美国,他想去美国,至少应花多少钱?答案:光想是不用花钱的。

3. 什么饼不能吃答案:铁饼

4. 什么数字减去一半等于零答案:

5. 盒子里有四块蛋糕,有四个小朋友都分到一块,但盒子里还留下一块,为什么?答案:其中一块让小朋友连盒子一块拿走了

6. 一百个男人无法抬起的物体,却有一女子可单手举起,此物体究竟为何答案:一颗鸡蛋(仅仅一个鸡蛋,个人没法抬)

7. 什么能够击倒世界拳击冠军答案:磕睡

8. 什么车子寸步难行?(除了坏车子)答案:风车

9. 有一天,警察眼见一黑人小偷逃进一白人的宴会,追进去后,却发现全是白人,为什么?答案:因为小偷的脸吓白了

10. 个人吃份快餐需分钟,个人吃份快餐需几分钟答案:分钟

11. 《狼来了》这个故事给人什么启示?答案:谎话不要重复说两次

12. 三位兄弟分食一罐重达克的凤梨罐头。因为不易平均分成三等分,所以二位哥哥各吃克,剩下的克全部分给弟弟,但是正想去吃的弟弟突然变得十分生气。究竟这是为什么答案:因为两个哥哥吃的是克凤梨片,剩下的是克汤水

13. 一斤棉花和一斤铁块哪一样比较重?答案:一样重

14. 有爷俩,娘俩和兄妹俩,只有个烧饼,但却每人分得了两个,这是为什么?答案:他们只有三个人:儿子、母亲、舅舅

15. 一次宴会上,一对夫妻同客人共握手次,问这次宴会上共有几人?答案:人

16. 小明读小学二年级,他的家住在楼,他每次去学校都是乘电梯下去的,但放学后,乘电梯只能乘到楼为什么答案:小明不够高,按不到这个按钮

17. 袋鼠和猴子参加跳高比赛,为什么猴子一开始就赢了答案:袋鼠双脚起跳,犯规

18. 最后冒出来的牙齿是哪一颗?答案:假牙

19. “东张西望”“左顾右盼”“瞻前瞻后”这几个成语用在什么时候最合适?答案:过马路的时候

20. 一只公鸡加一只母鸡,猜三个字。答案:三只鸡

2.java基础教程试题答案 篇二

java基础教程试题答案

1. 什么是JVM?

为什么称Java为跨平台的编程语言?Java虚拟机(Java Virtual Machine)是可以执行Java字节码的虚拟机,每个Java源文件将被编译成字节码文件,然后在JVM中执行。Java之所以被设计成可以在任意的平台运行,而不需要重写或者在不同的平台下重新编译,这些都要归功于Java虚拟机(JVM),因为JVM非常了解特定的指令的长度以及底层硬件平台的特殊性。

2. JDK和JRE之间的差异是什么?

Java运行环境(Java Runtime Enviroment) 是运行Java程序的基本的Java虚拟机,包括执行applet的浏览器插件。JDK (Java Development Kit) 是为了开发,编译和执行Java应用程序,针对Java的全功能的软件开发包,包含了JRE,编译器和工具(比如说 JavaDoc 和Java Debugger)。

3.Java面向对象编程的几个特征及具体的特性?

Java面向对象编程有其非常明显的特性,比如说封装,继承,多态和抽象。

1)封装,提供的对象隐藏内部特性和行为的一种能力,每个对象提供了一些方法,其他的对象可以访问并改变其内部数据。在Java中,提供了三种访问修饰符: 公有的,私有的以及保护的。每个修饰符都设定了不同的访问权限,这个权限设置不会因为包的不同而有差异,可以通过链接访问博为峰网校的Java面向对象教程查看关于封装更多的细节和实例。

2)多态,就是针对不同的基础数据类型呈现相同接口的一种能力,多态类型就是其操作可以适用于不同类型值的一种类型。

3)继承,提供了一个对象从基类获取字段和方法的一种能力.继承提供了代码的.重用性,并且在不更改现有类的情况下,对现有类增加额外的功能。

4)抽象,是从具体的实例中分离想法的过程,根据他们各自的功能而非具体的实现来开发类. Java中支持创建和存在暴露接口的抽象类, 而没有包括方法的具体实现。抽象方法的宗旨就是将类的行为和具体实现分离开。

4. 在静态方法里可以访问非静态变量吗?

Java 中的 static 变量归相应的类所有,它的值对于类的所有实例都是相同的。static 变量是在 JVM 加载类的时候初始化的。如果代码试图访问非静态的变量,而且不是通过类的实例去访问,编译器会报错,因为这些非静态变量还没有被创建呢,并且它们没有与实例相关联。

5. 在Java中什么是方法的 Override(覆盖) 和 Overload(重载)?

Java中方法的 overload 发生的条件是,同一个类里,有两个或以上的方法名称完全相同,但参数列表不同。另一方面,方法的 override 是指,子类重定义了父类里的同一个方法。Override 的方法必须方法名、参数列表和返回类型都完全相同。Override 的方法不会限制原方法的访问权限。

6.Java支持多继承吗?

Java不支持多继承,每个类只允许继承一个类,但是可以实现多个接口。

7.进程与线程的区别?

进程是一个程序的执行(即正在运行的程序), 然而线程是在进程中独立的执行序列. 一个进程可以包含很多线程. 线程有时被称为轻量级的进程.

8. Java中垃圾回收的目的是什么, 它什么时候被使用 ?

垃圾回收用于识别和丢弃程序不再需要的对象, 以便回收和复用资源.

9. finalize()什么时候被调用 ?

它的目的是什么 ?finallize方法是在释放该对象内存前由gc(垃圾回收器)调用. 通常建议在这个方法中释放该对象持有的资源.

10.如果一个对象的引用被设置为null, gc会立即释放该对象的内存么?

3.Java经典面试题-带答案 篇三

一、单项选择题

1.Java是从()语言改进重新设计。

A.Ada

B.C++

C.Pasacal

D.BASIC

答案:B

2.下列语句哪一个正确()

A. Java程序经编译后会产生machine code

B.Java程序经编译后会产生byte code(字节码)

C.Java程序经编译后会产生DLL

D.以上都不正确

答案:B

3.下列说法正确的有()

A.class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C.constructor在一个对象被new时执行(构造器)

D.一个class只能定义一个constructor

答案:C

4.提供Java存取数据库能力的包是()

A.Java.sql /sql/数据库 还有 Oracle 也是一种数据库

B.java.awt

C.java.lang

D.java.swing

答案:A

5.下列运算符合法的是()

A.&&

B.<>

C.if

D.:=

答案:A

6.执行如下程序代码

a=0;c=0;

do{

--c;

a=a-1;

}while(a>0);

后,C的值是()

A.0

B.1

C.-1

D.死循环

答案:C

7.下列哪一种叙述是正确的()

A.abstract修饰符可修饰字段、方法和类

B.抽象方法的body部分必须用一对大括号{}包住

C.声明抽象方法,大括号可有可无

D.声明抽象方法不可写出大括号

答案:D

8.下列语句正确的是()

A.形式参数可被视为localvariable

B.形式参数可被字段修饰符修饰

C.形式参数为方法被调用时,真正被传递的参数

D.形式参数不可以是对象

答案:A

9.下列哪种说法是正确的()

A.实例方法可直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法

D.实例方法可直接调用本类的类方法

答案:D

二、多项选择题

1.Java程序的种类有()

A.类(Class)

B.Applet

C.Application

D.Servlet

2.下列说法正确的有()

A.环境变量可在编译sourcecode时指定

B.在编译程序时,所能指定的环境变量不包括class path

C.javac一次可同时编译数个Java源文件

D.javac.exe能指定编译结果要置于哪个目录(directory)

答案:BCD

3.下列标识符不合法的有()

A.new

B.$Usdollars

C.1234

D.car.taxi

答案:ACD

4.下列说法错误的有()

A.数组是一种对象

B.数组属于一种原生类

C.intnumber=[]={31,23,33,43,35,63}

D.数组的大小可以任意改变

答案:BCD

5.不能用来修饰interface的有()

A.private

B.public

C.protected

D.static

答案:ACD

6.下列正确的有()

A. call byvalue不会改变实际参数的数值

B. call by reference能改变实际参数的参考地址

C. call byreference不能改变实际参数的参考地址

D. call byreference能改变实际参数的内容

答案:ACD

7.下列说法错误的有()

A.在类方法中可用this来调用本类的类方法

B.在类方法中调用本类的类方法时可直接调用

C.在类方法中只能调用本类中的类方法

D.在类方法中绝对不能调用实例方法

答案:ACD

8.下列说法错误的有()

A.Java面向对象语言容许单独的过程与函数存在 B. Java面向对象语言容许单独的方法存在

C.Java语言中的方法属于类中的成员(member)

D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同

答案:ABC

9.下列说法错误的有()

A.能被java.exe成功运行的javaclass文件必须有main()方法

B. J2SDK就是Java API

C.Appletviewer.exe可利用jar选项运行.jar文件

D.能被Appletviewer成功运行的javaclass文件必须有main()方法

答案:BCD

三、判断题

1.Java程序中的起始类名称必须与存放该类的文件名相同。()

答案:正确

2.Unicode是用16位来表示一个字的。()

答案:正确

3.原生类中的数据类型均可任意转换。()

答案:错误

1.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。

答案:

BOOL : if(!a)orif(a)

int : if(a == 0)

float : const EXPRESSION EXP = 0.000001

if(a < EXP && a >-EXP)

pointer : if(a!=NULL)or if(a == NULL)

2.请说出const与#define 相比,有何优点?

答案:1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。

2)有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。

3.简述数组与指针的区别?

数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。

(1)修改内容上的差别

char a[]= “hello”;

a[0] = „X‟;

char *p = “world”;// 注意p 指向常量字符串

p[0] = „X‟;// 编译器不能发现该错误,运行时错误

(2)用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。

char a[] =“hello world”;

char *p = a;

cout<< sizeof(a)<< endl;// 12字节

cout<< sizeof(p)<< endl;// 4 字节

计算数组和指针的内存容量

voidFunc(char a[100])

{

cout<< sizeof(a)<< endl;// 4 字节而不是100字节

}

4.类成员函数的重载、覆盖和隐藏区别?

答案:

a.成员函数被重载的特征:

(1)相同的范围(在同一个类中);

(2)函数名字相同;

(3)参数不同;

(4)virtual 关键字可有可无。

b.覆盖是指派生类函数覆盖基类函数,特征是:

(1)不同的范围(分别位于派生类与基类);

(2)函数名字相同;

(3)参数相同;

(4)基类函数必须有virtual 关键字。

c.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:

(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。

(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)

5.There are two int variables: a and b, don‟t use “if”, “? :”, “switch”orother judgement statements, find out the biggest one of the two numbers.答案:((a + b)+ abs(ai-1;j++){ if(data[j] > data[j+1]){ tag = true;int temp = data[j];data[j] = data[j+1];data[j+1] = temp;} } if(!tag)break;} } void main(void){ vectordata;ifstreamin(“c:data.txt”);if(!in){ cout<<“file error!”;exit(1);} int temp;while(!in.eof()){ in>>temp;data.push_back(temp);

}

in.close();//关闭输入文件流

Order(data);

ofstream out(“c:result.txt”);

if(!out)

{

cout<<“fileerror!”;

exit(1);

}

for(i = 0;i < data.size();i++)

out<

10.链表题:一个链表的结点结构

struct Node

{

int data;

Node *next;

};

typedef struct Node Node;

(1)已知链表的头结点head,写一个函数把这个链表逆序(Intel)

Node * ReverseList(Node*head)//链表逆序

{

if(head == NULL || head->next == NULL)

returnhead;

Node *p1 = head;

Node *p2 = p1->next;

Node *p3 =p2->next;

p1->next = NULL;

while(p3!= NULL)

{

p2->next = p1;

p1 = p2;

p2 = p3;

p3 = p3->next;

}

p2->next = p1;

head = p2;

return head;

} 2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)

Node *Merge(Node *head1 , Node *head2)

{

if(head1 == NULL)

return head2;

if(head2 == NULL)

return head1;

Node *head = NULL;

Node*p1 = NULL;

Node *p2 = NULL;

if(head1->data < head2->data)

{

head = head1;

p1 = head1->next;

p2 = head2;

}

else

{

head = head2;

p2 = head2->next;

p1 = head1;

}

Node *pcurrent = head;

while(p1!= NULL && p2!= NULL)

{

if(p1->data <= p2->data)

{

pcurrent->next = p1;

pcurrent = p1;

p1 = p1->next;

}

else

{

pcurrent->next = p2;

pcurrent = p2;

p2 = p2->next;

}

}

if(p1!= NULL)

pcurrent->next = p1;

if(p2!= NULL)

pcurrent->next = p2;

return head;

}

(3)已知两个链表head1 和head2各自有序,请把它们合并成一个链表依然有序,这次要求用递归方法进行。(Autodesk)

答案:

Node *MergeRecursive(Node *head1 , Node *head2)

{

if(head1 == NULL)return head2;if(head2 == NULL)return head1;Node *head =NULL;if(head1->data < head2->data){ head = head1;head->next = MergeRecursive(head1->next,head2);} else { head = head2;head->next = MergeRecursive(head1,head2->next);} return head;}

Substring charAt 大小写转换

熟练使用dbcp、c3p0 druid

解释get和post的区别?

1、安全性、如果使用get方式发送到服务器数据会拼接到url的后面,这样的话会完全暴露出发送到服务器的数据,因此不安全,而post会把发送到服务器的数据放到请求体中,相对来说比较安全

2、get方式发送到服务器的数据有限制,而post的方式发送到服务器原则上是没有限制

介绍tcp和upd的区别 Tcp:传输控制协议

Udp---user data protocol:用户数据报协议 共同点:都是用来在2台设备直接传递数据的协议 不同点:

Tcp协议会在传递数据之前要3次握手,之后建立连接。这样的话就可以传递数据。是一种可靠的传输协议,就是说可以保证百分百把数据传递到对方设备,传输效率低

Udp:不可靠传输,不能保证把数据百分百把数据传输到对方设备上,传输效率高

表:销售表,客户表。两个表的关系,一个卖一个买共同的产物表:ID name 单子表

4.Java Web复习 篇四

一、单项选择题

(1)Web应用程序的运行机制是(B)

A.服务器向客户端发送请求

B.客户端向服务器端发送请求

C.客户端向服务器发送响应

D.服务器向客户端自动发送响应

(2)关于Web服务器的说法正确的是(C)

A.只是用来存储信息

B.IIS、Tomcat、Eclipse都是Web服务器

C.负责处理用户的请求,并把请求的处理结果返回给用户

D、Web服务器必须运行在Internet上

(3)JSP是(A)

A.动态网页开发语言

B.内容和显示集成在一起

C.必须运行在Tomcat服务器上

D.JSP第一次运行的效率是最高的(4)C/S结构和B/S结构的区别(C)

A.B/S结构的系统用户界面必须通过IE浏览器查看

B.C/S结构的系统不能运行在Internet上

C.B/S结构的系统具有很好的重用性

D.C/S结构的系统不需要操作系统的支撑

(5)JSP和JDK的关系(A)

A、JSP的编译需要JDK的支持

B、JSP的运行不需要JDK

C、JDK的运行需要JSP

D、JDK的编译需要JSP的支持

(6)JSP程序的运行机制(D)

A.客户端发送信息给服务器

B.服务器端发送信息给客户端

C.服务器端定时传递信息给客户端

D.客户端发出请求,服务器反馈一个响应

(7)JSP中客户端的注释是(B)

A.<%----%>B.

C.

二、程序设计题

(1)利用javabean设计一个游戏平台的用户登录页

(gamelogin.jsp),当用户登录时把用户的名称、金钱、攻击力、法力、等级存放起来供游戏中使用。Javabean程序清单:

gamelogin.jsp程序清单:

(2)新建一个MySQL数据库Student,并在其中建立一个

users表,表的结构如下:

字段类型说明

IDvarchar(10)学号

loginNamevarchar(10)登录名

realNamenvarchar(10)真实名

Mobilevarchar(20)手机号

表的测试数据如下

20090701zs张三***

20090702ls李四***

5.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)对象是类的抽象

(C)对象是类的子类 (D)类是对象的具体实例

8.下面哪一个是Java中不合法的标识符( )。

(A)$persons (B)twoNum (C)_myVar (D)*point

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

(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( )

10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( )。

(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 (B).java和 .class (C).class和 .class (D) .java和 .java

12.在Java Applet程序用户自定义的`Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

(A) start( ) (B) stop( ) (C) init( ) (D) paint( )

13.对于一个Java源文件,import, class定义以及package正确的顺序是:

(A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import

14.下面哪个是非法的:

(A) int I = 32; (B) float f = 45.0;

(C) double d = 45.0; (D) char c = ‘u’; //符号错

15.Java语言使用的字符码集是

(A) ASCII (B) BCD

(C) DCB (D) Unicode

16. 如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是

(A) public (B) protected (C) private (D) static

17.下面关于main方法说明正确的是

(A) public main(String args[ ])

(B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main

18.哪个关键字可以对对象加互斥锁?( )

(A) transient (B) synchronized (C) serialize (D) static

19.关于抽象方法的说法正确的是( )

(A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法 (D) 抽象类中的方法都是抽象方法

20.java.io包的File类是

(A)字符流类 (B) 字节流类

(C) 对象流类 (D) 非流类

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

A、 String args B、String args[] C、Char arg D、StringBuffer args[]

22.以下代码段执行后的输出结果为( ) int x=-3; int y=-10; System.out.println(y%x);

A、 -1 B、2 C、1 D、3

23.以下关于继承的叙述正确的是( )。

A、在Java中类只允许单一继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承

24. 若有定义:byte[] x={11,22,33,-66};

其中0≤k≤3,则对x数组元素错误的引用是( )

A)x[5-3] B)x[k] C)x[k+5] D)x[0]

25.paint()方法使用哪种类型的参数? ( )

A、Graphics B、Graphics2D C、String D、Color

26.以下哪个不是Java的原始数据类型( )

A、int B、Boolean C、float D、char

27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )

A) 隐藏

B) 重写

C) 重载

D) Java不支持此特性

28. 以下有关构造方法的说法,正确的是:( )

A. 一个类的构造方法可以有多个 B. 构造方法在类定义时被调用

C. 构造方法只能由对象中的其它方法调用。 D. 构造方法可以和类同名,也可以和类名不同

29.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( )。

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

30.给出下面代码,关于该程序以下哪个说法是正确的?( )

public class Person{

static int arr[] = new int[5];

public static void main(String a[]) {

System.out.println(arr[0]); } }

A、编译时将产生错误 B、编译时正确,运行时将产生错误

C、输出零 D、输出空

31、有以下方法的定义,请选择该方法的返回类型( )。 ReturnType method(byte x, double y) {

return (short)x/y*2; }

A、byte B、short C、int D、double

32.下列类定义中哪些是合法的抽象类的定义?( )

A、abstract Animal{abstract void growl();}

B、class abstract Animal{abstract void growl();}

C、abstract class Animal{abstract void growl();}

D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};}

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

2.public class Interesting{ 3.//do sth 4. }

A、import java.awt.*; B、package mypackage;

C、class OtherClass{ } D、public class MyClass{ }

34. 设有下面两个赋值语句: a = Integer.parseInt(“12”);

b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( )。

A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。

35.在编写Java Applet程序时,需在程序的开头写上( )语句。

A、import java.awt.* ; B、import java.applet.Applet ;

C、import java.io.* ; D、import java.awt.Graphics ;

36.下列哪一项不属于Swing的顶层容器?( )

A)JApplet B)JTree C)JDialog D)JFrame

37. 为了使包ch4在当前程序中可见,可以使用的语句是( )。

A)import ch4.*; B)package ch4.*; C)ch4 import; D)ch4 package;

38. 请问所有的异常类皆继承哪一个类?( )。

A)java.io.Exception B)ng.Throwable C)ng.Exception D)ng.Error

39.进行Java基本的GUI设计需要用到的包是( )。

6.java复习题集及答案 篇六

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21….

public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); }}或public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math; for(i=1;i<=20;i++) System.out.println(mymath.f(i)); }}class math{ public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); }}

【程序2】题目:判断101-200之间有多少个素数,并输出所有素数,

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数。

public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true) System.out.println(i); }}class math{ public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % 2==0 ) return false; return true; }}

【程序3】题目:打印出所有的 “水仙花数 “,所谓 “水仙花数 “是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 “水仙花数 “,因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=100;i<=999;i++) if(mymath.shuixianhua(i)==true) System.out.println(i); }}class math{ public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % 2==0 ) return false; return true; } public boolean shuixianhua(int x) { int i=0,j=0,k=0; i=x / 100; j=(x % 100) /10; k=x % 10; if(x==i*i*i+j*j*j+k*k*k) return true; else return false; }}

【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

public class exp2{ public exp2(){} public void fengjie(int n){ for(int i=2;i<=n/2;i++){if(n%i==0){ System.out.print(i+“*”); fengjie(n/i); } } System.out.print(n); System.exit(0);///不能少这句,否则结果会出错 } public static void main(String[] args){ String str=“”; exp2 c=new exp2(); str=javax.swing.JOptionPane.showInputDialog(“请输入N的值(输入exit退出):”); int N; N=0; try{ N=Integer.parseInt(str); }catch(NumberFormatException e){ e.printStackTrace(); }System.out.print(N+“分解质因数:”+N+“=”);c.fengjie(N); } }

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a> b)?a:b这是条件运算符的基本例子。

import javax.swing.*;public class ex5 { public static void main(String[] args){ String str=“”; str=JOptionPane.showInputDialog(“请输入N的值(输入exit退出):”); int N; N=0; try{ N=Integer.parseInt(str); } catch(NumberFormatException e){ e.printStackTrace(); } str=(N>90?“A”:(N>60?“B”:“C”)); System.out.println(str); } }

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数,

1.程序分析:利用辗除法。

最大公约数:public class CommonDivisor{ public static void main(String args[]) { commonDivisor(24,32); } static int commonDivisor(int M, int N) { if(N<0||M<0) {System.out.println(“ERROR!”);return -1; } if(N==0) {System.out.println(“the biggest common divisor is :”+M);return M; } return commonDivisor(N,M%N); }}最小公倍数和最大公约数:import java.util.Scanner; public class CandC { //下面的方法是求出最大公约数public static int gcd(int m, int n) { while (true) { if ((m = m % n) == 0) return n; if ((n = n % m) == 0) return m; } } public static void main(String args[]) throws Exception { //取得输入值//Scanner chin = new Scanner(System.in); //int a = chin.nextInt(), b = chin.nextInt(); int a=23; int b=32;int c = gcd(a, b); System.out.println(“最小公倍数:” + a * b / c + “n最大公约数:” + c); } }

【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的.字符不为 ‘n ‘.

import java.util.Scanner;public class ex7 { public static void main(String args[]) { System.out.println(“请输入字符串:”); Scanner scan=new Scanner(System.in); String str=scan.next(); String E1=“[u4e00-u9fa5]”; String E2=“[a-zA-Z]”; int countH=0; int countE=0; char[] arrChar=str.toCharArray(); String[] arrStr=new String[arrChar.length]; for (int i=0;i

【程序8】题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

import java.io.*;public class Sumloop { public static void main(String[] args) throws IOException { int s=0; String output=“”; BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in)); System.out.println(“请输入a的值”); String input =stadin.readLine(); for(int i =1;i<=Integer.parseInt(input);i++) { output+=input; int a=Integer.parseInt(output); s+=a; } System.out.println(s); }}另解:import java.io.*;public class Sumloop { public static void main(String[] args) throws IOException { int s=0; int n; int t=0; BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in)); String input = stadin.readLine(); n=Integer.parseInt(input); for(int i=1;i<=n;i++){ t=t*10+n; s=s+t; System.out.println(t); } System.out.println(s); }}

【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如6=1+2+3.编程 找出1000以内的所有完数。

public class Wanshu { public static void main(String[] args) { int s; for(int i=1;i<=1000;i++) { s=0; for(int j=1;j

【程序10】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

7.java复习题集及答案 篇七

A.1

B.2

C.3

D.4

28.要串行化某些类的对象,这些类必须实现()。

A.Serializable接口

B.java.i0.Exceptionlizable接口

C.java.i0.Datalnput接口

D.DataOutput接口

29.关于集合类描述正确的是()。

Ⅰ.集合类中容纳的都是指向Object类对象的指针

Ⅱ.集合类容纳的对象都是Object的类例

Ⅲ.只能容纳对象

IV.只能容纳基本数据类型

A.Ⅰ、Ⅱ、Ⅲ

B.Ⅰ、Ⅱ

C.Ⅰ、Ⅲ

D.Ⅰ、Ⅱ、Ⅲ、IV

30.下列组件不能添加进Frame主窗口的是()。

A.Panel

B.CheckBox

C.Dialog

D.Choice

31.下面程序段的输出结果为()。

packagetest;

publicclassClassA

{

intx=20:

staticinty=6;

publicstaticvoidmain(Stringargs[])

{

ClassBb=newClassB();

b.go(10);

System.out.println(“x=”+b.x);

}

}

classClassB

{

intX;

voidgo(inty)

{

ClassAa=newClassA();

x=a.Y;

}

}

A.x=10

B.x=20

C.x=6

D.编译不通过

32.下面程序段的输出结果为()。

publicclassTest

{

inta,b;

Test()

{

a=100;

b=200:

}

Test(intX,inty)

{

a=x:

b=y;

}

publicstaticvoidmain(Stringargs[])

{

TestObjl=newTest(12,45);

System.OUt.println(“a=”+Objl.a+“b=”+Objl.

b);

TestObj2=newTest();

System.out.println(“fl=”+Obj2.a+“b=”+Obj2.

b);

}

}

A.a=100b=200

a=12b=45

B.a=12b=45

a=100b=200

C.a=12b=200

a=100b=45

D.a=100b=45

a=12b=200

33.在匹配器(Matcher)类中,用于寻找下一个模式匹配串的方法是()。

A.staticbooleanmatches()

B.booleanmatcher.find()

C.intmatcher.start()

D.intmatcher.end()

34.下列说法正确的是()。

A.共享数据的所有访问都必须作为临界区

B.用synchronized保护的共享数据可以是共有的

C.Java中对象加锁不具有可重人性

D.对象锁不能返回

35.在JavaApplet程序中,如果对发生的事件做出响应

和处理的时候,应该使用下列()语句。

A.importjava.awt.event.*;

B.importjava.io.*;

C.importjava.awt.*;

D.importjava.applet.*;

36.在一个容量为32的循环队列中,若头指针front一

3,尾指针rear=2,则该循环队列中共有元素个数为()。

A.29

B.30

C.31

D.32

37.Java语言中如果要使用某个包中的类时,需要使用()导人。

A.inport

B.outport

C.import

D.input

38.执行下面程序段的输出结果为()。

publicclassQ

{

publicstaticvoidmain(Stringargv[])

{

intanar[]一newint[5];

System.out.println(anar[0]);

}

}

A.0

B.1

C.2

D.5

39.使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是()。

A.time()

B.yield()

C.load()

D.min()

40.以下程序计算1+1/3+1/5+…+1/(2N+1),直至1/(2N+1)小于0.00001,横线处应补充的程序是()。

publicclassSun{

publicstaticvoidmain(Stringargs[]){

intn=1:

doubleterm,sum=1.0:

do{

n=__;

term=1.0/n;

sum=sum+term;

}

while(term>=0.00001);

System.out.println(n);

8.排球裁判复习题答案 篇八

一、填空:

1.排球运动与(1895)年起源于美国,由(威廉·摩根)发明的?

2.(1947)年国际排球联合会在(法国巴黎)成立。3.我国与(1994)年加入国际排球联合会。4.当前国际排球大赛有:世界杯排球赛、(世界排球锦标赛)和(奥运会排球赛)。5.正式国际比赛,场地边线外无障碍区至少(5)米,端线外至少(8)米。6.目前排球比赛的球网高度:成人男子为(2.43)米,成人女子为(2.24)米。7.排球网上有(标志杆)和(标志带)装置。

8.队长胸前有一条长(8)厘米,宽(2)厘米带状标志。

9.在比赛中,第一裁判员的判定是(最终)判定,他(有权)改判其他裁判的错误判定。10.每局比赛中,每队最多请求(2)次暂停和(6)次换人。11.第一部排球规则是由(摩根)制定的。12.(1897)年美国出版发行了第一部排球规则用书。13.第一部排球规则用书共有(10)条规则。

14.自(1999)年(1)月(1)日开始实施每球得分制。15.排球运动于(1905)年传入我国。16.中国排球运动先后经历了(16)人制,(12)人制,(9)人制和(6)人制的发展过程。

17.第一裁判鸣哨允许发球后(8)秒后必须将球发出。

18.国际排联世界性比赛应采用(三)球制,设(6)名捡球员。19.标志杆长为(1.8)米,标志杆必须高出球网上沿(0.80)米。20.排球场边线为(18)米,端线为(9)米。

21.排球场所有划线宽度均为(0.05)米。

22.发球区宽为(9)米,发球区两侧的短线长为(15)厘米。

二、判断题

1.比赛前裁判员检查网高时,应以边线上空的球网高度为标准。(×)2.第一裁判员鸣哨允许发球后5秒内,发球队员必须将球发出。(×)3.发球队员击球时可以踏踩端线,只要不越过端线就行。

(×)4.跳起发球,击球后落入场内是允许的。(√)

5.第一裁判员可以允许一名或多名运动员不穿鞋进行比赛。(√)6.第二裁判员对背向第一裁判员的明显连击或持球应果断鸣哨。(×)

7、比赛中只有场上队长在死球时可以和裁判员讲话。(√)

8、接发球队获得发球权后,由“一”号队员发球。(×)

9、发球队员击球时的犯规与对方位置错误同时发生,判发球犯规。(√)

10、发球队员击球后的犯规与对方位置错误同时发生,判接发球队犯规。(√)

11、轮转次序出现错误不判罚,恢复到正确位置即可。(×)

12、队员的一只脚或一只手(两只脚或两只手)一部分越过中线,其余部分还接触中线或置于中线上空是允许的。(√)

13、球在甲方上空,甲乙双方同时击球,判乙方过网击球犯规。(×)

14、每局每队最多可替换六人次,每次最多可替换两人次。(×)

15、第一次被替换下场的正式队员再次上场比试,可以替换任何一名队员。(×)

16、替补队员每局只能上场比赛一次。(√)

17、同一队没有经过比赛过程再次请求换人是允许的。(×)

18、比赛中出现任何外界干扰都应停止比赛,该球重新比赛。(√)

19、每次暂停时间为1分钟,局间休息为2分钟。(×)

20、决胜局中其队获得7分时双方交换场区,休息30秒后继续比赛。(×)

21、自由防守队员不能担任队长和场上队长。(√)

22、队员可以带眼镜参加比赛,但风险自负。(√)

23、比赛中,球触及标志杆为界外球。(√)

24、排球场地边线、端线的宽度均属于场地面积。(√)

25、自1999年1月1日起实施每球得分制。(√)

26、自1999年1月1日起取消了“发球试图”,改发球时间为8秒。(√)

27、自由防守队员只允许换后排6号位队员。(×)28、1897年美国出版发行了第一部排球规则用书。(√)

三、问答题:

1、何为过网击球犯规?

2、后排队员拦网犯规的具体条件?

3、何为过网拦网犯规?

4、后排队员进攻性击球的犯规条件有那些?

5、如何判断发球集体掩护?

6、制定排球竞赛规则的目的、意义是什么?

7、第一裁判员的职责有那些?

8、第二裁判员的职责有那些?

9、比赛中,第二裁判员发现进攻队员在靠近他的一侧有明显的连击或持球动作,他能鸣哨吗?他应如何处理? 10、1999年以来规则修改的主要条款有那些?

四、实际应用题

1、编写1份我校区学生排球赛规程。

2、计算出6只球队参加单循环比赛轮次、场数并以逆时针轮转法编排出各轮的对阵顺序表。3、8个队第一阶段利用分组循环,第二阶段交叉淘汰方法进行比赛,请计算出全部比赛场数。并简述或图示第二阶段产生前四名的过程。

4、画出8个队单淘汰制对阵表及附加赛对阵表(决出1-8名)。

5、如何确定排球竞赛成绩与名次,并写出Z值、C值计算公式。

9.经典java面试题及答案 篇九

基本数据类型有四类八种

整形:byte short int long

浮点型:float double

字符型:char

布尔型:boolean

2.编码转换,把GB2312的字符串转换成ISO8859-1。

String str = “abcd”;

str = new String(str.getBytes(“GB2312”), “ISO8859_1”);

3.String和StringBuffer有什么区别,“==”和equals有什么区别。

char能不能放下一个中文字符,为什么?

(1)本质上的区别是:String是不可变类(immutable),而StringBuffer是可变类。

StringBuffer是可以改变字符串长度的,用append(“str”)的方法可以不断增加内容,

而String则不可以,并且相同的字符串对象是相同的地址引用,

若要String改变值,需要改变String变量的引用(指向新的对象)。

(2)== 是对引用进行判断,对内存地址的判断

equals()是判断引用的值是否相等,对实际存储的值的判断

内存地址相同的值一定相同,但值相同的内存地址就不一定相同

(3)char可以放下一个中文字符,因为java采用的是unicode编码,一个字符为两个字节。

4.写一个字符串反转的方法,把“abcdefg”转换成“gfedcba”。

String str = “abcdefg”;

//方法一:利用StringBuffer的reverse()方法实现

public static String reverse2(String str) {

StringBuffer sb = new StringBuffer(str);

sb.reverse().toString();

return sb.toString();

}

//方法二:

public static String reverse(String str) {

if (str == null) {

throw new NullpointerException();

}

return (new StringBuffer(str)).reverse().toString();

}

//方法三:参照StringBuffer的reverse()方法

public static String reverse(String s){

int length=s.length();

StringBuffer result=new StringBuffer(length);

for(int i=length-1;i>=0;i--)

result.append(s.charAt(i));

return result.toString();

}

5.替换字符串,把“abc.abc.abc”替换成“abc/abc/abc”。

String rep = “abc.abc.abc”;

String rep2 = rep.replaceAll(“.”, “/”);

//由于.是特殊字符,需要加上转义,否则全部转换成/了

6.类型转换,把int类型的“123456”转换成String后再转换为int,方法越多越好。

int i = 123456;

将整数i转换成字串 s

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = “” + i;

将字串 s 转换成整数 i

1.)int i = Integer.parseInt(s);

2.)int i = Integer.parseInt(s,10);//int radix为进制

3.)int i = Integer.valueOf(s).intValue();

注: double, float, long 转换的方法大同小异.

7.日期处理,取得从1970到现在的毫秒数,格式为yyyy-MM-dd-HH:mm:ss再转换成String输出。

//获取当前系统的时间new

java.util.Date date = new java.util.Date();

//取得从1970年到现在的毫秒数

long now = date.getTime();

//格式化日期

java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

//转为字符串

String dateStr = df.format(date);

8.io文件操作,指定一个文件夹,C:temptest,

上一篇:文学院大学生素质拓展中心负责人和各部门职能简介下一篇:15分钟课堂落实心得体会