文档库 最新最全的文档下载
当前位置:文档库 › JAVA高等教育自学考试2008-2013含答案

JAVA高等教育自学考试2008-2013含答案

JAVA高等教育自学考试2008-2013含答案
JAVA高等教育自学考试2008-2013含答案

全国2008年10月高等教育自学考试

Java 语言程序设计(一)试题

课程代码:04747

一、单项选择题(本大题共10小题,每小题1分,共10分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下述字符组合不能

..作为Java程序标识符的是()

A.Aa12 B.大x

C.y小D.5x

2.以下程序代码的输出的结果是()

int x=53;

System. out. println(1.0+x/2);

A.27.0 B.27.5

C.1.026 D.1.026.5

3.参照以下Java代码,以下四个叙述中最确切的是()

class A{

int x; static int y;

void fac(String s){Syatem. out. println("字符串:"+s);}

}

A.x、y和s都是成员变量

B.x是实例变量、y是类变量、s是局部变量

C.x和y是实例变量、s是参数

D.x、y和s都是实例变量

4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是()

A.String B.StringBuffer

C.StringTokenizer D.stringTokenizer

5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是()

A.JFrame(s) B.window(s)

C.new JFrame(s) D.super(s)

6.以下关于菜单的叙述中,正确的是()

A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项

B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项

C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项

D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项

7.以下所述内容全部是字型要素的是()

A.字体、字形和大小B.字体、风格和字号

C.字形、风格和字号D.字形、颜色和字号

8.用Thread子类实现多线程的步骤顺序是()

A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法

B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例

C.创建Thread子类的实例,让线程调用start()方法

D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法

9.为16位Unicode字符流提供读和写操作支持的类分别是()

A.FileInputStream类和FileOutputStream类

B.InputStream类和OutputStream类

C.FileReader类和FileWriter类

D.File_Reader类和File_Writer类

10.能利用对象提供的方法获得流对象和实现网络连接的是()

A.URLConnection对象B.URL对象

C.InetAddress对象D.TCP/IP对象

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

11.一个小应用程序必须定义成一个_________。

12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个

表达式是_________。

13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。

14.设有数组a和b的定义如下:

int[]a={1,2,3};int[]b={4,5,6}

……

执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_________。

15. _________布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。

16.Java语言为处理鼠标事件提供两个接口:_________接口和MouseMotionListener接口。

17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红色,并用

红色绘制线段,则线段的实际颜色是_________。

18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方

法;二是建立线程实例。

19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建_________对象,再利用这个对象创建BufferedWriter

对象。

20.在Java语言中,客户端使用的套接字类是_________。

21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。

22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。Person p1=new Student();

Person p2=new Undergraduate();

Student s1=new Person();

Student s2=new Undergraduate();

Undergraduate ug1=new Person();

Undergraduate ug2=new Student();

Object ob=new Student();

23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。

24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics

的g。

25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。

26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。

四、程序填空题(本大题共5小题,每空2分,共20分)

27.方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。static int maxDigit(int n){

int c=0,d;

while(n>0){

d=_______;

if(d>c) c=d;

n/=10;

}

________;

}

28.某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点

击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。

public void actionPerformed(ActionEvent e){

int sum;

if(e.getSource()==button){

String s=text1.________;//获取text1中的信息

StringTokenizer fenxi=new StringTokenizer(s,",,,\n");

int n=fenxi.countTokens();

double a[]=new double[n];

String temp=fenxi.nextToken();

a[i]=Double.valueOf(temp).doubleValue();

}

sum=0;

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

__________;

}

text2.setText(""+sum);//刷新显示。

}

}

29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本

框text中输出“唱歌菜单项被选中!”的字样。

……

singingItem=new________("唱歌");//生成菜单项对象

……

public void actionPerformed(ActionEvent e){

if(e.getSource()==singingItem)

text.setText(e.________()+ "菜单项被选中!");

}

30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,

单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。

final int number=30;//假定幻灯片有30张

int count=0;

Image[]pic=new Image[number];

public void paint(______gc){

if((pic[count])!=null)

gc.drawImage(pic[count],10,10,pic[count].getWidth(this),

pic[count].getHeight(this),this);

}

public void mousePressed(MouseEvent e){

count=(count+1)% number;//循环逐张显示

__________;

}

31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。

由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。

int data=0;

________void modiData(int delta){

if(delta>=0){

data+=delta;

}else {

while(data <delta){

try{System.out.println("发生等待!");

wait();

}catch(InterruptedException e){ }

}

data-=delta;

}

_________;

}

ShareDataManager(int ititData){data=initData;}

}

五、程序分析题(本大题共5小题,每小题4分,共20分)

32.阅读下列程序,请写出该程序的输出结果。

import java.applet.*;import java.awt.*;

class Point{

int x,y;

Point(int xx,int yy){ x=xx;y=yy;}

Point(Point p){x=p.x;y=p.y; }

void m(int dx,int dy){x+=dx;y+=dy;}

}

class Circle extends Point{

int r;

Circle(Point p, int rr){ super(p); r=rr; }

float c(){ return 3.14f*2.0f*r; }

float a(){ return 3.14f*r*r;}

}

public class sample extends Applet{

Circle yuan; Point d;

public void init() {d=new Point(2,5);yuan=new Circle(d,10);}

public void paint(Graphics g){

g.drawString("yuan Area"+(int)(yuan.a()*100.0)/100.0,5,40);

}

}

33.阅读下列程序,请写出该程序的功能。

import java. util.*;

public class Class1{

public static void main(Srting args[]){

Date date1=new Date();

System. out. println (datel);

String t=datel.toString();

int endPos=t.indexOf(`C');

t=t.substring(11,endPos);

System. out println(t);

}

}

34.阅读下列程序,请写出该程序的功能。

import java.applet.*;import javax.swing.*;import java.awt.event.*;

public class Class l extends Applet implements ActionListener{

JTextField text1,text2;

public void init(){

text1=new JTextField(10); text2=new JTextField(10);

setSize(200,100); add(text1); add(text2);

text1.addActionListener(this);

}

public void actionPerformed(Action Event e){

long n;

if(e.getSource()==text1){

n=Long.parseLong(text1.getText());

text2.setText(String.valueOf(n*n));

}

}

}

35.阅读以下程序,请写出该程序的功能。

import javax.swing.*; import java.awt.*;import java.awt.event.*;

class MyScrollBar extends JscrollBar{

public MyScrollBar(int init, int len, int low, int high){

}

}

class MyWindow extends JFrame implements AdjustmentListener{

private JTextField text;

MyWindow(String s){

super(s);

MyScrollBar myBar=new MyScrollBar(10,10,0,255);

Container con=this. getContentPane();

con. setLayout(new GridLayout(2,1));

this. setSize(200,100);

this. setLocation(100,100);

myBar.addAdjustmentListener(this);

text=new JTextField("",20);

con. add(text);con.add(myBar);

this.setVisible(true);

}

public void adjustmentValueChanged(AdjustmentEvent e){

MyScrollBar myBar=(MyScrollBar)e.getAdjustable();

text.setText(""+myBar.getValue());

}

}

public class Class1{

public static void main(String[]args){

MyWindow myWindow=new MyWindow("text5_4");

}

}

36.小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出

该程序中这个线程的工作内容。

import java.applet.*;import java.awt.*;

public class Class1 extends java.applet.Applet implements Runnable{

Thread redBall;Graphics redPen;

int rx=0,ry=0;

public void init(){

setSize(250,200);

redBall =new Thread(this);

redPen=getGraphics();

setBackground(Color.gray);

}

public void start(){ redBall.start(); }

public void run(){

while(true){

if(Thread.currentThread()==redBall){

rx=(int)(80*Math.random());

ry=(int)(80*Math.random());

red Pen.setColor(Color.red);

red Pen.fillOval(100+rx,100+ry,10,10);

try{redBall.sleep(500);}

catch(InterruptedException e){}

redPen.setColor(Color.gray);

redPen.fillOval(100+rx,100+ry,10,10);

}

}

}

}

六、程序设计题(本大题共2小题,每小题6分,共12分)

37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。

38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。

注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。

import java.applet.*;import javax.swing.*;

import java.awt.*; import java.awt.event.*;

class Panel1 extends JPanel{

JTextField text1, text2, text3;JButton addButton,subButton;

Panel1(){

text1=new JTextField(10);text2=new JTextField(10);

text3=new JTextField(10);setLayout(new GridLayout(5,1));

addButton=new JButton("加");subButton=new JButton("减");

add(text1); add(text2);

add(text3); add(addButton); add(subButton);

}

public class Classl extends Applet implements ActionListener{

Pane1 panel;

public void init(){

setSize(100,200); panel=new Panel1();add(panel);

(panel.addButton).addActionListener(this);

(panel.subButton). addActionListener(this);

}

public void actionPerformed(ActionEvent e){

//这里是你要编写的代码

全国2009年1月高等教育自学考试

Java语言程序设计(一)试题

课程代码:04747

一、单项选择题(本大题共10小题,每小题1分,共10分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下列字符组合不能作为Java整型常量的是()

A.078

B.0x3ACB

C.5000

D.0x3ABC

2.以下程序代码的输出结果是()

int x = 10;

while (x > 7)

{ System.out.print("*"); x--;}

A.**

B.***

C.*

D.****

3.设类U声明,及对象u和v的定义如下:

class U{

int x, int y;

U(int a, int b){x= a; y = b;}

void copy(U a){ x = a.x; y = a.y;}

}

U u = new U(1, 2), v = new U(2, 3);

在以下供选择的代码中,可能引起系统回收内存的是()

C.u.copy(v);

D.v.copy(u);

4.设有以下代码:

String s l="123";

String s2="123";

String s3=new String("123");

则表达式s1==s2和s1==s3的值分别是()

A.true,true

B.false,false

C.true,false

D.false,true

5.以下关于AWT与Swing之间关系的叙述,正确的是()

A.Swing是AWT的提高和扩展

B.在写GUI程序时,AWT和Swing不能同时使用

C.AWT和Swing在不同的平台上都有相同的表示

D.AWT中的类是从Swing继承的

6.在以下Swing组件中,能为它指定布局管理器的是()

A.JScrollBar对象

B.JMenuBar对象

C.JComboBox对象

D.JDialog对象

7.一般的绘图程序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘

制各种图形。要重定义的方法是()

A.paint()

B.paintComponent()

C.repaint()

D.update()

8.用Runnable接口实现多线程的主要工作是()

A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。

B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启

动新线程。

C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中

创建新线程,在start()方法中启动新线程。

D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新

线程。

9.程序如果要按行输入输出文件的字符流,最合理的方法是采用()

A.BufferedReader类和BufferedWriter类

B.InputStream类和OutputStream类

C.FileReader类和FileWriter类

D.File_Reader类和File_Writer类

10.在编写访问数据库的Java程序中,要用到DriverManager类。该类的作用是()

A.存储查询结果

B.处理与数据库的连接

C.在指定的连接中处理SQL语句

D.处理驱动程序的加载和建立数据库连接

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

11.Java程序的字节码文件的扩展名是_________。

12.构造一个Java表达式:y/x>5,并且x!=0。这个表达式是_________。

13.在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。

14.设有字符串定义:

String s="ABCDABCD";

则表达式s.indexOf("B")的值是_________。

getActionCommand()和_________。

16.使用单选按钮的方法是将一些单选按钮用_________对象分组,使同一组内的单选按钮只允许一个被选中。

17.在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是_________。

18.线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用_________方法恢复。

19.为普通的8位字节流文件读和写操作提供支持的类是_________。

20.Connection类是java.sql包中用于处理与数据库连接的类。Connection对象是用来表示_________的对象,Java程

序对数据库的操作都在这种对象上进行。

三、简答题(本大题共6小题,每小题3分,共18分)

21.请写出表示year年是闰年的Java表达式。闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年

又增加一个闰年。

22.请写出在类的方法的定义之前,加上修饰字public、private的区别。

23.请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java语句。

24.要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类提供

的静态方法Double()创建一个图形对象;最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。

25.请写出字符流数据与字节流数据的区别。

26.请写出URLConnection类在编写Java网络应用程序中的作用。

四、程序填空题(本大题共5小题,每小题4分,共20分)

27.方法int sigmaDigit(int n)的功能是求出十进制整数n的各位数字之和。例如,n=1234,该方法的返回值是10。

static int sigmaDigit(int n )

{ int sum = 0, d;

while(n > 0 ){

d=n% 10;

_________;

n/= 10;

}

_________;

}

28.以下小应用程序能响应鼠标按动的事件,当鼠标在正文区的某个位置被点击时,就在该位置显示一个记号“×”,

程序限制最多保留最新20个位置。

import java.applet.*; import java.awt.*;

import javax.swing.*; import java.awt.event.*;

class MyPanel extends JPanel {

public void print(Graphics g, int x, int y)(

g.setColor(Color.red);

g.drawLine(x-5, y-5, x+5, y+5);

g.drawLine(x+5, y-5, x-5, y+5);

}

}

class MyWindow extends JFrame implements MouseListener{

final int MaxMarks = 20;

int currentMarks = 0, markCount = 0;

Point marks[] = new Point[MaxMarks];

MyPanel panel;

this.setLocation(100, 100);

this.setSize(300, 300);

Container con = this.getContentPane();

panel = new MyPanel(); con.add(panel);

_________(this);

this.setVisible(true);

}

public void paint(Graphics g){

int i;

g.clearRect(0,0, this.getWidth(), this.getHeight());

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

_________(g, marks[i].x, marks[i].y);

}

}

public void mousePressed(MouseEvent e){ }

public void mouseReleased(MouseEvent e){ }

public void mouseEntered(MouseEvent e){ }

public void mouseExited(MouseEvent e){ }

public void mouseClicked(MouseEvent e){

marks[currentMarks] = new Point(e.getX(), e.getY());

if(markCount < MaxMarks)markCount++;

currentMarks = (currentMarks+ 1)%MaxMarks;

repaint();

}

}

public class Class1 extends Applet {

public void init(){

MyWindow myWndow = new MyWindow();

}

}

29.这是一个处理选择项目事件的子窗口类。窗口中有2个选择框,当选中某个选择框时,文本框将显示选择框对应

的信息。

class MyWindow extends JFrame implements ItemListener {

JTextField text;

JCheckBox boxl, box2;

MyWindow(String s){

_________;

Container con = this.getContentPane();

this.setLocation(100, 100); this.setSize(400, 200);

text = new JTextField(10);

box1 = new JCheckBox("A计算机", false);

box2 = new JCheckBox("B计算机", false);

con.setLayout(new GridLayout(3, 2));

con.add(new JLabel("计算机产品介绍", JLabel.CENTER));

add(new JLabel("计算机2选1", JLabel.CENTER));

con.add(box1); con.add(box2); con.add(text);

box1 .addItemListener(this);

this.setVisible(true); this.pack();

}

public void itemStateChanged(_________e){

if(e.getItemSelectable()== box1){

text. setText("A公司生产");

} else if(e.getItemSelectable()== box2){

text. setText("B公司生产");

}

}

}

30.这是一个播放幻灯片的小应用程序中的paint()方法。设幻灯片已由小应用程序的init()方法装入内存,并存

放于myImage数组中,幻灯片的张数放于变量num中,paint()方法要播放的幻灯片号是currentImage。

int currentImage = 0;

final int num = 30;

Image [ ] myImage = new _________ [num];

……

public void paint(Graphics g){

if ((mylmage[currentImage])!= null)

g. _________ (myImage[currentImage], 10, 10,

myImage [currentImage].getWidth(this),

myImage [currentImage].getHeight(this), this);

}

31.以下定义的类ShareData用于管理多个线程共享数据val。为了保证对共享数据val修改的完整性,线程对val的

操作需要互斥,类ShareData中定义的方法modiData()就是供共享val的线程修改val的方法。程序共有20个线程共享val,有些减少val,有些增加val。

public class Class1 {

public static void main(String args[]){

ShareData mrc = new ShareData(50);

Thread[] aThreadArray = new Thread[20];

System.out.println("\t刚开始的值是:"+mrc.getVal());

System.out.println("\t多个线程正在工作,请稍等!");

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

int d = i % 2 == 0 ? 50 : -30;

aThreadArray[i] = new Thread(new MyMultiThreadClass(mrc, d));

aThreadArray[i].start();

}

WhileLoop ://等待所有线程结束

while(true){

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

if(aThreadArray[i]. _________ ())continue WhileLoop;

break;

}

System.out.println("\t最后的结果是: "+mrc.getVal());

}

}

class MyMultiThreadClass implements Runnable {

ShareData UseInteger; int delta;

UseInteger = mrc; delta = d;

}

public void run(){

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

UseInteger.modiData(delta);

try {Thread.sleep(10);//做一些其他的处理

}catch(InterruptedException e){ }

}

}

}

class ShareData {

int val;

ShareData(int initValue){val = initValue; }

int getVal(){return val;}

private void putVal(int v){val = v;}

_________ void modiData(int d){

putVal(getVal()+ d);

}

}

五、程序分析题(本大题共5小题,每小题4分,共20分)

32.阅读下列程序,请写出该程序的输出结果。

class A {

int x, y;

A(int a, int b){

x= a; y= b;

}

}

public class sample {

public static void main(String args[]){

A pl, p2;

p2 = new A(12, 15);

p1 = p2; p2.x++;

System.out.println("p1.x=" + p1 .x);

}

}

33.阅读下列程序,请写出调用pascal(4)的输出结果。

static void pascal(int n){

int pas[];

pas = new int[n];

pas[0] = 1;

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

for (int i = 2; i <= n; i++){

/* 由存储在pas中的原来内容生成新内容*/

pas[i - l] =1;

for (int j = i- 2;j > 0; j--)

pas[j] = pas[j] + pas[j - 1 ];

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

System.out.println();

}

}

34.阅读下列程序,请用示意图画出程序运行时呈现的界面。

import java.applet.*;

import java.awt *;

import javax.swing.*;

class MyPanel extends JPanel {

JButton button; JLabel label;

MyPanel(String s1, String s2){

this.setLayout(new GridLayout(2, 2));

button = new JButton(s1);

label = new JLabel(s2, JLabel.CENTER);

add(button); add(label); add(new JLabel());

}

}

public class Class1 {

public static void main(String args[]){

JFrame mw = new JFrame("一个示意窗口");

mw.setSize(400, 250);

Container con = mw.getContentPane();

con.setLayout(new BorderLayout());

MyPanel panel1, panel2;

panel1 = new MyPanel("按钮1" ,"标签1");

panel2 = new MyPanel("按钮2", "标签2");

JButton button = new JButton("开始按钮");

con.add(panel1, "North");con.add(panel2, "South");

con.add(button, "Center");

mw.setVisible(true);

}

}

35.阅读下列程序,请回答以下问题:

(1)程序要求在文本框text中输入的内容是什么?

(2)辅助文本区showArea组件的作用是什么?

(3)如何使程序开始下载网络文本文件?

(4)程序采用什么输入方式下载网络文件?

import https://www.wendangku.net/doc/e114857103.html,.*;import java.awt.*;

import java.awt.event.*;import,java.io.*;import javax.swing.*;

public class Class1{

public static void main(String args[]).

{ new ConnectNet("读取网络文本文件示意程序");}

}

class ConnectNet extends JFrame implements ActionListener{

JTextField text=new JTextField(30);

JTextArea showArea=new JTextArea();

JButton b=new JButton("下载");JPanel p=new JPanel();

super(s);Container con=this.getContentPane();

p.add(text);p.add(b);

JScrollPane jsp=new JScrollPane(showArea);

b.addActionListener(this);

con.add(p,"North");con.add(jsp,"Center");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(500,400);setVisible(true);

}

public void actionPerformed(ActionEvent e){

String urlName=text.getText();

try{ URL url=new URL(urlName);//由网址创建URL对象

URLConnection tc=url.openConnection();//获得URLConnection对象

tc.connect();//设置网络连接

InputStreamReader in=new InputStreamReader(tc.getInputStream());

BufferedReader dis=new BufferedReader(in);String inLine;

while((inLine=dis.readLine())!=null){showArea.append(inLine+"\n");}

dis.close();

}catch(MalformedURLException e2){e2.printStackTrace();}

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

}

}

36..阅读下列程序,请写出该程序的功能。

import java.applet.*; import java.awt.*;

public class Class1 extends java.applet.Applet implements Runnable {

Thread myThread = null;

public void start(){

setSize(500, 400);

if (myThread == null){

myThread = new Thread(this); myThread.start();

}

}

public void run(){

while (myThread != null){

try { myThread.sleep(500);

} catch (InterruptedException e){ }

repaint();

}

}

public void paint(Graphics g){

int x = (int)(400*Math.random());

int y = (int)(300*Math.random());

g.setColor(Color.red); g.fillOval(x,y, 10, 10);

}

}

六、程序设计题(本大题共2小题,每小题6分,共12分)

37.编写数组复制方法。该方法从已知平衡的两维数组的左下角复制出一个非平衡的三角二维数组。设复制数组方法

public static double[][] leftDownConer(double[][]anArray)

38.设计实现以下形式布局的Java小应用程序。

注1:其中空白格是文本框,用于输入对应的内容。

注2:这里给出的是程序的一部分,你要编写的是方法MyWindow(String s)。

import java.applet.*;import javax.swing.*;import java.awt.*;

class MyWindow extends JFrame{

JTextField textl,text2,text3,text4;

public MyWindow(String s){//这个方法是你要编写的

}

}

public class Class1 extends Applet{

MyWindow myWindow;

public void init(){ myWindow=new MyWindow("一个小应用程序");}

}

全国2009年10月高等教育自学考试

Java语言程序设计(一)试题

课程代码:04747

一、单项选择题(本大题共10小题,每小题1分,共10分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下面供选字符序列中,不属于

...Java语言关键字的是()

A.goto B.null

C.false D.native

2.以下程序代码的输出结果是()

int x=73;System.out.println(x>>1);

A.36 B.36.5

C.37 D.true

3.Java语言中,在类定义时用final关键字修饰,是指这个类()

A.不能被继承B.在子类的方法中不能被调用

C.能被别的程序自由调用D.不能被子类的方法覆盖

String s=″0123456789″,sl,s2;

sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);

A.0122345 B.234567892345

C.012234 D.23456789234

5.以下是关于FlowLayout布局组件排列顺序的叙述,正确的是()

A.从上到下排列B.从左到右排列

C.从下到上排列D.从右到左排列

6.程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.APPROVE_OPTION,则用户执行的动作是()

A.对话框非正常关闭B.按下“打开/保存”按钮

C.按下“撤销”按钮D.重新输入了一个文件名

7.设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是()

A.g2d.draw(r)B.g2d.drawRect(r)

C.r.draw()D.r.drawRect()

8.在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是()

A.start()B.init()

C.resume()D.run()

9.在以下供选择的方法中,不能

..用于文件随机访问的方法是()

A.readChar()B.readLong()

C.readInteger()D.writeChars()

10.某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection对象,则这个url对象要调用的方法是()

A.connection()B.URLConnection()

C.getConnection()D.openConnection()

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

11.一个应用程序必须在某个类中定义的方法是______。

12.import语句的格式是______。

13.在面向对象语言中,对象之间的交互通过______实现。

14.设有两个字符串对象str1和str2,则表达式“strl==str2”的意义是判别字符串strl和str2______。

15.一个基于Swing的应用程序可能在任何平台上都会有相同的______。

16.处理键盘事件的Java程序,要实现的接口是______。

17.Java语言约定,坐标原点位于绘图区域的______。

18.Java程序中,在临界段中使用______方法,使执行该方法的线程等待。

19.BufferedWriter类对象能按行输入文件的内容,按行输入的方法是______。

20.在https://www.wendangku.net/doc/e114857103.html,包中有InetAddress类的定义,Java程序中的InetAddress类对象存储的内容是______。

三、简答题(本大题共6小题,每小题3分,共1 8分)

21.请写出实现计算y=|x|的if语句。

22.以下代码定义了一个类,请指出其中三条不合法的代码行(行号参见注释)。

class Test22{ //1

float u;static float v;//2

static void setUV(boolean f){ //3

u=fac1(f);//4

static float facl(boolean f){return f?u:v;} //6

float fac2(boolean f){return f?v:u;} //7

} //8

23.在java.awt.event中,用来检测并对事件做出反应的模型涉及三种对象。请写出这三种对象。

24.写出设置Font对象fn的Java语句,要求Courier字体,BOLD风格,18磅字号,设调用对象的类型为Graphics 的g。

25.通过流的构造方法建立文件流对象,请写出创建输入输出文件流对象的两种常用构造方法。

26.当Client程序和Server程序需要通信时,可以用Socket类建立套接字连接,请写出双方实现通信的两种方式。

四、程序填空题(本大题共5小题,每空2分,共20分)

27.方法int sigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。

static int sigmaEvenNum(int []a){

int s =0;

for (int i=0;______;i++ ){

if(______)s++;

}

return s;

}

28.某小应用程序窗口包含有文本区dispArea,以及一个带文字“追加”的按钮。当点击这个按钮时,程序弹出一个输入信息的对话框,并将对话框中输入的内容追加到文本区中。以下是其中相应“追加”按钮事件的方法。

public void actionPerformed(ActionEvent e){

if(e.______.equals("追加")){

String result=(String)JOptionPane.showInputDialog(null,"请输入信息",

"输入对话框",JOptionPane.PLAIN_MESSAGE, null, null,null);

dispArea.______(result + " ");

}

}

29.以下程序段是选择项目事件处理程序的样例,一个由3个单选按钮组成的选择组被定义为一个面板子类Panel,当某个按钮被选中时,按钮监视程序在类MyWindow的一个文本框中输出某个按钮被选中的字样。以下是类Panel的定义。

class Panel extends JPanel implements ItemListener{

static JRadioButton box[];

ButtonGroup g;

Panel(String radioNameList[]){

box=new JRadioButton[radioNameList.length];

setLayout(new GridLayout(1, radioNameList.length));

g=new ButtonGroup();

for(int i=0;i

box[i] = new JRadioButton(______,false);

g.add(box[i]);add(box[i]);box[i].addItemListener(this);

}

}

public void itemStateChanged(ItemEvent e){

for(int i = 0; i < box.length; i++){

if(box[i]._______){

MyWindow.text.setText(box[i].getLabel()+"被选中!");

}

}

}

30.用getImage()方法和drawImage()方法能加载和显示图像。以下程序加载的是seattle.jpg文件,并假定该文件与包含这个小应用程序的HTML文件在同一个目录下。

import java.awt.*; import java.applet.*;

public class SimpleImageLoad extends Applet{

Image img;

public void init(){

img = getImage(______,"seattle.jpg");

}

public void paint(Graphics g){

g.drawImage(img, 0, 0, ______);

}

}

31.以下程序段定义的类ShareDataManager用于管理多个线程共享数据data。为了对data的取、存和修改操作保持完整,多线程在data上的操作有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data上的操作还有同步要求。为此,程序为管理data上的操作定义成类,以下是管理共享数据data的类ShareDataManager的代码。

class ShareDataManager {

int data;

ShareDataManager(int init){data = init; }

public int getData(){ return data;}

private void putData(int newValue){ data = newValue;}

synchronized void modiData(int delta){

if (delta >= 0){putData(getData()+ delta);

} else {

while (______<0){

try {wait(); } catch (InterruptedException e){ }

}

putData(getData()+ delta);

}

______;

}

}

五、程序分析题(本大题共5小题,每小题4分,共20分)

32.阅读下列程序,请写出该程序的输出结果。

class Tree {

private String name;public boolean flower;

public int birthYear;

Tree(String n, boolean f, int y){ name = n; flower = f; birthYear = y; }

public void setName(String n){name = n;}

public String getName(){return name; }

public void printTree(String str){

System.out.println(str); System.out.println("Name:"+name);

System.out.println("Birth Year:"+birthYear);

System.out.println("Flower:"+flower);

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 一章至五章考试 一. 填空题(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. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

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工程师面试题(含答案)

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求

100道Java基础测试题

Java基础测试题 不定项选择题 1、面向对象的三大特征是() A) 封装B) 继承C) 多态D) 线性 2、变量命名规范说法正确的是() A) 变量由英文字母、下划线、数字、$符号组成 B) 变量不能以数字作为开头 C) A和a在Java中代表同一个变量 D) 不同类型的变量,可以起相同的名字 3、i的值为10,表达式(i++)+(i--)的值为() A) 21B) 20 C) 19 D) 18 4、下面哪些定义变量的语句是正确的?() A) int i = 'A'; B) float f = 1.23; C) byte b = (byte)128; D) int c[5][5] = new int[ ][ ]; 5、以下代码的执行结果是() int a = 1; bool ean m = a%2 = = 1; if(m = false){ System.out.println("false"); }else{ System.out.println("true"); } A) false B) true C) 编译不通过 6、以下程序段中,哪个选项不能插入到第二行?() A)class Demo2 { } B) import java.util.*; C) public static void main(String args[ ]) { } D) package com; E) public class Demo2 { } 7、下面有关Java循环结构的描述正确的是() A) for循环体语句中,可以包含多条语句,但要用大括号括起来 B) for循环和do...while循环都是先执行循环体语句,后进行条件判断 C) continue和break只能用于循环结构中 D) 增强for循环遍历数组时不需要知道数组的长度,但不能实现与下标相关的操作 8、switch选择语句是多分支选择语句,只能处理等值条件判断的情况。在jdk1.7中,switch中的表达式可以是以下哪种类型() A)int B)char C)double D) float E)String F) short

java期末考试试题及答案

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

Java面试题带答案

J a v a面试题带答案 Document number:BGCG-0857-BTDO-0089-2022

湖南世杰Java工程师面试题 选择题: 单选题 1,以下java程序代码,执行后的结果是( ) map= ("name",null); ("name","Jack"); 0 B: null C: 1 D: 2 答案:C 2,执行以下程序后的输出结果是( ) Public class Test { Public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b);

+","+ b); } Public static void operator(StringBuffer x, StringBuffer y) { (y); y = x; } } A: A,A B: A,B C: B,B D: AB,B 答案:D 3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B:依赖注入使组件之间相互依赖,相互制约 C:依赖注入提供使用接口编程 D:依赖注入指对象在使用时动态注入 答案:B

4,关于spring说法错误的是( ) A: spring是一个轻量级JAVA EE的框架集合 B: spring是“依赖注入”模式的实现 C: 使用spring可以实现声明事务 D: spring提供了AOP方式的日志系统 答案:D 5,要在session对象中保存属性,可以使用以下哪个语句( ) A: (“key”,”value”) B: (“key”,”value”) C: (“key”) D: (“key”) 答案:B 6,关于以下程序代码的说明正确的是( ) Public class HasStatic{ Private static int x = 100; Public static void main(String args[]){

java试卷B-

班 姓 学 考试时 考场(教室 装 线 一、单项选择题:(将每小题正确答案的代码填写在题后的括弧内。每小题2分,共20分) 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为 ( ) A.java B. class C..html D.exe 2.下面说法中不正确的是: ( ) A .类是对象的抽象,对象是类的实例 B.类是组成java 程序的最小的单位 C .java 语言支持多继承 D.java 一个程序中只能有一个public 类 3. 欲构造ArrayList 类的一个实例,此类继承了List 接口,则正确的是( ) A. ArrayList myList=new Object () B. List myList=new ArrayList () C. ArrayList myList=new List () D. List myList=new List () 4.当浏览器重新返回Applet 所在页面时,将调用Applet 类的方法是 ( ) A.start() B.init() C.stop() D.destroy() 5.假设你正在为应用系统设计一个Java 图形用户界面(GUI ),需要能输入多行文本信息,下列组件中最能满足这个要求的是 ( ) A.TextArea https://www.wendangku.net/doc/e114857103.html,bel C.TextField D.Checkbox 6. 下面关于进程、线程的说法错误的是 ( ) A.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索 B.线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C.Java 多线程的运行与平台无关 D.对于单处理器系统,多个线程分时间片获取CPU 或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务 7.paint()方法使用哪种类型的参数? ( ) A.Graphics B.Graphics2D C.String D.Color 8.下列有关事件监听器的描述正确的是 ( ) A.多个监听者可以被附加到一个组件 B.只有一个监听者可以被附加到一个组件上 C.一个监听者只能接受一个组件产生的事件 D.以上描述都不对 9.应用程序的main 方法中有以下语句,则输出的结果是 ( ) String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); i nt k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A.123456 B.123 C.xxxxxxxxxxxxxxx D.zzzzz 10.下列关于修饰符混用的说法错误的是 ( ) A.abstract 不能与final 并列修饰同一个类 B.abstract 类中不可以有private 的成员 C.abstract 方法必须在abstract 类中 D.staic 方法中能处理非static 的属性 二、填空题:(每空2分,共16分) 1.Java 程序分为应用程序和小程序两种,小程序必须从___________类继承而来。 2.在java 中,把数据类型分为两大类为___________和_________。 3.若要实现多线程的同步处理,应用______________修饰方法,使得被修饰的方法一次只能由一个线程使用。 4.在Java 语言中,所有的类都是类__________的子类。 5.在Java 程序中,通过类的定义只能实现单重继承,但通过____________ 的定义可以实现多重继承关系。 6.框架默认情况下使用_________布局管理器,面板默认情况下使用_________布局管理器。

JAVA期末考试复习试题

JAVA期末考试复习试题 JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是()。(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。(A)保护成员变量(B)读取类的成员变量(C)描述类的 特征(D)初始化成员变量6.下面关键字中,哪一个不 是用于异常处理语句()。(A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的`抽象(B)对象是类的抽象(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. 如果一个类的成员变量只能在

java笔试题及答案

java笔试题及答案(必背) 来源:黄德洋的日志 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√× friendly √√ × × private √××× 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实 现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static 内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的

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测试题(三套含答案)

<测试一> 1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=1.3; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4.编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F A.2variable B.variable2 C. _whatavariable

D. _3_ E. $anothervar F. #myvar 6.内部数据类型byte的取值范围是B A.0 - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } A.one B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default:

java期末考试复习题及答案

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

javaWeb面试题(含答案)

1、jsp和servlet的区别、共同点、各自应用的围?? JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层. 2、cookie和session的作用、区别、应用围,session的工作原理??? Cookie:主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的数据量有限。 Session:保存在服务端,每一个session在服务端有一个sessionID作一个标识。存储的数据量大,安全性高。占用服务端的存资源。 3、jstl是什么?优点有哪些?? JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。优点有: 1、在应用程序服务器之间提供了一致的接口,最大程序地提高了WEB应用在各应用服务器之间的移植。 2、简化了JSP和WEB应用程序的开发。 3、以一种统一的方式减少了JSP中的scriptlet代码数量,可以达到没有任何scriptlet 代码的程序。在我们公司的项目中是不允许有任何的scriptlet代码出现在JSP中。 4、允许JSP设计工具与WEB应用程序开发的进一步集成。相信不久就会有支持JSTL的IDE 开发工具出现。 4、j2ee的优越性主要表现在哪些方面?MVC模式 a、 J2EE基于JAVA 技术,与平台无关 b、 J2EE拥有开放标准,许多大型公司实现了对该规支持的应用服务器。如BEA ,IBM,ORACLE

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.wendangku.net/doc/e114857103.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考试试卷及答案

JA V A考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对 14、下列不是String类的常用方法是:C

相关文档