当前位置:文档之家› Java高级程序设计期末复习题

Java高级程序设计期末复习题

Java高级程序设计期末复习题
Java高级程序设计期末复习题

Java高级程序设计第二学期期末复习题

一、判断题

1. java.io.Seriablizable是对象可以序列化接口。(√)

2. java.awt包是Java语言用来构建图形用户界面(GUI)的类库。(√)

3. 容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。(√)

4. Java中所有的类都是通过直接或间接地继承https://www.doczj.com/doc/db14960688.html,ng.Object类得到的。(√)

5. Java的图形用户界面的最基本的组成部分就是构件(Component)。(√)

6. 在Swing中用重量级的构件替代了AWT中的轻量级的构件。(X)

7. 与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(contentPane)上。(√)

8. 类Panel默认的布局管理器是GridLayout。(X)

9. 每个Java小应用程序必须定义为Jframe类的子类。(√)

10. 使用UDP通信时,用DatagramPacket类把要发送的信息打包。(√)11.AWT组件称为重型组件(√)

12.Swing组件称为轻型组件(√)

13.容器类不是GUI组件(X)

14.使用add方法可以在框架的内容窗格中添加组件(√)

15.FlowLayout 是最简单的布局管理器(√)

16.布局管理器GridLayout不是以网格(矩阵)的形式排列组件(X)

17.布局管理器的属性不可以动态的改变(X)

18.每一时刻,一个容器只能有一个布局管理器(√)

19.要创建一个用户界面,需要创建一个框架或applet来存放用户界面组件(√)

https://www.doczj.com/doc/db14960688.html,ponent类是所有用户界面的父类(√)

21. JFrame实例可以添加到容器中。( F )

22. JCheckBox继承了AbstractButton类的所有属性。( T )

23. JTextArea可以让用户输入多行文字。( T )

24. JSlider与JScrollbor类似,但是JSlider具有更多的属性和更多是显示形式。( T )

25.JTextField类继承了JTextComponent类,而JTextComponent类继承JComponent 类。( T )

26. 从应用程序创建一个子窗口,不用先创建JFrame的一个子类。( F )

27. 在一个文本域中按下回车键就触发了ActionEvent事件。( T )

28. Java使用事件委托处理模型来处理事件,源对象和监听对象可以是同一个对象。( T )

29. JDBC是指Java程序与数据库连接的一种机制。( T )

30.可以给一个面板添加框架。(F )

31. File类提供实现文件读写的操作方法。(T)

32. java.io.Reader时一个读取字符的类。(T)

33.垂直文本位置指定文本相对于图标的垂直位置。(T)

34.不可以同时设置按钮上的文本和图标。(F)

35.标签是显示一小段文字、一幅图片或者二者皆有的区域。(T)

36.组合框是包含项目的一个列表,用户可以从中进行选则。(T)

37. 用read()方法读取文件内容时,返回-1表示文件结束。(F)

38. PrintWriter类和PrintStream类可以以文本方式输入基本类型数据值、字符串和对象。(F)

39. 代表优先级的常数值越大优先级越低(F)

40. 线程一旦被创建,则自动运行(F )

二、单选题

1、下列关于Java线程的说法那些是正确的( B )

A、每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。

B、创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。

C、Thread类属于java.util程序包。

D、以上说法无一正确。

2、运行下列程序, 会产生什么结果?( D )

public class X extends Thread implements Runable{

public void run(){

System.out.println("this is run()");

}

public static void main(String args[]) {

Thread t=new Thread(new X());

t.start();

}

}

A、第一行会产生编译错误

B、第六行会产生编译错误

C、第六行会产生运行错误

D、程序会运行和启动

3、下列选项中,用于定义接口的关键字是( C )

A、import

B、implements

C、interface

D、protected

4.定义类头时能使用的修饰符是( C )。

A) private B) static C) abstract D) protected

5、下面哪个方法不可以在任何时候被任何线程调用?( A )

A、wait()

B、sleep()

C、yield()

D、synchronized(this)

6.下列关于线程优先级的说法中,正确的是 ( D )

A) 线程的优先级是不能改变的

B) 线程的优先级是在创建线程时设置的

C) 在创建线程后的任何时候都可以设置

D) B和C

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

A) 新建状态、运行状态和终止状态

B) 新建状态、运行状态、阻塞状态和终止状态

C) 新建状态、可运行状态、运行状态、阻塞状态和终止状态

D) 新建状态、可运行状态、运行状态、恢复状态和终止状态

8.Thread类中能运行线程体的方法是( D )

A) start() B) resume()

C) init() D) run()

9在程序读入字符文件时,能够以该文件作为直接参数的类是( A )

A) FileReader B) BufferedReader

C) FileInputStream D) ObjectInputStream

10)java.io包的File类是( D )

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

C) 对象流类D) 非流类

11)下列描述中,正确的是( C )

A) 在Serializable接口中定义了抽象方法

B) 在Serializable接口中定义了常量

C) 在Serializable接口中没有定义抽象方法,也没有定义常量

D) 在Serializable接口中定义了成员方法

12. java中用于创建文件对象的类是(A )

A.File B. Object C. Thread D. Frame

13. 从键盘上输入一个字符串创建文件对象,若要判断该文件对象为目录文件或数据文件,可使用下列哪个方法?( C )

A.getPath() B. getName() C.isFile() D. isAbsolute()

14. 下列哪个类不对直接创建对象?(A )

A.InputStream B. FileInputStream C. BufferedInputStream D. DataInputStream

15. 从键盘上输入多个字符时,为了避免回车换行符的影响,需要使用下列哪个流方法?(D )

A.write() B. flush() C. close() D. skip()

16. 以对象为单位把某个对象写入文件,则需要使用什么方法?(B )

A. writeInt() B writeObject() C. write() D.writUTF()

17. 下列哪个类的方法能够直接把简单数据类型写入文件?(C )

A.OutputStream B. BufferedWriter C. ObjectOutputStream. D.FileWriter 18. 若一个类对象能被整体写入文件,则定义该类时必须实现下列哪个接口?

(D )

A.Runnable

B. ActionListener

C. WindowsAdapter

D. Serializable

19. 下列哪种类型的数据能以对象的形式写入文件?(A )

A.String B. Frame C. Dialog D. Button

20. File类的方法中,用于列举某目录下的子目录及文件的方法是(C )

A.long length() B. long lastModified() C. String [] list() D. String getName()

21. 能够以字符串为单位写入文件数据的流类是(C )

A. FileOutputStream

B. FileWriter

C. BufferedWriter C. OutputStream

22. 能够向文件输入逻辑型数据的类是:( D )

A. FileOutputStream

B. OutputStream

C. FileWriter

D.DataOutputStream

23. 在线程同步中,为了唤醒另一个等待的线程,使用下列方法(C )

A. sleep()

B. wait() C notify() D. join()

24. 为了得到当前正在运行的线程,可使用下列哪个方法?(B )

A.getName() B. Thread.CurrentThread(). B. sleep() D. run()

25. 以下(D )不属于线程的状态。

A.就绪状态B。运行状态C。挂起状态D。独占状态

26.当线程被创建后,其所处的状态是(D )

A.阻塞状态B。运行状态C、就绪状态D、新建状态

27.当线程调用start()后,其所处状态为(C )

A.阻塞状态B。运行状态C、就绪状态D、新建状态28.Thread.sleep()方法调用后,当等待时间未到,该线程所处状态为(A )A.阻塞状态B。运行状态C、就绪状态D、新建状态

29.新生状态的线程其可能直接进入的状态是(D )

A.阻塞状态B、运行状态C、新建状态D、结束状态

30.Thread.sleep()方法调用后,当等待时间已到,该线程所处状态为(C )A.阻塞状态B。运行状态C、就绪状态D、新建状态

31.当线程因异常而退出run()后,其所处状态为(D )

A.阻塞状态B。运行状态C、就绪状态D、结束状态

32.wait()方法首先是哪个类的方法?(A )

A. Object

B. Thread.

C. Runnable

D. File

33.如果我们想实现“先把要写入文件的数据先缓存到内存中,再把缓存中的数据写入文件中”的功能时,则需要使用下列哪个类?( C )

A. FileReader

B. OutputStream

C. FilterOutputStream

D. DataOutputStream

34. 用read()方法读取文件内容时,判断文件结束的标记为(C )

A. 0

B. 1 C -1 D. 无标记

35.以下哪个方法只对使用了缓冲的流类起作用?(D )

A. read()

B. write() C skip() D. flush()

36. Java提供的类InetAddress来进行有关Internet地址的操作.( D )

A. Socket

B.ServerSocket

C. DatagramSocket D InetAddress

37. InetAddress类中哪个方法可实现正向名称解析?(B )

A. isReachable()

B. getHostAddress()

C. getHosstName()

D.getByName()

38. 为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息(C )

A.getPort()

B.getHost

C.openStream()

D.openConnection()

39. java程序中,使用TCP套接字编写服务端程序的套接字类是(B )

A. Socket

B. ServerSocket

C. DatagramSocket

D.DatagramPacket

40. ServerSocket的监听方法accept()的返回值类型是(C )

A. void

B. Object

C. Socket

D. DatagramSocket

41. ServerSocket的getInetAddress()的返回值类型是(C )

A. Socket B ServerSocket C.InetAddress D,.URL

42. 当使用客户端套接字Socket创建对象时,需要指定(A )

A.服务器主机名称和端口B、服务器端口和文件C、服务器名称和文件

D.服务器地址和文件

43.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法(C )A.getInetAddress() B. getLocalPort() C.getOutputStream()

D.getInputStream()

44. 使用UDP套接字通信时,常用哪个类把要发送的信息打包?(D )

A. String

B. DatagramSocket

C. MulticastSocket

D.DatagramPacket

45. 使用UDP套接字通信时,哪个方法用于接收数据(B )

A. read()

B. receive()

C. accept()

D. Listen()

46. 若要取得数据包的中源地址,可使用下列哪个语句(A )?

A.getAddress() B. getPort() C. getName() D.getData()

47. 要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为( A )

A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)

B. DriverManage.getConnection(“”,””,””)

C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()

D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()

48. 要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为(B )

A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)

B. DriverManage.getConnection(“”,””,””)

C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()

D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()

49. java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?(A )

A. executeQuery()

B.executeUpdate() C executeEdit() D.executeSelect()

50. java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?(B )

A. executeQuery()

B.executeUpdate() C executeEdit() D.executeSelect() 51.Swing与AWT的区别不包括(D )

A.Swing是由纯Java实现的轻量级构件

B.Swing没有本地代码

C.Swing不依赖操作系统的支持

D.Swing支持图形用户界面

52. JA V A中提供了多种布局对象类。其中使用卡片式布局的是(D )

A.FlowLayout

B.BoederLayout

C.BoxLayout

D.CardLayout

53.每个使用Swing组件的程序必须至少有一个(B )

A. 按钮

B. 顶层容器

C. 标签

D. 菜单

54.下列哪个选项是创建一个标识有"关闭"按钮的语句?(C )

A.JTextField b = new JtextField("关闭");

B.JTextArea b = new JTextArea("关闭");

C.JButton b = new Jbutton("关闭");

D.JCheckbox b = new Jcheckbox("关闭");

55.鼠标事件的监听器接口MouseListener能实现的事件不包括(D )

A.按下

B.释放

C.点击

D.拖动

56.在Java中,而无需在程序中用import导入的包是(D )

A.java.applet B.java.awt

C.java.util D.https://www.doczj.com/doc/db14960688.html,ng

57.类Panel默认的布局管理器是(C )

A.GridLayout B.BorderLayout

C.FlowLayout D.CardLayout

58.容器Frame缺省使用的布局编辑策略是(B)。

A.FlowLayout B.BorderLayout

C.GridLayout D.CardLayout

59.容器类java.awt.container的父类是( B )。

A.java.awt.Window B.https://www.doczj.com/doc/db14960688.html,ponent

C.java.awt.Frame D.java.awt.Panel

60.编写Java图形界面程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上( D )语句。

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

C.import java.io.* ; D.import java.awt.event.* ;

三、填空题

1.Stdout System.out作为PrintStream的实例,来实现stdout,它代表的是屏幕

2.Stdin System.in作为InputStream类的一个实例来实现stdin,它代表的是键盘,你可以使用其中两个成员函数,read()让你从输入中读一个字节,skip(long n)让你在输

入中跳过n个字节。

3.Java中的IO流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。它们通过重载read()和write()方法定义了6个读写操作方法。

4.File类不是一個標準的I/O类,在java.io类库中它是唯一的non-stream類別,既不能讀取文件內容,也不能修改文件內容,主要作用是收集檔案(或目錄)的相關信息,例如:建立文件对象、修改文件名、设置文件属性、测试文件属性

5.目录是一个包含其他文件和路径列表的File 类。当你创建一个File 对象且它是目录时,isDirectory( ) 方法返回ture。这种情况下,可以调用该对象的String [ ]list( )方法来提取该目录内部其他文件和目录的列表

6. 所有的输出过滤流都是抽象类_ ____的子类。(FilterOutputStream)

7、字符输入流BufferedReader使用了__ ____技术。(PrintStream)

8、InputStreamReader负责将InputStream转化成Reader,而OutputStreamWrite r则将OutputStream转化成Writer。实际上是通过byte[]和String来关联。

9、设a.txt为当前目录下的一个文本文件,则以字符方式向该文件写数据时,需要建立的输出流通道为:new FileWriter(“a.txt”);

10. 随机访问文件类是RandomAccessFile,它实现了与DataInputStream, DataOutputStream类同样实现的接口DataInput, DataOutput.。

11.实现多线程的两种方式是:1、继承Thread类;2、实现Runnable接口。

12、取得当前线程的语句是:Thread.currentThread();

13.主线程的名称是main,默认创建的第一个子线程的名称是thread-0

14. 可以调用Thread 类的方法getPriority()和setPriority()来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是5(NORM_PRIORITY)。

15.(1) 当多个线程同时运行时,会产生数据错误及其它冲突问题。Java语言提供了线程同步控制机制,一是锁定共享资源,使得在任何时刻只有一个线程能够访问共享资源,以保持共享资源的完整和一致,二是让互相通信的线程运行,以保证通信的正确性。(2)线程之间的通信有两种方法:一是把共享变量和方法封闭在一个类中,二是利用系统方法和控制线程通信. 实现对共享资源互拆访问的方法是在方法声明中加入synchronized关键字来声明一个访问共享资源的方法,或者通过synchronized关键字来声明synchronized 块。

16、守护线程一般被用于在后台为其它线程提供服务。调用方法isDaemon() 来判断一个线程是否是守护线程,也可以调用方法setDaemon()将一个线程设为守护线程。

17、InetAddress是用于封装IP地址和DNS的一个类。

18、TCP/IP套接字是最可靠的双向流协议。等待客户端的服务器使用ServerSocket类,而要连接到服务器的客户端则使用Socket类。

19、https://www.doczj.com/doc/db14960688.html,包中提供了一个类MulticastSocket,允许数据报以广播方式发送到该端口的

所有客户。

20. 在TCP/IP协议的传输层除了TCP协议之外还有一个UDP协议。几个标准的应用层协议HTTP,FTP,SMTP…使用的都是TCP协议。UDP协议主要用于需要很强的实时交互性的场合,如网络游戏,视频会议等

21、当我们得到一个URL对象后,就可以通过它读取指定的WWW资源。这时我们将使用URL的方法openStream(),其定义为:InputStream openStream();

22、URL的构造方法都声明抛弃非运行时异常MalformedURLException ,因此生成URL 对象时,我们必须要对这一例外进行处理,通常是用try-catch语句进行捕获。

23、一个Statement对象,可以执行多个sql语句以后,批量更新。这多个语句可以是delete、update、insert等或兼有

24、Java数据库操作基本流程:取得数据库连接、执行sql语句、处理执行结果、释放数据库连接。

25、下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是

public class Test implements Runnable{

public static void main(String args[]){

Test t=new Test();

Thread tt=new Thread(t);

tt.start();

}

public void run(){

for(;;){

try{

Thread.sleep(1000) ;

}catch( InterruptedException e){}

System.put.println("Hello");

}

}

}

26、下列程序的功能是把整型数组myArray中的各元素存入文件ints.dat中,请将程序补充完整。

Import java.io.*;

Public class WriteFile{

Public static void main (String[] A){

____int[]______ myArray={10,20,30,40};

Try{

FileOutputStream f=new FileOutputStream(“ints.dat”);

DataOutputStream_____Dos________=new DataOutputStream(f);

For(int i=0;i

Dos.writeInt(myArray[i]);

Dos.close();

}catch(IOException ioe){

System.out.println(“IOException”);

}

}

}

27、面程序运行后,可以使用上下键移动文本框组件。请将程序补充完整。public class Yidong extends Frame implements keyListener{ TextField b1;

int x,y;

Yidong (){

setLayout (new FlowLayout());

b1 = new TextField("走");

____ this.add(b1); __

b1.addkeyListener(this);

setSize (200,120);

}

public void keyPressed(KeyEvent e)

{

x=b1.getBouds().x;

y=b1.getBouds().y;

if(e.getKeyCode()==KeyEvent.VK_UP){

y=y-3;

i f(y<=1)y=50;

b1.setLocation(x,y);

}

if(e.getkeyCode()==keyEven.VK_DOWN)

{

y=y+3;

if(y>=100)y=50;

______ b1.setLocation(x,y)_____;

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

public static void main (String args[]){

Yidong a = new Yidong ();

_____ a.setVisible(true) ____;

}

}

28、下面的程序段完成服务器在端口4331监听客户端的连接,如果有连接,则在服务端显示客户端的IP地址, 请将程序补充完整。

public class Server{

public static void main(String args[]){

ServerSocket server=null;

Server_thread thread;

Socket you=null;

while(true) {

try{

server=new ServerSocket(___4331__________);

} catch(IOException e1){ }

try{

System.out.println(" 等待客户呼叫");

you=____server.accept();_____

System.out.println("客户的地址:" +

____you.getInetAddress_____);

} catch (IOException e) { }

}

}

}

四、编程题

1、利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。

答:

import java.io.*;

class CopyFile{

public static void main(String[] args) {

String file1,file2 ;

int ch = 0 ;

try {

file1=args[0];

file2=args[1];

FileInputStream fis = new FileInputStream(file1);

FileOutputStream fos=new FileOutputStream(file2);

while ((ch=fis.read())!=-1)

fos.write(ch);

fis.close();

fos.close();

}

catch(FileNotFoundException e){

System.out.println("源文件:未找到!");

}catch(ArrayIndexOutOfBoundsException e){

System.out.println("缺少运行参数!");

System.exit(-1);

}

catch (IOException e){

System.out.println(e.toString());

}

}

}

2、编写程序实现窗口,包含一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyFrame extends JFrame implements ActionListener{

JLabel lbl;

JTextField txt;

JButton btn;

public MyFrame(){

Container c=getContentPane();

//设置窗体的布局为FlowLayout

setLayout(new FlowLayout());

lbl = new JLabel("初始信息");

txt = new JTextField(30);

btn = new JButton("确定");

c.add(lbl);

c.add(txt);

c.add(btn);

btn.addActionListener(this);

setVisible(true);

}

public void actionPerformed(ActionEvent e){

lbl.setText(txt.getText());

}

public static void main(String[] args){

new MyFrame();

}

}

3.编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a.txt文件中。

3.答:

import java.io.*;

public class InFile{

public static void main(String[] args)

{

int ch;

try{

FileOutputStream out=new FileOutputStream("a.txt");

while((ch=System.in.read())!='\r'){

System.out.write(ch);

out.write(ch);

}

out.close();

System.out.write('\n');

}catch(IOException e){

System.out.println(e.toString());

}

System.out.println("输出至文件完毕!");

}

}

4、下列程序向屏幕输出文本文件内容:请完成所缺少的代码

import java.io.*;

class readtxt

{

public static void main(String[] args) {

try{

FileReader f1 = new FileReader("u.txt");

BufferedReader bf1 =new BufferedReader(f1);

String line;

line = bf1.readLine();

while(line!=null) //判断所读的一行内容是否为空;

{

System.out.println(line);

line = bf1.readLine();//继续读入下一行

}

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

}catch(IOException e) {e.printStackTrace(); }

}}

5、设服务器端程序监听端口为8629, 当收到客户端信息后,首先判断是否是“BYE”,若是,则立即向对方发送“BYE”,然后关闭监听,结束程序。若不是,则在屏幕上输出收到的信息,并由键盘上输入发送到对方的应答信息。请编写程序完成此功能。

mport https://www.doczj.com/doc/db14960688.html,.*;

import java.io.*;

class Server{

public Server() {

try {

ServerSocket ss = new ServerSocket(8629);

System.out.println("服务器端已运行,等待客户端连接:");

Socket socket = ss.accept(); //接收客户端的连接请求;

BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

PrintWriter out = new PrintWriter(socket.getOutputStream(),true);

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String line;

while(true)

{line = (in.readLine().trim());

if(line.equals("BYE"))

{ out.println("BYE");

out.close();

in.close();

socket.close();

br.close();

ss.close();

break;}

System.out.println("客户输入为:" + line);

System.out.println("请输入回答:" );

line=br.readLine(); //从键盘上输入信息;

out.println(line); //向对方发送信息

} }

catch (IOException e){}

}

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

new Server();

}

}

6、TCP客户端需要向服务器端8629发出连接请求,与服务器进行信息交流,当收到服务器发来的是“BYE”时,立即向对方发送“BYE”,然后关闭连接,否则,继续向服务器发送信息。

import java.io.*;

import https://www.doczj.com/doc/db14960688.html,.*;

class Client2{

public Client2()

{ try

{String s;

Socket socket = new Socket("服务器地址", 8629);

BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

PrintWriter out = new PrintWriter(socket.getOutputStream(),true);

BufferedReader line = new BufferedReader(new InputStreamReader(System.in));

while(true)

{ System.out.println("请向服务器输出一条字符串:");

s=line.readLine();

out.println(s); //向服务器发出信息;

s=in.readLine().trim(); //收到服务器发来的信息;

System.out.println("服务器返回的信息是:");

System.out.println(s);

if(s.equals("BYE"))

{ out.println("BYE");

line.close();

out.close();

in.close();

socket.close(); break;}

}

}

catch (IOException e){}

}

public static void main(String[] args) {

new Client2();

}}

7、设access数据库中有student表,表中存放学生学号,姓名两个字段,请编写程序输出表中所有记录信息。(假定已经配置好数据源为:mydb11)

import java.sql.*;

class access{

public static void main(String args[]){

Connection con;

Statement sql; //声明Statement对象

ResultSet rs;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundException e){

System.out.println(""+e);

}

try{

con=DriverManager.getConnection("jdbc:odbc:mydb11","","");

sql=con.createStatement();

rs=sql.executeQuery("Select * FROM mytable");

while(rs.next()){

String num=rs.getString(1); //获得数据库第一列

String name=rs.getString(2);

System.out.print("学号:"+num); //输出信息System.out.print(" 姓名:"+name); System.out.println();

}

con.close();}

catch(SQLException el){}

}

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

Java程序设计复习题

Java程序设计复习题 一、选择题 1.下面哪些是java语言中的关键字? A.sizeof B.abstract C.NULL D.Native 2.switch语句中表达式的值必须是 A.布尔型或字符型 B.整型或字符型 C.整型或布尔型 D.浮点型或整型3.以下程序测试String 类的各种构造方法,试选出其运行效果。 class STR{ public static void main(String args[]){ String s1=new String(); String s2=new String("String 2"); char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,6); byte bytes[]={0,1,2,3,4,5,6,7,8,9}; StringBuffer sb=new StringBuffer(s3); String s5=new String(sb); System.out.println("The String No.1 is "+s1); System.out.println("The String No.2 is "+s2); System.out.println("The String No.3 is "+s3); System.out.println("The String No.4 is "+s4); System.out.println("The String No.5 is "+s5); } } A.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is string The String No.5 is a string B.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is tring The String No.5 is a string C.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is strin The String No.5 is a string D.以上都不对 4.按访问权限从高到低的排列顺序是 A.友好的,public,protected, private. B.public,protected,private,友好的. C.public,友好的,protected,private. D.public,protected,友好的,private

Java语言程序设计二级考试模拟试卷

Java语言程序设计二级考试模拟试卷一 (考试时间90分钟,满分100分) 一、选择题(1~20题每题2分,20~30题每题3分,计70分) 在下列各题的A、B、C、D、四个选项中,只有一个选项是确定的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 1、下列叙述中正确的是()。 A、线性表是线性结构 B、栈和队列是非线性结构 C、线性链表是非线性结构 D、二叉树是线性结构 2、下列关于队列的叙述中正确的是()。 A、在队列中只能插入数据 B、在队列中只能删除数据 C、队列是先进先出的线性表 D、队列是先进后出的线性表 3、设有下列二叉树: 对此二叉树前遍历的结果是()。 A、ABCDEF B、DBEAFC C、ABDECF D、DEBFCA 4、设树T的度为4,其中度为1、2、3、4的结点个数分别是4,2,1,1。则T中的叶子结点数是()。 A、8 B、7 C、6 D、5 5、结构化程序设计主要强调的是()。 A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 6、下面对对象概念描述错误的是()。 A、任何对象都必须有继承性 B、对象是属性和方法的封装体 C、对象间的通讯靠消息传递 D、操作是对象的动态属性 7、在软件测试中,以发现各模块内部可能存在的各种错误为目的的测试是()。 A、集成测试 B、单元测试 C、黑盒测试 D、白盒测试 8、软件需求分析阶段的工作,可以分为四个方面,需求获取、需求分析、编写需求规格说明书以及()。 A、阶段性报告 B、需求评审 C、总结 D、信息隐藏 9、在关系数据库中,用来表示实体之间联系的是()。 A、树结构 B、网结构 C、线性表 D、二维表 10、在关系数据库中,当数据的存储结构改变时,其逻辑结构可以不变,因次,基于逻辑结构的应用程

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

Java程序设计复习题 (1)

一、单选题:在下列各题的备选答案中选择一个正确的。(每题2分,共20分) 1、下列方法中不是键盘事件KeyEvent实现方法的是() A .keyPressed(KeyEvent e) B .keyReleased(KeyEvent e) C .mouseClicked(MouseEevent e) D .keyTyped(KeyEvent e) 2、下列关于接口的描述,正确的是( C ) A 抽象类可以使用extends关键字来继承接口 B 接口可以被实例化 C 接口可以继承多个父接口 D 接口具有继承性,但不能继承父接口的所有属性和方法 3、下面的方法,当输入为2的时候返回值是多少?( C ) public int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; } A)0 B)2 C)4 D)10 4、下列叙述中,正确的是( A ) A)声明变量时必须制定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是“//” D)源文件中public类可以有0个或者多个 5、如下Java代码段,体现了( B )概念。 public void aMethod(String s){....} Java程序设计2 第1页共6页

public void aMethod(int i){.........} public void aMethod(int I,float f){.....} ..... A)多继承 B)重载 C)重写 D)多态 6、下列标识符(名字)命名原则中,正确的是( D ) A)类名的首字母小写 B)变量和方法名的首写字母大写 C)接口名的首写字母小写 D)常量完全大写 7、Java的核心包中,提供编程应用的基本类的包是( A ) A)https://www.doczj.com/doc/db14960688.html,ng B) Java.util C) Java.applet D) Java.rmi 8、Panel默认的布局管理器是( A ) A) FlowLayout B) GridLayout C) BorderLayout D) FlowLouLayout 9、File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( B ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A)创建C:\test.dat B) 删除C:\test.dat C) 打开C:\test.dat文件输出流 D) 移动C:\test.dat 10.下列常见的系统定义的异常中,哪个是输入、输出异常? ( B ) A)ClassNotFoundException B)IOException C)FileNotFoundException D)UnknownHostException 11、下列属于合法的Java标志符是( D ) A “ABC” B &5678 C +newer D saler 12、下列数组的初始化正确的是()b Java程序设计2 第2页共6页

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

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

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题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} ; 其中O W 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

Java程序设计复习题4

Java程序设计复习题4 1、Java源程序经编译生成的字节码文件的扩展名为(A ),字节码文件由解释器执行。 A)class B)java C)exe D)html 2、下列的变量定义中,错误的是( D)。 A)int i; B)int i=Integer.MAX_V ALUE; C)static int i=100; D)int 123_$; 3、下列不属于WindowListener接口的是( C ) A)windowOpened() B)windowClosed() C)windowActivated() D)mouseDragged() 4、以下字符常量中不合法的是(B )。 A)'|' B)'\'' C)"\n" D)'我' 5、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A)b = a!=7 ; B)a = 7 + b + c=9; C)i=12.3* % 4; D)a = a + 7 = c + b; 6、下列类头定义中,错误的是( B)。 A)class x {.. } B)public x extends y{ .... } C)public class x extends y{ .... } D)class x extends y implements y1{ .... } 7、下列选项中,用于在定义类头时声明父类名的关键字是(C )。 A)return B)interface C)extends D)class 8、设i,j 为类x 中定义的double 型变量名,下列x 类的构造函数中不正确的是( )。 A)double x(double k ){ i=k; return i; }

java程序设计模拟试题四

《Java 程序设计》模拟试题四 一、选择题(每小题2分,共20分) 1. 以下哪个是合法的标识符? ( C ) A. 7star B. else C. my$ D. super 2. 设有对象obj 具有属性a 则访问该属性的方法为( A )。 A. obj.a B. a.obj() C. a.obj D. obj.a() 3. 下列关于关键字this 和super 的说法正确的是( C )。 A. this 是调用父类的方法和变量 B. super 是调用本类中的方法 C. super 是调用父类的方法和变量 D. 没有区别 4. 以下关于重载(overload )的定义哪个正确?( B ) A.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输出参数。 B.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输入参数。 C.在一个类中,定义了多个具有相同名字的方法,并且这些方法有相同的输入参数。 D.在一个方法体中定义了多行代码。 5. 有如下代码段: int i=2; int j=3; if((i==2)||(j++==3)) i++; if((j==4)||(i++==3)) j++; System.out.printf("i="+i+"j="+j); 该程序运行的结果为: ( C )。 A .i=4,j=4 B.i=3,j=5 C .i=4,j=5 D.以上都不是 6. Java 程序用以下哪个命令可编译源文件? ( D ) A. Java B. appletviewer C. Javadoc D. Javac 7. 以下说法正确的个数为 ( B )。 ①构造方法中this 语句必须放在第一句; ②构造方法中super 语句不一定放在第一句; ③final 修饰的变量只能赋值一次; ④static 修饰的变量在该对象的一个实例中被修改,在另一个实例中也可以取得该变量的新值。 A. 1 B. 2 C. 3 D. 4 8. 下列修饰词,可以用来定义接口中方法的为 ( C )。 A. private B. protected C. public D.以上都不是 9. 关于继承的说法正确的是( B )。 A.子类将继承父类所有的属性和方法。 B.子类将继承父类的非私有属性和方法。 C.子类只继承父类public 方法和属性 D.子类只继承父类的方法,而不继承属性 10. 下列关于Java 程序中数组的使用说法正确的是( A )。 A.数组必须在使用前定义 B.同一个数组中的元素类型必须不同 C.数组是一种特殊的变量不需在使用前声明 D.数组的元素不可以是数组 评分标准:本题为单项选择题,每小题2分,共10道小题,共20分;每小题选对给2分,选错、多选、不选不给分也不扣分。 二、填空题(每空1分,共10分) 1. Java 的特点有: 简单性、可靠性和安全性、面向对象、平台无关和解释执行、分布式、多线 程等 (不少于4条)。 评分标准:只要写出四条即可给1分,不写或少于四条不给分,也不扣分。 2. Java 的注释有以下三种: 单行注释(//)、多行注释(/* */)、文档注释(/** */) 。 评分标准:本题答案不唯一,只要写出3条即可给1分,不写或少于3不给分,也不扣分。备注:不写汉字,只写括号中的符号也算正确,或者汉字和符号的组合也对。 3. 建立文件”file.txt ”的字节输入流的语句是 FileInputStream in=new FileInputStream (”file.txt ”) 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:本题答案不唯一,只要是表达出使用字节流类进行文件的字节输入即可,变量名可以不同,只要符合标识符的定义即可。 4. Java 中所有类都是类 Object 的子类。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:首字母必须大写,否则算错不给分,写对象也算正确。 5. Throwable 的两个直接子类是 Error 、 Exception ,在方法头部声明方法可能会 抛出异常使用 throws 关键字。 评分标准:本题正确给3分,不正确或不写、错误不给分也不扣分。备注:Error 、Exception 的首字母必须大写,否则算错不给分;写出对应的汉语也算正确。 6. abastract 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在 抽象类中定义。 final 方法是不能被当前类的子类重新定义的方法。 评分标准:本题正确给2分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,抽象和最终。 7. 按照功能组织类和接口的名称空间称为 package 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,包。 三、简答题(每小题5分,共20分) 1. 有如下程序: Moveable.java 文件中有如下代码 interface Moveable{ void move(int x,int y); void jump(int x, int y); } Monkey.java 中如下代码: class Monkey implements Moveable{ public void jump(int x,int y){ System.out.printf(“I am jumping from %d to %d ”,x,y); } 专业班级: 姓名: 学号: …………………………密………………………………封………………………………线…………………………

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

Java程序设计复习题(1)

JAVA程序设计复习题 一、单项选择题(在每小题列出的各选项中只有一个是符合题目要求的,请将其代码填在括号内) 1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( B ) A、ArrayList myList=new Object(); B、ArrayList 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'; } } A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc 5、运行下列程序, 会产生什么结果( A ) public class X extends Thread implements Runable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]){ Thread t=new Thread(new X()); t.start(); } } A、第一行会产生编译错误 B、第六行会产生编译错误 C、第六行会产生运行错误 D、程序会运行和启动 6、容器被重新设臵大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( C )

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

Java程序设计试卷及答案

Java程序语言试卷(A) 答题卡: 一题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________ 6.___________________________________________________________ 四题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________五题:

《JAVA程序设计》习题

《J A V A程序设计》练习题 写出下面程序的运行结果 1、 import java.io.*; public class abc { public static void main(String args [ ]) { AB s = new AB("Hello!","I love JAVA."); System.out.println(s.toString( )); } } class AB { String s1; String s2; public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果: Hello!I love JAVA 2、 import java.io.* ; public class abc { 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); } } 运行结果: S=180 //****3、import java.io.* ; public class abc { public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } } class SubClass extends SuperClass { int c; SubClass(int aa, int bb, int cc) { super(aa, bb); c=cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa, int bb, int cc) { super(aa, bb, cc); A = aa+bb+cc; } void show() { System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 运行结果:a=60 b=20 c=30

Java程序设计预赛模拟题-2

一、单选题 1.Java JDK中调试器的命令是( )。 A. javac B. java C. jdb D. javah 2.运行jar文件中class文件需要在java命令后面加的参数为()。 A. -cp B. -g C. -d D. -verbose 3.下面哪项在java中是不合法的标识符?() A. $user B. point C. You&me D. _endline 4.下列哪一项不是Java保留字?() A. sizeof B. super C. abstract D. break 5.下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变? () A. BorderLayout B. CardLayout C. GridLayout D. FlowLayout 6.下面哪些java语句会导致无限循环?( ) I. while (true) i = 0; II. while (false) i = 1; III. while (!false) i = 0; A. III only B. I and III only C. I only D. I, II and III 7.下面是Example.java文件的完整代码,请找出会产生编译错误的行()。 1) class BaseClass { 2) public String str; 3) public BaseClass(){ 4) System.out.println(“ok”);} 5) public BaseClass(String s){ 6) str=s;}} 7) class SubClass extends BaseClass{ 8) } 9) public class Example{ 10) public void method(){ 11) SubClass s=new SubClass(“hello”); 12) BaseClass b=new BaseClass(“world”); 13) } 14) } A. 7 B. 10 C. 11 D.12 8.可以在下面代码段point x处写入的是()。 //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9.下面关于事件监听的说明,哪一个语句是正确的?() A. 所有组件,都不允许附加多个监听器 B. 如果多个监听器加在一个组件上,那么事件只会触发一个监听器 C. 组件不允许附加多个监听器

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