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

JAVA期末复习资料2.

JAVA期末复习资料2.
JAVA期末复习资料2.

一、判断题

1、在Java程序中发生异常时,JVM会找到每个符合条件的catch都执行一次。(F)

2、在Java程序中异常分为运行时异常和非运行时异常,非运行异常必须进行处理(F)

3、异常处理的try-catch块后必须有finally块。( F )

4、异常处理器的排列次序影响处理异常的方法。(T)

5、用catch(Exception exception)语句可以捕获所有异常和错误。( F )

6、启动多线程必须调用start()方法, 如果调用run()方法则没有启动新的线程(T)

7、run()方法是运行线程的主体,若run方法运行结束,线程就消亡了。

(T)

8、线程可以用yield()方法使同优先级的线程运行。( T )

9、一个线程创建并启动后,它将执行自己的run()方法。(T)

10、线程可以用yield()方法使较低优先级的线程运行。(F)

11、每个Java线程的优先级都设置在常数1~12之间,默认的优先级设置为常数6。(F )1~10,默认5

12、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。

( F )

13、BorderLayout是面板(JPanel)的缺省布局管理器。( F )

14、BorderLayout最多可以使用5个组件。( T )

15、一个面板(JPanel)不能被加入另一个面板(JPanel)中。( F )

16、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。( T )

17、标签(JLabel)可以在屏幕上显示一个字符或一幅图片。(T)

18、BorderLayout是容器javax.swing.JFrame默认的布局管理器。(T)

19、JTextArea可以用来接收多行文本的输入。(T)

20、在Java坐标系统中,X值从左向右增加。(T)

21、BorderLayout布局管理器把组件排列在北、南、东、西和中间区域。(T)

22、边界布局管理器(BorderLayout)把容器分成5个区域,每个区域只能放一个组件。( T )

23、一个组件可以注册一个或多个事件监听器。( T )

24、通过类https://www.doczj.com/doc/b214231149.html,.URL中的成员方法可获得网络资源定位器的相关信息(T)

25、Socket的实例对象调用其成员方法getInputStream来获得该Socket所对应的输入流。(T )

26、数据报(DatagramPacket)传输是不可靠的,无法保证包按顺序到达。(T)

27、当Socket连接上面的传输结束后,服务器执行Socket的shutdown方法来关闭连接。(F )

二、选择题

1、下说法中错误的一项是(A )。

A、线程一旦创建,则立即自动进行

B、线程创建后需要调用start()方法,将线程置于可运行状态

C、调用线程的start()方法后,线程也不一定能立即执行

D、线程处于可运行状态,意味着它可以被调度

2、下列说法中不正确的一项是( A )。

A、Thread类中没有定义run()方法

B、可通过继承Thread类来创建线程

C、Runnable 接口中定义了run()方法

D、可以通过实现Runnable接口来创建线程

3、下列说法中,正确的一项是( C )

A、线程可以不运行于程序中

B、一个程序中只能有一个线程

C、线程必须运行于程序中

D、线程本身就是程序

4、线程开始运行时,是从下列哪一个方法开始执行的( B )

A、main()

B、start()

C、run()

D、init()

5、Runnable接口中定义的方法是( C )

A、start()

B、init()

C、run()

D、Runnable()

6、下列说法中不正确的一项是( B )。

A、多线程并发执行时,各个线程中语句的执行顺序是确定的

B、多线程并发执行时,线程之间的相对执行顺序是确定的

C、线程执行顺序的不确定性会导致执行结果的不确定性

D、线程执行顺序的不确定性会破坏共享数据的一致性

7、下列是继承Thread类后得到的子类,请选择正确的一项。( C )

A、class A4 extends Thread

B、class A4 implements Thread

{ {

void run( ) public void run()

{ {

//….. //…..

} }

} }

C、class A4 extends Thread

D、class A4 extends Thread { {

public void run( ) run( )

{ {

//… //…

} }

} }

8、下面那一个函数是线程的入口函数? ( B )

A)private void run() B)public void run()

C)public void start() D)public void begin()

9、下列方法中可以用来创建一个新线程的是__C__。

A)实现https://www.doczj.com/doc/b214231149.html,ng.Runnable 接口并重写 start()方法

B)实现https://www.doczj.com/doc/b214231149.html,ng.Runnable 接口并重写 run()方法

C)继承https://www.doczj.com/doc/b214231149.html,ng.Thread 类并重写 run()方法

D)实现https://www.doczj.com/doc/b214231149.html,ng.Thread 类并实现 start()方法

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

A)start() B)resume()

C)init() D)run()

11、在java程序中,下列关于线程的说法错误的是( D )

A、线程启动调用start方法

B、线程的主体是run方法

C、线程运行中调用sleep方法可以进入阻塞状态

D、在java中,优先级的数值为1的线程可以抢占优先级为5的线程的资源

12、若编译和运行下列代码,出现的结果将是 ( A ) public class MyAdd extends Thread{

static int total = 10;

int n;

public MyAdd(int n)

{ this.n=n; }

public void run() {

try{

sleep(n);

total=total+n;

System.out.println(total);

}

catch(Exception e){

System.out.println(“EXCEPTION!”);

}

}

public static void main(String[] args) {

MyAdd t1 = new MyAdd(3000);

MyAdd t2 = new MyAdd(1000);

t1.start();

t2.start();

}

}

A、1010, 4010

B、3010, 4010

C、1010, 3010

D、3010, 1010

13、若编译和运行下列代码,出现的结果将是___D_____

public class MyThread implements Runnable {

String myString = "Yes ";

public void run() {

this.myString = "No ";

}

public static void main(String[] args) {

MyThread t = new MyThread();

new Thread(t).start();

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

System.out.print(t.myString);

}

}

A、打印 yes yes yes yes yes yesyes yes yes yes

B、打印 no no no no no no no no nono

C、打印 yes no yes no yes no yes no yes no

D、打印结果无法确定

14、下面关于Java中线程的说法不正确的是( C )?

A)调用join()方法可能抛出异常InterruptedException。

B)sleep()方法是Thread类的静态方法。

C)调用Thread类的sleep()方法可终止一个线程对象。

D)线程启动后执行的代码放在其run方法中。

15、下列关于try和catch子句的描述中,错误的一项是( A )。

A、不同的catch代码段是不同的作用域,但是可以访问相互之间定义的局部变量

B、如果没有异常产生,则所有的catch代码段都被略过不执行

C、try代码段后跟有一个或多个catch代码段

D、异常总是由距离产生异常最近的匹配catch代码段处理

16、下列关于抛出异常的描述中,错误的一项是( C )。

A、异常可以由try代码段中的语句抛出

B、异常可以从被try代码段中调用的方法中抛出

C、异常的抛出并不影响代码段的执行顺序

D、异常还可能产生于数组下标越界及Java虚拟机内部的错误等

17、下列描述中,正确的一项是( D )。

A、异常机制可以用于流程控制

B、finally代码段在发生异常时不一定必须执行

C、在catch代码段中可以使用return语句来返回到异常抛出点

D、可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件

18、下列描述中,哪一项不属于finally语句应该执行的功能( C )

A、释放资源

B、关闭文件

C、分配资源

D、关闭数据库

19、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( C )

A、找到合适的异常类型后继续执行后面的catch

B、找到每个符合条件的catch都执行一次

C、找到合适的异常类型后就不再执行后面的catch

D、对每个catch都执行一次

20、对于异常处理语句try…catch,下面那句话不正确? ( A )

A、一个符合条件的catch的处理语句中没有break语句,则执行后会继续执行后续catch

B、不管有没有捕获异常,finally部分都会被执行

C、找到合适的异常类型后就不再执行后面的catch

D、应该先处理子异常类,再处理父异常类。

21、下列哪种操作不会抛出异常?( B )

A) 浮点数除0 B) 浮点数乘0

C) 打开不存在的文件 D) 用负数索引访问数组

22、程序员将可能发生异常的代码放在()块中,后面紧跟着一个或多个()块。( B )

A、catch、try

B、try、catch

C、try、exception

D、exception、try

23、异常包含下列那些内容?( C )

A)程序中的语法错误B)程序的编译错误

C)程序执行过程中遇到的事先没有预料到的情况

D)程序事先定义好的可能出现的意外情况

24、有下列程序

class TestException

{

class MyException extends Exception { }

public void testMethod() throws MyException{}

public void test()

{

testMethod();

}

}

在public void test()后加上哪一句可以使编译不出错。( B )

A、throw MyException

B、throws MyException

C、throw new MyException()

D、throws new MyException()

25、设有以下程序段

class TestException

{

public static void main(String [] args)

{

try{

return;

}finally{

System.out.println("finally");

}

}

}

程序编译并执行,其结果将是( B )

A、程序执行,但没有任何输出

B、程序输出finally

C、程序编译时出错,提示缺少catch

D、程序编译时出错,提示finally语句无法访问到。

26、用文件字节输出流对文件进行写操作时,需要先创建文件输出流对象,文件输出数据流的构造方法是 public FileOutputStream(String name,Boolean append) throws FileNotFoundException,当参数append的值为true时,表示( B )

A、创建一个新文件

B、在原文件的尾部添加数据

C、覆盖原文件的内容

D、在原文件的指定位置添加数据

27、编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输

出的结果是( A )。

public class A {

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

BufferedReader buf=new BufferedReader(

new InputStreamReader(System.in));

String str=buf.readLine();

int x=Integer.parseInt(str);

System.out.println(x%1000);

}

}

A) 345 B)5 C) 123 D) 12345

28、下列说法中,错误的一项是( D )。

A、Java系统的标准输入对象是System.in

B、打开一个文件时不可能产生IOException

C、使用File对象可以判断一个文件是否存在

D、使用File对象可以判断一个目录是否存在

29、下面的程序段的功能是( A )。

File file1=new File("e:\\xxx\\yyy");

file1.mkdir();

A)在当前目录下生成子目录:\xxx\yyy B)生成目录:e:\xxx\yyy

C)在当前目录下生成文件xxx.yyy D)以上说法都不对

30、下列叙述中,错误的是( B )

A)File类能够存储文件

B)File类能够读写文件

C)File类能够建立文件

D)File类能够获取文件目录信息

31、下列哪个是JAVA程序和数据库连接的一种机制 ( B )

A) URL B) JDBC C) SOCKET D) RMI

32、关于JDBC访问数据库的说法错误的是: ( D )

A) 建立数据库连接时,必须加载驱动程序,可采用Class.forName()实现

B) 用于建立与某个数据源的连接可采用DriverManager类的getConnection方法

C) 建立数据库连接时,必须要进行异常处理

D) JDBC中查询语句的执行方法必须采用Statement类实现

33、定义Java.Applet程序时,必须有的import语句是( C )。

A、import java.awt.event;

B、import java.util. * ;

C、import java.applet.Applet;

D、import java.1ang.* ;

34、以下哪个方法不属于Applet小程序生命周期中的方法?( B )

A、init

B、main

C、destroy

D、stop

35、下列说法中,错误的一项是( C )。

A、使用FlowLayout在容器中放置组件的策略是:从上到下、从左到右

B、使用FlowLayout进行布局管理时,组件的大小采用的是其最佳尺寸

C、使用FlowLayout进行布局管理时,不能调节组件之间的距离

D、用FlowLayout管理的组件随容器大小变化的变化规律是:组件大小不变,组

件之间的相对位置改变

36、在类中若要处理ActionEvent事件,则该类需要实现的接口是 ( A )。

A、ActionListener

B、Runnable

C、Serializable

D、Event

37、下列说法中,错误的一项是( C )。

A、内部类是被定义于另一个类中的类

B、使用内部类实现监听器,在编程时比较容易实现

C、内部类对象可以访问外部类的成员方法和变量,包括私有成员

D、由于内部类定义于另一个类,因此不适用于AWT的事件处理机制

38、选择正确的语句填入下列程序的横线处。(C)

import javax.swing.*;

public class ex28

{

public static void main(String[]args)

{

JFrame f=new JFrame(“ex28”);

JMenuBar mb=new JMenuBar( );

_________________________

JMenu ml=new JMenu(“menul”);

JMenu m2=new JMenu(“menu2”);

mb.add(m1);

mb.add(m2);

f.setSize(300,100);

f.setVisible(true);

}

A、setMenuBar(mB);

B、mb.setMenuBar( );

C、f.setMenuBar(mB);

D、mb.setMenuBar(f);

39、下列说法哪个是不正确的?( B )

A、一个组件可以注册多个事件监听器

B、一个监听器只能监听一个组件

C、一个组件可以引发多种事件

D、一个监听器可以监听处理多种事件

40、下面说法错误的是( D )

A)单击CheckBox (复选框)产生ItemEvent事件,并由ItemListener处理。

B) 处理JButton和JTextField事件监听器接口都是ActionListener。

C)一个面板(JPanel) 可以加入到另一个面板(JPanel)中。

D)在BorderLayout中,添加到NORTH区的两个按钮将并排显示。

41、下面说法错误的是:( C )

A)单击JCheckBox (复选框)产生ItemEvent事件,并由ItemListener处理。

B) 处理JButton和JTextField事件监听器接口都是ActionListener。

C) 处理鼠标事件的事件监听器接口只有MouseListener。

D) 在JTextField和JPasswordField中输入数据后按Enter键会激发一个事件。

42、下列说法哪个是不正确的?( B )

A)一个面板(Jpanel) 能被加入到另一个面板(Jpanel)中

B)一个监听器只能监听一个组件

C)Frame,Panel,Applet都属于容器组件。

D)Button和TextField都可用ActionListener接口实现事件处理

43、常规菜单是由()、()和菜单项组成。( D )

A)JMenuItem、JCheckBoxMenuItem

B)JButton、JRadioButton

C)JPopupMenu、JMenuItem

D)JMenuBar、JMenu

44、下列哪一个方法是自动调整窗口的大小 ( C )

A、setSize()

B、setDefaultClose()

C、pack()

D、setVisible()

45、下列哪个布局管理器使容器中各个构件呈网格布局,并且平均占据容器的空间?( A )

A)GridLayout

B)CardLayout

C)BorderLayout

D)FlowLayout

46、在AWT组建中用复选框组构件CheckboxGroup实现单选框的功能,但在Swing 中,JAVA语言直接提供了一个单选框,它是( C )

A) JButton B) JComboBox C) JRadioButton D) JCheckBox

47、下列叙述中,不符合JAVA语言特点的选项是( C )

A、可移植性和跨平台的特点

B、多线程的并发机制

C、编译器将JAVA源程序转换成机器码

D、Applet是JAVA的特殊应用程序,它嵌入到HTML中,随主页发布到互联网上

48、JPanel和Applet的默认布局管理器是( B )

A)CardLayout

B)FlowLayout

C)BorderLayout

D)GridLayout

49下列语句错误的是:( D )

A、ServerSocket svrsoc=new ServerSocket(8000);

B、URL urlBase=new URL(“http://www. https://www.doczj.com/doc/b214231149.html,/”) ;

C、File inFile = new File(“C:/ test.txt”);

D、BufferedReader br = new BufferedReader(“C:/ test.txt”);

三、程序填空题

1、通过TCP协议方式,定义一个服务器端,端口为5000,要求可以同时连接多个客户端,并且每个客户端在休眠10秒钟之后退出连接;将下面的程序补齐:Import https://www.doczj.com/doc/b214231149.html,.*;

Import java.io.*;

public class ServerExample implements (1)_Runnable_______{

private Socket m_socket;

private int m_id;

public (2)_ServerExample_(Socket s, int id) {

m_socket= s; m_id= id;

}

public void (3)___run()____{

try {(4)____Thread___. sleep(10000);

System.out.println("Socket["+m_id+"] is closing.");

m_socket.close();

} catch (Exception e) {}

}

public static void main(String args[]){

int n= 1;

_(5)___ServerSocker______ server= null;

try{

server= new (6)___ServerSocker_________(5000);

System.out.println( "Server start." );

}

catch (IOException e){}

while (true){

try{

System.out.println("Wait NO. "+n+" connection." );

(7)___Socket______ s= server.accept( );

ServerExample t=new ServerExample(s, n++);

(8)__Thread_______ th =new Thread(t);

(9)____th__.start( );

}

catch (IOException e){}

} // End of loop: while

} // End of method: main

}

2、下面是一个支持多个客户端交互的程序,请根据注释要求补充、完成代码:Import java.io.*;

(1)_import https://www.doczj.com/doc/b214231149.html,.*;_______ //加载网络API包

public class ServerThread extends Thread{

Socket socket=null;

int clientnum;

publicServerThread(Socket socket,int num) {

this.socket=socket;

clientnum=num+1;

}

public void run() {

try{

String line;

InputStream in=(2)__socket.getInputStream();_//得到socket的输入流BufferedReader is=new BufferedReader(new InputStreamReader(in)); PrintWriter os=new PrintWriter(socket.getOutputStream());

//由系统标准输入设备构造BufferedReader对象

BufferedReader sin=new BufferedReader

((3)_new InputStreamReader(System.in)__);

System.out.println("Client-"+ clientnum +":" +is.readLine());

line=sin.readLine();

while(!line.equals("bye")){

os.println(line);

//刷新输出流,使Client马上收到该字符串

(4)_os.flush();___________

System.out.println("Server:"+line);

System.out.println("Client-"+ clientnum +":" +is.readLine());

line=sin.readLine();

}

os.close();//关闭Socket输出流

is.close(); //关闭Socket输入流

socket.close(); //关闭Socket对象

}catch(Exception e){

System.out.println("Error:"+e.toString());

}

}

}

3、定义类ThdTest,其父类为Thread类;并在主方法中创建一个ThdTest的对象,同时启动该线程对象。

//声明类ThdTest,其父类为Thread类

(1)_class ThdTest extends Thread__________________

{

public void run(){

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

(2)_System.out.println(Thread.currentThread().getName()

+“:”+i);__//输出当前线程的名字和i的值

try{

(3)_Thread.sleep();__//让当前线程休眠100ms

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

}

}

}

public class Demo{

public static void main(String[] args){

(4)___ThdTest tt=new ThdTest();___//创建一个ThdTest的对象

(5)____tt.start();____//启动线程对象,使其进入就绪状态

}

}

4、下面的程序利用线程输出从a到z的26个字母,每隔一秒钟输出一个字母,程序不完整,请阅读程序代码,根据注释要求在划线处补充完成代码。

public class Test4 implements Runnable

{

charcharArray[]=new char[26];

public Test4()

{

for(int i = 0; i

{

charArray[i]=(char)(i+'a');

}

}

public void run()

{

try

{

for (int i = 0; i

{

(1)__Thread.sleep(1000);__________//休眠一秒钟

System.out.print(charArray[i]);

}

}

catch (InterruptedException e)

{

e.printStackTrace();

}

}

public static void main(String args[])

{

Thread t = _(2)_new Thewad(new Test4());__//实例化线程对象(3)_____t.start();___________//启动线程

}

}

5、定义类ThdDemo,实现接口Runnable;并在主方法中创建一个ThdDemo的对象td,然后使用对象td创建一个线程对象,同时启动该线程对象。

//声明类ThdDemo,实现接口Runnable

(1)_class TheDemo implements Runnable_______

class ThdDemo implements Runnable{

public void run(){

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

//输出当前线程的名字和i的值

System.out.println(Thread.currentThread().getName() + “:” + i);

try{

(2)_Thread.sleep(100);__//让当前线程休眠100ms

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

}

}

}

public class Demo{

public static void main(String[] args){

_(3)__ThdDemo td=new ThdDemo();____//创建一个ThdDemo的对象td

_(4)__Thread t=new Thread(td);___________//使用td创建线程对象

_(5)____t.start();___________//启动线程对象,使其进入就绪状态

}

}

6、制作一个Applet小应用程序,设置其布局为BorderLayout,定义一个按钮和多行文本框并分别放到“North”区域和“Center”区域。创建网页文件运行这个Applet程序。

import java.applet.*;

import javax.swing.*;

_(1)_class AppletDemo extends Applet implements ActionListener_//声明AppletDemo类,其父类为Applet,并实现接口ActionListener

{

JButton btn;

JTextArea txt;

public void init(){

_(2)___setLayout(new BorderLayout());____//设置其布局为BorderLayout btn = new JButton(“Show Msg”);

txt = new JTextArea(3, 20);

__add(btn,”North”);_____ //把按钮btn放到“North”区域,txt放到“Center”区域

(3)__add(txt,”Center”);_____

_(4)___btn.addActionListener(this);__________//给按钮注册监听器

}

public void actionPerformed(ActionEvent e){

txt.append(btn.getText());

}

}

网页文件为:

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

(1)import java.awt.event.*;

Import java.awt.*;//引入相关包

publicMyFrame{

publicMyFrame(){

Frame fr = new Frame();

//设置窗体的布局为FlowLayout

(2)fr.addLayout(new FlowLayout());

Label lbl = new Label(“Init info”);

TextField txt = new TextField(30);

Button btn = new Button(“Sure”);

fr.add(lbl);

fr.add(txt);

fr.add(btn);

//给按钮注册监听器

(3)Btn.addActionListner(new Monitor());

//使用窗体可见,并设置大小

(3)fr.setVisible(true);fr.setSize(300,400);

}

//定义内部类监听ActionEvent事件

(4)class Monitor implements ActionEvent

{

public void actionPerformed(ActionEvent e){

lbl.setText(txt.getText());

}

}

public static void main(String[] args){

newMyFrame();

}

}

8、设计程序实现带菜单的窗口,包含“File”和“Edit”二个菜单,在“File”下又包含“New”, “Open”, “Exit”三个菜单项,选择“Exit”项时退出应用程序。(提示:涉及到的类有MenuBar, Menu, MenuItem)

importjava.awt.*;

importjava.awt.event.*;

public class MenuTest{

//定义各菜单项

MenuItem newItem = new MenuItem(“New”);

MenuItem openItem = new MenuItem(“Open”);

MenuItem exitItem = new MenuItem(“Exit”);

public MenuTest(){

Frame fr = new Frame();

//定义菜单

Menu fileMenu = new Menu(“File”);

Menu editMenu = new Menu(“Edit”);

//往File菜单中添加菜单项newItem, openItem, exitItem

(1)fileMenu.add(newItem);

fileMenu.add(openItem);

fileMenu.add(exitItem);

//定义菜单条,并添加菜单fileMenu, editMenu

(2)MenuBar bar=new MenuBar();

bar.add(fileMenu);

bar.add(editMenu);

//给窗口添加菜单条

fr.setMenuBar(bar);

//给exitItem注册事件

(3)_exitItem.addActionListener(new MenuHandler());______

//设置窗口的可见性

fr.setSize(200,200);

//fr.setVisible(true);

}

//定义内部类处理菜单事件

class MenuHandler implements ActionListener{

public void actionPerformed(ActionEvent e){

//如果用户点击了exit菜单项则退出程序

(4)_if(e.getSource()==exitItem)_____

System.exit(0);

}

}

//定义main方法

(5)_public static void main(String[] args)

{new MenuTest();}__________________

}

9、写程序实现包括一个复选框的窗体,并处理用户选取事件。

importjava.awt.*;

importjava.awt.event.*;

(1) class MyCheck extends Frame//类声明,类名为MyCheck,继承自Frame 类

{ //类体

public MyCheck(){

(2)__Panel p=new Panel();

p.addLayout(new FlowLayout());_//创建Panel的一个实例,并设置其布局为FlowLayout

Checkbox cbx = new Checkbox(“isPassed”);

(3)__p.add(cbx);_

_cbx.addActionListener(new Mt());_____________

//向面板中加入组件cbx,并为组件注册监听器

add(p);

(4)__setVisible(true);_setSize(200,400);__ //把窗体设为可见,并设置大小

}

public static void main(String[] args){

newMyCheck();

}

//定义内部类实现监听,相应的监听接口为ItemListener

(5) __class Mt implements ActionListener_____//内部类的声明

{

public void itemStateChanged(ItemEvent e){

System.out.println(e);

}

}

}

10、制作一个窗体,包括一个带图标的按钮(JButton类对象),并设置边框,当用户点击按钮时,弹出一个确认对话框。

importjavax.swing.*;

importjavax.swing.border.*;

importjava.awt.*;

class ViewDemo{

JFrame fr;

public ViewDemo(){

//用ImageIcon类包装一张图片(java.gif),

//该图片在当前目录的img子目录下

(1)__ImageIcon ii=new ImageIcon(“java.gif”);___________________

//创建一个带有图标的按钮btn

(2)_JButton btn =new JButton(ii);___________________________

/**使用线形边框类的构造方法LineBorder(Color c, int n),

*创建一个边框对象bd,其中c为边框的颜色,n为边框的粗细。

*/

(3)__LineBorder bd =new LineBorder(new Color(0,0,0),5);

btn.setBorder(bd);

//给按钮注册监听事件

(4)__btn.addActionListener(new BtnHandler());____________________

fr = new JFrame();

Container c = fr.getContentPane();

c.add(btn);

fr.setSize(300,300);

fr.setVisible(true);

}

class BtnHandler implements ActionListener{

public void actionPerformed(ActionEvent e){

String msg = "Are you sure?";

/*使用JOptionPane类的静态方法showConfirmDialog(Frame f, String s),其中f为对话框所属的窗体,s为对话框显示的信息,弹出一个确认对话框。*/

(5)__JOptionPane.showConfirmDialog(new Frame(),msg);___________ }

}

}

11、以下程序的功能为:读入从键盘输入的一串字符存放于一个字节数组中,然后将该数组写入到当前目录下的文件out.txt中。

import__java.io.*;______________

public class byteArraytofile{

public static void main(String[] args){

try{

byte buffer[]=new ___byte____[128];

FileOutputStream fos= new

FileOutputStream(____”out.txt”______);

System.in.read(buffer);

fos.write(_____buffer_____,0,buffer.length);

fos.close();

}

catch(__IOException e__ ){}

}

}

四、程序阅读题

1、掌握数据库的操作

import java.sql.*;

class Test_JDBC {

public static void main(String[] srg) {

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=DATA_TEST";

String userName = "sa";

String userPwd = "123456";

Connection dbConn=null;

Statement stat=null;

ResultSet rs=null;

String sql="select * from student";

try {

Class.forName(driverName);

dbConn = DriverManager.getConnection(dbURL, userName, userPwd);

stat=dbConn.createStatement();

rs=stat.executeQuery(sql);

while(rs.next())

{

System.out.println(rs.getInt(1));

System.out.println(rs.getString(2));

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

2、掌握列表的操作

import java.util.*;

class IteratorDemo2 {

public static void main(String args[]){

//我们先往链表中装东西

ArrayList a = new ArrayList();

a.add("东西1");

a.add("东西2");

a.add("东西3");

a.add("东西4");

a.add(2,"东西5");

//从链表中取东西怎么办呢,自然就用到了迭代器

//用法是这样的

Iterator iter = a.iterator() ; //iter迭代器对象,可以用它来数了

while(iter.hasNext()){ //先往左数,如果有东西就执行{}里的语句

String m = iter.next(); //数到什么就拿出来赋值给m

System.out.println(m); //拿出m用一下,即打印

}

}

}

3、写出下列程序的作用我不会做,你们自便!

import java.io.IOException;

import https://www.doczj.com/doc/b214231149.html,.Socket;

class Scan extends Thread{

private int[] p;

Socket ss = null;

public Scan(int[] p) {

this.p = p;

}

public static void main(String[] args) {

for(int i=0;i<5000;i=i+1000){

new Scan(new int[]{

i+1,i+1000

}).start();

}

}

public void run() {

System.err.println("启动线程");

for(int i=p[0]; i

try {

ss = new Socket("127.0.0.1",i);

System.err.println("这是你想要的数据: " + i);

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

4、写出下列程序代码的运行结果:

class userException extends Exception{ userException: 数组可能越界! userException(){} 退出返回!

userException(String str){

super(str);

}

}

class MyException {

final static int ARRAY_MAX_LENGTH=10;

void judge(int []a){

try{

if(a.length

System.out.println("数组的长度没有超过规定的最大值!");

}

throw new userException("数组可能越界!");

}

}catch(userException e){

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

}

finally{

System.out.println("退出返回!");

}

}

public static void main(String agrs[]){

try{

int a[]=new int[10];

MyException myE=new MyException();

myE.judge(a);

}catch(Exception e){

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

}

}

}

5、写出下列程序代码的运行结果:

class MinusException extends Exception { 张三的工资为1000元。

int number; 异常:工资不能为负!

public MinusException (String msg, int i) {

super(msg);

this.number = i;

}

}

class Salary {

private String name;

private int salary;

public Salary(String n, int s ) throws MinusException {

https://www.doczj.com/doc/b214231149.html,=n;

if (s<0) throw new MinusException("工资不能为负!",s);

this.salary=s;

}

public void print() {

System.out.println(name+"的工资为"+salary+"元。");

}

}

class TestSalary {

public static void main(String [] args) {

Salary s1=new Salary(“张三”,1000);

s1.print( );

Salary s2=new Salary(“李四”,-10);

s2.print( );

}

catch(MinusException e) {

System.out.println("异常:"+e.getMessage());

}

}

}

6、仔细阅读下面的程序代码,编译和运行后,请写出该程序的输出结果。class TestException 1,200.45

{ 参数错误!要求是数字格式!

public static String toSeparateNumber(String number)

{

String formatedNumber="";

try

{

double n=Double.parseDouble(number); //double=1200.45

number=Double.toString(n);

int i=number.indexOf('.'); //在number字符串中找到字符.的位置在第4个

if (i>=0)

{

formatedNumber=number.substring(i,number.length());//截取字符串从4开始,到7结束

i=i-1;

}

else i=number.length()-1;

int k=0;

for (int j = i; j>=0; j--) //i=3

{

formatedNumber=number.charAt(j)+formatedNumber;

//charAt(j)是取指定位置的字符,就是去3位置上的字符与formatedNumber(.45)合并

k=(k+1)%3;

if (k==0 && j!=0) formatedNumber=","+formatedNumber;

// 得到最后结果1,200.45

}

}

catch(NumberFormatException e)

{

System.out.println ("参数错误!要求是数字格式!");

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

java课程教学大纲

课程教学大纲编写体例: 《java语言程序设计》课程教学大纲(供计算机科学与技术专业使用) 一、前言 《Java语言程序设计》是计算机科学与技术专业的一门专业课程。Java语言是面向对象技术成功应用的著名范例,集平台无关特性、安全机制、高可靠性和内嵌的网络支持于一身的特色使之成为当前编写网络程序的首选工具之一。 本课程选用教材为《Java2实用教程》(耿祥义等编著清华大学出版社),主要介绍Java编程的基础知识和Java的面向对象编程。学生在学习本课程之前应具备计算机操作知识及一定编程基础。 前期课程:计算机基础知识、C++程序设计、数据结构教学任务与目标:通过教学,使学生能够熟练掌握面向对象编程的技术,能运用java程序设计语言编写应用程序,培养学生的实践能力和创新能力。 总学时:54。 学分: 主要教学形式:课堂教学、实验教学 二、教学内容与要求 第一章Java语言入门 (一)教学目的与要求

1、了解Java的发展历史 2、掌握Java语言的特点 3、熟悉Java的开发过程与运行环境 (二)教学内容 本章主要讲述了java 语言产生的背景、面向对象程序设计的特点、应用java语言进行程序设计的开发环境和过程等。并举例说明。 (三)教学形式与方法 课堂讲授结合多媒体影视课件教学、并在课堂进行实例演示。 第二章标识符、关键字和数据类型(一)教学目的与要求 1、了解标识符、关键字的概念 2、熟悉Java中标识符的命名规则 3、掌握Java语言的基本数据类型并会灵活运用 (二)教学内容 对照C语言学习java语言程序中的标识符和关键字的概念、意义等,详细学习java中的八种基本数据类型 (三)教学形式与方法 课堂讲授结合多媒体影视课件教学、并在课堂进行实例演示。 第三章运算符、表达式和语句 (一)教学目的与要求 1、了解运算符、表达式和语句的概念 2、掌握Java语言的语句的基本语法

Java复习题及答案

一、判断题(每题1分,共15分) 1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。( 1 ) 2、接口和类一样也可以有继承关系,而且都只能支持单继承。(0 ) 3、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。(0 ) 4、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。(0 ) 5、Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。( 1 ) 6、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。(0 ) 7、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。( 1 ) 8、我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号。 ( 1 ) 9、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(0 ) 10、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(0 ) 11、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。 (1 ) 12、如果f是父类Flower的对象,而r是子类Rose的对象,则语句f=r是正确的。(1 ) 13、Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。 (1 ) 14、final类中的属性和方法都必须被final修饰符修饰。(0) 15、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。(0 ) 二、单项选择题(每题2分,共30分) 1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( c )。 A、本地方法 B、解态方法 C、最终方法 D、抽象方法 2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( b )。 A、p ublic static void main() B、public static void main(String[ ] args) C、public static int main(String[ ] args) D、p ublic void main(String arg[ ]) 3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。

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语言 适用专业:计算机 负责人: 二○一三年六月

《java语言》课程标准 课程代码课程类别基础课 课程类型理实一体课课程性质必修 课程学时60 开设学期 1 适用专业计算机合作开发企业 执笔人王德明审核人 1.课程定位与设计思路 本课程设计是坚持以就业为导向,与校企合作、工学结合的办学模式紧密结合,在教学中坚持以学生为主体的现代教学理念,以技能学习为核心,以学生获得职业能力为目标,提高学生的自主学习能力,为其胜任岗位工作和可持续发展打基础。 本课程的教学重点和难点是软件的选择和做出正确的评价,特别是选择软件部分更为重要。在教学中通过采取不同的教学方法好手段,在不同的课堂教学,解决重点和难点问题。 课堂教学设计中,注意教学内容、教学方法、教学手段、教学地点、教学模式、教学组织形式之间的协调、适应关系,教学内容的选择与实际工作过程相结合,教学的方法选择与学生的实际情况相符合,教学组织形式与教学地点相符合。灵活运用教学方法,根据教学内容、学生特点选择合适的教学方方法,本课程除常用的讲授法外,还设计、应用项目教学法、四阶段教学法等方法。 在学生学习过程中,针对每一本部分内容都进行考试考核,对学生在专业能力、方法能力、社会能力等方面进行评价。主要采取闭卷笔试、开卷笔试、口试、操作考核、报告、汇报等不同的考核方式。对每个学生都由企业、教师、学生进行评价,实现全员的多主体评价。采用百分制。 2.课程目标 培养学生能够独立编写JAVA程序,解决在使用运用计算机过程中出现的常见问题,提高学生对计算机的使用能力,使学生具有利用所学知识解决学习、工作、生活中常见问题的能力,为考试及其职业生涯的发展和终身学习奠定基础。 2.1知识目标 使学生掌握JAVA语言的的发展、环境构建、语法基础、面向对象程序设计、

Java笔试题及答案

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 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

Java练习题及答案

Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5

int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name

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 框架技术》理论课程教学大纲

《JAVA 框架技术》课程教学大纲 一、课程基本信息 二、课程教学目标 学生学习完本课程之后,能够掌握J2EE企业级应用程序开发的流行框架技术SSH,掌握SSH相关技术、框架设计思想和开发模式等。 1.理解Strust2运行机制,掌握其相关技术的配置使用方法; 2.理解Hibernate框架,掌握其相关技术的配置使用方法; 3.理解Spring体系结构,掌握其相关技术的配置使用方法; 4.掌握Sruts2+Hibernate+Spring整合开发框架,在企业级应用程序开发中的使用技能; 三、教学学时分配 《JAVA 框架技术》课程理论教学学时分配表

《Java 框架技术》课程实验内容设置与教学要求一览表 四、教学内容和教学要求

第一章 Struts2入门(2学时) (一)教学要求 通过本章内容的学习,了解Struts2和Struts1的不同,掌握Struts2的运行配置方法。 (二)教学重点与难点 教学重点:配置Struts2 教学难点:配置Struts2 (三)教学内容 第一节 Struts2概述 1.Struts1概述 2.Struts2概述与优势 第二节配置Struts2 1.配置Web.xml 2.配置Struts.properties 3.配置Struts.xml 第二章拦截器(2学时) (一)教学要求 通过本章内容的学习,了解拦截器的工作原理和意义,掌握拦截器的配置方法,掌握自定义拦截器的使用等。 (二)教学重点与难点 教学重点:拦截器配置、自定义拦截器 教学难点:拦截器方法过滤 (三)教学内容 第一节拦截器简介 1.拦截器工作原理 2.拦截器的意义 3.拦截器角色 第二节拦截器配置 1.配置拦截器 2.使用拦截器 3.默认拦截器 第三节自定义拦截器 1.实现拦截器类 2.使用自定义拦截器 3.默认拦截器 第四节深入拦截器 1.拦截器方法过滤 2.拦截器的拦截顺序

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA复习题答案

JA V A期末复习题答案 一、填空:(20空,每空1分,共20分) 1、要激活一个Java小应用程序applet需具有html_文件。 2、一个Java源程序文件必须以_java_为其扩展名。 3、Java编译器产生的文件的扩展名为_class_。 4、Java程序的每个方法以_{_开始,以_}_结束。 5、每个Java程序语句以__;__结束。 6、所有程序均可以用顺序、选择和循环三种控制结构编写。 7、一个只有在定义它的方法中是可知的变量称为局部变量。 8、被调用方法中的_return_语句可以将表达式的值回送给调用它的方法。 9、方法头中的关键字_void__用来表示方法不还返回值。 10、标识符的作用域是程序中可以使用此标识符的范围。 11、从被调用方法将控制权交给调用者的两种方式是__return__、__}__。 12、当applet开始执行时,调用一次_init__方法。 13、每当浏览器的用户再次访问applet所在的html页时都会调用_start_方法。 14、调用_paint_方法在applet上画图。 15、_resize_方法用来在执行applet时改变applet的宽度和高度。 16、_repaint_方法调用applet的update方法,接着update方法又调用applet的paint方法。 17、每当浏览器的用户离开applet所在的html页时要调用applet的_stop_方法。 18、在java中可以使用许多方法同名,但各方法使用的参数的类型和数量不同,这称为方法重载。 19、限定词_final_用来声明只读变量。 20、数组元素之所以相关,是因为它们具有相同的名字和类型。 21、用于指出数组中某个元素的数字称为数组下标。 22、使用两个下标的数组被称为__二维__数组。 23、通过_·__运算符与类的对象相连,可以访问此类的成员。 24、指定为_private_的类成员只能被此类中的成员访问。 25、类的方法通常设为_public_,而类的实例变量一般设为_private_。 26、关键字_class__开始一个类定义。 27、指定为_public_的类成员可被此类作用域中的任何对象访问。 28、_new__操作符动态地为对象按照其指定的类型分配内存,并返回该类的一个引用。 29、_static_实例变量代表类范围的信息。 30、_this_引用作为隐含的第一个参数被传送给类中的每个方法。 31、关键字_final_表明一个对象或变量在初始化后不能被修改。 32、声明为static的方法不能访问_非static_类成员。 33、如果Alpha类继承Beta类,Alpha类被称为_子_类,Beta类被称为_超_类。 34、继承性使软件重用成为可能,它不仅节省开发时间,而且鼓励使用已经证明过的,高质量的软件组件。 35、四种成员访问限制是_public__、_protected_、_private_、_friendly_。 36、如果一个类包含了一个或多个abstract方法,它是_abstract_类。 37、getName方法的返回类型为_String__。 38、_drawLine__方法在两个点之间绘制一线段。

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经典面试题大全_带答案

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.https://www.doczj.com/doc/b214231149.html,ng 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的有()

Java语言练习题库(含答案)

单选题 1、为了保证方法得线程安全,声明方法得时候必须用哪个修饰符? (A) new (B) transient (C) void (D) synchronized 2、编译Java源文件使用哪个? (A) javac (B) jdb (C) javadoc (D) junit 3、哪一种类得对象中包含有Internet 地址。 (A) Applet (B) Datagramsocket (C) InetAddress (D) AppletContext 4、有关GUI 容器叙述,不正确得就是? (A) 容器就是一种特殊得组件,它可用来放置其它组件 (B) 容器就是组成GUI 所必需得元素 (C) 容器就是一种特殊得组件,它可被放置在其它容器中 (D) 容器就是一种特殊得组件,它可被放置在任何组件中 5、使用javadoc 生成得文档得文件格式就是? (A) XML 格式 (B) 自定义格式 (C) 二进制格式 (D) HTML 格式 6、下列有关类、对象与实例得叙述,正确得就是哪一项? (A) 类就就是对象,对象就就是类,实例就是对象得另一个名称,三者没有差别 (B) 对象就是类得抽象,类就是对象得具体化,实例就是对象得另一个名称 (C) 类就是对象得抽象,对象就是类得具体化,实例就是类得另一个名称 (D) 类就是对象得抽象,对象就是类得具体化,实例就是对象得另一个名称 7、在事件委托类得继承体系中,最高层次得类就是哪项? (A) java 、util 、EventListener (B) java、util、EventObject (C) java 、awt 、AWTEvent (D) java 、awt 、event 、AWTEvent 8、Java 语言中异常得分类就是哪项?

JAVA课程设计大纲

淮海工学院 课程设计教学大纲 课程名称:面向对象课程设计 开课系部:软件工程 撰写人:纪兆辉 审核人: 修(制)订日期:2008年3月 系(院)主管领导签章: 淮海工学院教务处

面向对象课程设计大纲 课程类别:必修学时:40 课程性质:集中实践教学学分:2 适用专业:软件工程、网络工程开课系部:软件工程 一、基本目的与任务 面向对象课程设计是软件工程、网络工程专业实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。其目的在于加深对面向对象理论和基本知识的理解,掌握使用Java语言进行面向对象程序设计的基本方法,提高运用面向对象知识解决实际问题的能力。基本任务是使得学生通过课程设计掌握利用java进行底层的网络应用程序设计、多媒体应用设计、JDBC编程的基本方法,学会综合利用awt包和Swing组件包进行图形用户界面的设计,同时,对java的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。 二、教学基本内容 正确运用常用的包、工具类和算法,熟练进行对象类的定义和使用,综合运用图形界面元素构造应用程序界面,熟悉Applet的工作原理,熟练编写Java应用程序和Applet小程序。对网络编程、多媒体编程、JDBC技术能有较全面准确的把握并会综合运用解决实际问题。 在课程设计中,为了提高开发效率,建议尝试选用开发工具Eclipse、NetBeans、Jbuilder。设计的选题要围绕Java的面向对象特点,把如下一些知识点的运用组织到课程设计的选题当中: 包、接口、抽象类 常用工具与算法--数组、向量、字符串、链表等 Java的多线程技术与动画制作 Java的网络编程 Java的数据库连接技术---JDBC Java的异常处理机制 面向对象技术中的继承、重载、各种修饰符

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.doczj.com/doc/b214231149.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

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