文档库 最新最全的文档下载
当前位置:文档库 › 2014年4月 Java语言程序设计(一)试题答案

2014年4月 Java语言程序设计(一)试题答案

2014年4月 Java语言程序设计(一)试题答案
2014年4月 Java语言程序设计(一)试题答案

全国2014年4月高等教育自学考试

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

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

1.以下标识符中,不是Java语言关键字的是(A)

A.wait B.new

C.long D.switch

2.以下数据类型转换中,必须进行强制类型转换的是(A)

A.int→char B.short→long

C.float→double D.byte→int

3.以下供选择的概念中,属于面向对象语言重要概念和机制之一的是(C)

A.函数调用B.模块

C.继承D.结构化

4.以下Java程序代码中,能正确创建数组的是(C)

A.int myArray[]; myArray[]=new int[5];

B.int myArray[]=new my(5);

C.int[]myArray={1,2,3,4,5};

D.int myArray[5]={1,2,3,4,5};

5.某Java程序的类A要利用Swing创建框架窗口,则A需要继承的类是(B)

A.JWindow B.JFrame

C.JDialog D.JApplet

6.MouseMotionListener接口能处理的鼠标事件是(D)

A.按下鼠标键B.鼠标点击

C.鼠标进入D.鼠标移动

7.以下术语中,属于文字字型风格属性的是(C)(风格:正常、斜体、粗体)

A.颜色B.宋体

C.斜体D.字号

8.以下能作为表示线程优先级的数值,并且级别最低的是( B) 级别数:(1―10)

A.0 B.1

C.1 5 D.1 6

9.某Java程序用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。该程序通过文件对话框首先获得的信息是(D)

A.文件长度B.文件路径

C.文件内容D.文件对象

1 0.在编写访问数据库的Java程序时,ResultSet对象的作用是( B)

A.用来表示与数据库的连接B.存储查询结果

C.在指定的连接中处理SQL语句D.建立新数据库连接

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

11.类Testll经Java编译程序编译后,产生的文件是 __Testll.class____。

12.表达式“45&20”的十进制值是 ___4___。

13.如果类A继承和扩展类B,则子类A和超类B之间的关系是 _is-a___。

14.Java语言提供的用于处理不可改变的字符串类是 _String类__。(StringBuffer处理可改变的字符串类)15.要使得已注册的按钮对象暂时不响应事件,需使用的方法是___setEnabled( )___。

1 6.一个水平滚动条对象的初始值是150,滑块的宽是8个像素,表示的范围是[0,300]。创建这样的滚动条对象时,提供的最后2个参数依次是__0,300____。

17.某应用程序定义的类C17是JPanel的子类,在类C17的对象中需要绘图,则在类 C17中应重写的方法是 _paintComponent( )_____。

18.当线程进入临界段后,发现需要与别的线程进行同步,则要调用的方法 是 _wait( )___。

19.某程序想要随机读写字符文件,能支持这个要求的类是__RandomAccessFile ____。

20.某应用程序已经声明了InetAddress 对象addr ,现要用域名https://www.wendangku.net/doc/209193393.html, 创建addr 对象,能实现这样要求的代码是addr =InetAddress ._getByName(“https://www.wendangku.net/doc/209193393.html,”)_____;。

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

21.已知变量n ,请写出使用for 语句计算n

S 1...31211++++=的代码。 答:

double S=0.0;

for(int i=1; i

S+= 1.0/i;

22.请写出接口体中可能包含的内容。

答:包含常量定义和方法定义两部分。

23.请写出对事件对象作监视器注册的作用。

答:事件对象作监视器注册后,系统才会把该对象上发生的事件通知到监视对象。

24.已知Graphics 对象g ,获得Graphics2D 对象g2d ,然后,用圆角长方形类创建对象 circle ,该对象的左上角坐标是(30,40),半径是50。请写出实现以上要求的Java 代 码。

答:

Graphics2D g2d = (Graphics2D)g;

RoundRectangle2D circle = new RoundRectangle2D.Double(30,40,100,100,100);

25.某程序希望用FileFilter 类的子类为打开文件对话框设置文件筛选条件。请写出设置 此筛选条件要使用的类及相应的方法。

答:使用的类为JFileChooser 类,相应的方法是addChooserFileFilter() 或者 setFileFilter()

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

答:与某个数据库建立连接,向数据库发送SQL 语句和处理数据库返回结果。

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

27.方法void moveOddFront (int a [])的功能是将数组a 中的所有奇数都移到数组的前端, 而把偶数放于所有奇数的后面,其方法是当发现是偶数时,就让该数留在原来位置, 当发现是奇数时,就与前面的第一个偶数交换。程序引入变量odd 表示移动过程中 遇到的奇数个数。

void moveOddFront(int a [])

{

for(int i=0, odd=0; _i

if( a [i ] %2 == 1)

{

int t = a [odd ];a [odd ]=a [i ]; a [i ]=t ;__odd++____;

28.以下程序的界面包含一个文本区text 和一个允许多选的列表list ,列表的条目存于字 符串数组sports []中,当列表发生选择事件时,事件处理程序将这次选中的所有条目 在文本区中输出。这里给出的是其中处理列表事件的方法。

public void valueChanged(__ListenerSelectionEvent ___e)

{

if (e.getSource()==list)

{

text.setText(null);

int tempList[]=list. getSelectedIndices();∥获得选中索引表

for (int i=0;i < tempList.length; i++)∥对索引表中的每个元素显示被选中字样

text.append(sports[__ tempList[i]__]+":被选中\n");

29.以下应用程序创建一个窗口,窗口内放置一个面板,在面板中显示一张图片和一段文字。

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

public class Test29 {

public static void main(String[] args) {

MyFrame frame = new MyFrame();

class MyFrame extends JFrame {

public MyFrame(){

setTitle("Test29"); setSize(300, 200);

Toolkit tool=__getToolkit( )__;

Image img = tool.getImage("myPic2.jpg");

getContentPane().add(new MyPanel (img));

setVisible(true);

class MyPanel extends JPanel{

Image myImg;

MyPanel(Image img){ myImg=img;}

public void paintComponent(Graphics g) {

if(myImg!=null)g._drawImage__ (myImg, 100,30,this);

g.drawString("我是一名自考生!",100, 140);

}

}

30.类ShareDataManager用于管理多个线程共享数据data,其中定义了一个供线程修改 data的方法modiData()。为了对data的修改操作保持完整,多线程在data上的操作有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data 上的操作还有同步要求。以下是类ShareDataManager 的定义。

class ShareDataManager{

int data;

ShareDataManager(int init){data=init;}

synchronized void modiData(int delta){

if (data+delta>=0){ data+=delta;

} else {

while (data+delta<0){

try{__wait( )__}

catch (InterruptedException e){}

}

data+=delta;

}

_notify( ) __;

}

}

31.某个缓冲式输出的示意程序的界面有一个文本框fileOut和一个文本区text,程序运行时,先在文本区中输入要存入文件的内容,接着在文本框中输入文件名并回车,则程序将文本区中的内容保存到指定的文件中。以下是该程序中相应文本框文件名的输入事件的方法。

public void actionPerformed(ActionEvent e){

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

try{

out = new BufferedWriter(new _FileWriter(fileOut.getText( ))__ );

out._write(text.getText( ))__ ;

out.flush(); out.close(); text.setText(null);

} catch (FileNotFoundException el){

System.out.print("文件没有找到!\n");

}catch (IOException exp){

System.out.print("文件读写出错!\n");

}

}

}

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

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

class Mother

{

public void method1()

{

System.out.println("Call Mother's methodl()");

}

public void method2()

{

System.out.println("Call Mother's method2()"); method1();

}

}

class Girl extends Mother

{

public void method1()

{

System.out.println("Call Girl's methodl()");

}

public static void main(String args[])

{

Girl g= new Girl(); g.method2();

}

}

答:

Call Mother's method2()

Call Girl's method1()

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

public static void Test33(int n)

int i,j,a[][]=new int[n][n];

for(i=0;i

{

if(i%2==0)

for(j=0;j

a[i][j]=j+1;

else for (j=n-1;j>=0;j--)

a[i][j]=n-j;

}

for(i=0;i

{

for(j=0;j

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

System.out.println();

}

}

答:

1 2 3 4

4 3 2 1

1 2 3 4

4 3 2 1

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

(1)在文本框中输入1 7,在文本区中会显示多少行整数,各行有几个数?

(2)如果将程序的第一行删除,程序中标号①~⑨语句中哪些会出现错误?

答:(1)4行,各行的数字个数分别是5、5、5、2。(2)第1条语句和第2条语句。

import java.awt.*;//问题(2)所指要删除的行

import javax.swing.*;

import java.awt.event.*;

public class Test34 extends JFrame implements ActionListener

{

JTextField textF; JTextArea textA;

Test34()

{

Container con = getContentPane(); //①

con.setLayout(new BorderLayout()); //②

textF = new JTextField(10); //③

textF.addActionListener(this); //④

textA = new JTextArea(6, 10); //⑤

setSize(240, 200); //⑥

con.add(textF, "North"); //⑦

con.add(textA, "Center"); //⑧

setVisible(true); //⑨

}

public static void main(String[] args)

{

new Test34();

public void actionPerformed(ActionEvent e)

{

int n,d;

if(e.getSource()==textF)

{

n = Integer.parseInt(textF.getText());

for (int k=1;k<=n; k++)

{

d= (int) (Math.random()*1000%1000);

textA.append(" "+d);

if(k%5==0)textA.append("\n");

}

}

}

}

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

(1)程序运行时,呈现的界面中菜单条有哪些菜单?

(2)程序中带注释/*1*/的代码行的作用是什么?

答:(1)体育、娱乐、学习,三个菜单。(2)用菜单项名称设置该菜单项事件源的文字信息。

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

class MenuWindow extends JFrame implements ActionListener

{

JTextField text;

MenuWindow (String s,String menuList[][])

{

setTitle(s);

Container con = this.getContentPane();

con.setLayout(new BorderLayout());

this.setLocation(100, 100); this.setSize(300, 100);

JMenuBar menubar=new JMenuBar();

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

{

JMenu menu = new JMenu(menuList[i][0]);

for(int j=1;j

{

JMenuItem anItem=new JMenuItem(menuList[i][j]);

/*1*/ anItem.setActionCommand(menuList[i][j]);

anItem.addActionListener(this); menu.add(anItem);

}

menubar.add(menu);

}

text = new JTextField(); setJMenuBar(menubar);

con.add(text,BorderLayout.SOUTH);

}

public void actionPerformed(ActionEvent e)

{

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

}

public class Test35

{

public static void main(String[] args)

{

MenuWindow window;

String menuList[][]={{"体育","跑步","打篮球","打乒乓"},

{"娱乐","唱歌","跳舞"},

{"学习","数学","语文"}};

window=new MenuWindow("菜单示例程序",menuList);

window.setVisible(true);

}

}

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

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

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

答:(1)网络文本文件的URL地址。(2)缓冲式输入

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

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

public class Test36

{

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();

ConnectNet(String s)

{

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+"");

}

dis.close();

}

catch (MalformedURLException e2)

{e2.printStackTrace();}

catch(IOException e3)

{ e3.printStackTrace();}

}

}

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

37.编写方法int[] arrayReverse(int[] a),该方法的功能是返回一个新的数组b,新数组的元素排列顺序与参数数组的元素排列顺序相反。

答:

int[] arrayReverse(int[] a)

{

int[] b = new int[a.length];

for (int i=0;i

{

b[a.length-1-i] = a[i] ;

}

return b;

}

38.类InputData是用于输入考生考号、课程和成绩的窗口,窗口的界面如右图所示,其中三个文本框用来

输入考号、课程和成绩。

注:这里是给定程序的部分代码,你要编写的是完成该类的构造方法。

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

import java.awt.event.*;

public class InputData extends JFrame implements ActionListener

{

JTextField noText, markText, courseText;

JButton ok =new JButton("确定");

public static int no, mark;//让创建者直接获取考号和成绩

public static String course;//让创建者直接获取课程名称

InputData()

{

super("成绩输入窗");

Container con = getContentPane();

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

noText = new JTextField(12);

courseText = new JTextField(12);

markText = new JTextField(12);

//请在答题纸相应位置编写代码:

//以下一段为答案:-----------------------------------------------------------------

JPanel p1 = new JPanel( );

p1.add(new JLabel("考号",JLabel.CENTER));

p1.add(noText);

con.add(p1);

JPanel p2 = new JPanel( );

p2.add(new JLabel("课程",JLabel.CENTER));

p2.add(courseText);

con.add(p2);

JPanel p3 = new JPanel( );

p3.add(new JLabel("成绩",JLabel.CENTER));

p3.add(markText);

con.add(p3);

//以上一段为答案------------------------------------------------------------------

con.add(ok);ok.addActionListener(this);

con.setSize(250, 70);setVisible(true);pack();

}

public void actionPerformed(ActionEvent e)

{

if (e.getSource()==ok)

{ //读取考号和成绩

no = Integer.parseInt(noText.getText());

course = courseText.getText();

mark = Integer.parseInt(markText.getText());

setVisible(false); dispose();

}

}

public static void main(String[] args)

{

new InputData();

}

}

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

04747java语言程序设计(一)20120年01月试卷

全国2012年1月高等教育自学考试 Java语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共l0分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下面供选字符序列中,不属于 ...Java语言关键字的是( ) A.inner B.throw C.false D.throws 2.表达式“-1>>>1”的十进制值是( ) A.-2 B.231-1 C.-(231-1) D.232-1 3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.子类必须实现父类未实现的方法 B.没有具体实现代码 C.必须要有实例 D.不能被继承 4.表达式"java程序设计".1ength()的值是( ) A. 0 B.12 C. 8 D.13 5.以下关于BorderLayout布局的叙述中,不正确 ...的是( ) A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域 C.是框架窗口的默认布局 D.一个位置可直接放多个组件 6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( ) A.accept()和getSelectedFile() B.accept()和getDescription() C.accept()和setDescription() D.setDescription()和getDescription() 7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( ) A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 浙04747# Java语言程序设计(一)试卷第1页(共12页)

自考Java语言程序设计试题及答案解析

自考J a v a语言程序设计试题及答案解析 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5 4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展

B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( )方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,并让该对象调用start( )方法。 8.大多数采用缓冲式输入数据文件的程序的主要目的是 A.用readLine( )方法按行输入字符 B.提高输入速度 C.更快地读入字符数据 D.用read( )方法输入任意个字符 9.在打开文件对话框时,可用FileFilter类设置筛选条件,在以下供选择的方法中,是 FileFilter类预设的方法之一的是 A.setFileFilter( ) B.addFileFilter( ) C.accept( ) D.setDescription( ) 10.对访问数据库的Java程序来说,DriverManager类的作用是

Java语言程序设计课后习题答案

Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法它有那些基本特征 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用 答:类成员的访问控制符有 public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作; (6)构造方法不能在程序中显式的调用; (7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。 9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法 答: 用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。 10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean). 声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient的例子: Atient april=new Patient(); (“zhangli”) (‘f’);; (330; ; (true); 那么:”+()); ”+()); ”+()); (“weught: ”+());\ ”+()); 声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。 答: public class Patient { private String name; private char sex; private int age; private float weight; private boolean allergies; public void setname(String a) { name=a; } public void setsex(char b) { sex=b; }

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语言程序设计试题及答案解析

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5

4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展 B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( ) 方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并 调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,

Java期末考试试卷1

信息学院2006—2007学年第二学期期末考试试题A 课程名称:Java 语言程序设计主讲:年级: 班级姓名学号 题号一二三四五合计 分数 一、选择(每题1分,共20分) 1.有一个名为MyClass的public类,想成功编译需满足以下哪个条件?() A. MyClass类中必须定义一个正确的main()方法。 B. MyClass必须定义在MyClass.java源文件中。 C. MyClass类必须定义在MyClass包中。 D. MyClass类必须被导入。 2.以下哪些修饰符不能用于顶层类?( ) A. public B. private C. abstract D. final 3.以下哪个是java中合法的关键字?( ) A. array B. Boolean C. protect D. super 4.以下哪些是合法的标识符?( ) A.%abcd B. 2abcd C. package D. _a_long_name 5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同。这种面向对象程序的特性称为. () A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 6.有以下代码,请问该程序的运行结果是什么?( ) class Example { public static void main(String args[]){ boolean b=true; System.out.println(b); } } A. 打印输出true B. 打印输出1 C.编译错误 D. 无内容输出 7.以下哪些是基本数据类型?( ) A.int B. String C. Integer D. Float 8. 给出以下代码,请选择正确的选项?( ) class Example{ public static void main(String[] args){ char a=”\u1234”; } } A. 代码编译成功 B. 代码编译成功,但有警告 C. 代码编译失败 9.以下哪个语句用于声明一个二维数组?( ) A. int[5][5] a=new int[][]; B. int a=new int[5,5] C. int[][] a=new int[5][5]; D. int[][] a=new [5]int[5]; 10.给出以下代码,请问该程序的运行结果是什么?()

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

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

J A V A语言程序设计期末考试试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

J A V A语言程序设计考试试题及部分答案 一、单选题:(每题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} ; 其中0≤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 8.下列语句序列执行后,i 的值是( D )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 9.下列语句序列执行后,k 的值是( C )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 10.下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 11.设有定义 float x=, y=, z=;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y

《Java语言程序设计基础教程》习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

中级JAVA笔试题(附参考答案)(完整资料).doc

此文档下载后即可编辑 中级JAVA笔试题(附参考答案) java 基础 1.StringBuffer的实现方式,容量如何扩充。 2.ClassLoader的功能和工作模式。 3.==和equals的区别。 4.什么是线程安全?举例说明一个线程不安全的例子。 5.说出数据连接池的工作机制,解决什么问题。 6.一个字符串"java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf",把其中奇数位java(大小写不敏感)替换成java,偶数位替换成JAVA。 数据库 7.经常使用的数据库的优化方法。 8.薪水最高的第10到第20名雇员Oracle和mysql的实现。 算法: 9.ArrayList LinkedList HashMap,存储性能和特点。 10.用任意方法对int类型数组进行排序。 架构:

11.描述MVC的设计思想 12.Spring的核心理念是什么 13.谈一下自己最熟悉的web框架 参考答案: java 基础 1.StringBuffer的实现方式,容量如何扩充。(StringBuffer是通 过char[]来实现的,默认长度是16,在进行串的append的时,StringBuffer会检测剩余容量,适时会重新扩充,而扩容的同时,会创建一个新的数组,并将原来的数组内容复制到新的数组里面。) 2.ClassLoader的功能和工作模式。(1:JVM在运行时会产生三个 ClassLoader,其层次关系::Bootstrap ClassLoader—>Extension ClassLoader—>AppClassLoader,2: 当一个装载器被请求装载某个类时,它首先委托自己的parent去装载,若parent能装

2016年10月自考Java语言程序设计(一)04747

2016年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一)试卷 (课程代码 04747) 本试卷共9页,满分l00分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。 4.合理安排答题空间,超出答题区域无效。 第一部分选择题(共l0分) 一、单项选择题(本大题共l0小题,每小题l分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。淘宝店铺自考达人 V信1297755429 1.在下述字符串中,不是Java余言关键字的是 A.int B.static C.java D.try 2.要作下列数据类型转换,需进行强制类型转换才能实现的是 A.从int到char B.从int到 long C.从lloat到 double D.从byte到 int 3.在以下供选择的概念中,属于面向对象语言重要概念或机制的是 A.方法 B.模块 C.线程 D.继承 4.在下述Java程序代码中,能正确创建数组的是 A.int myA[5]={1,2,3,4,5); B.int myA[]=new int(5); C.int myA[];myA[]=new int[5]; D.int[]myA={1,2,3,4,5,6};5.某Java程序的类A需要利用Swin9创建无边框窗口,则A需要继承的类是A.JWindow B.JApplet C.JFrame D.JDialog 6.在以下供选的鼠标事件中,MouseMotionListener接口能处理的是 A.按下鼠标键 B.拖动鼠标 C.鼠标进入 D.鼠标松开7.在以下代码中,能正确创建Font对象的是 A.new Font(″宋体″,斜体,20); B.new Font(″楷体″,20,正常);C.new Font(″楷体″,Font.BOLD,l 8); D.new Font(″楷体″,1 8,Font.BOLD);8.某线程正处于运行状态,则在以下选项中,不可能是它的后继状态的是 A.就绪状态 B.新建状态 C.阻塞状态 D.死亡状态 9.某Java程序用类JFileChooser来实现打开和保存文件对话框。当对话框的返回 值是JFileChooser.APPROVE_OPTION时,程序进一步的工作是 A.用方法getName()取得文件名称 B.用方法getPathO()取得文件路径 C.用方法getFile()取得文件内容 D.用方法getSelectedFile()取得文件对象 10.Java语言实现C/S模式时,需要使用网络套接字,套接字的内容包括 A.IP地址+端口号 B.IP地址+监控线程名 C.监控线程名+端口号 D.IP地址+监控线程名+端口号 第二部分非选择题(共90分) 二、填空题(本大题共l0小题,每空2分,共20分) 11.一个Java小应用程序必须定义成一个子类,它的超类是______。 12.在Java语言中,左移运算符是______。 13.类A的成员变量x的类型是类B的,则类A和类B之间的关系是______。14.以下代码: 的输出结果是_______。 15.在JFrame子类的构造方法中,代码getContentPane0的作用是_______。16.用JScrollBar创建一个垂直滚动条对象时,需要指定的常量是_______。17.在异或模式下绘图时,实际绘制的颜色是由3种颜色作特定的运算确定的:当前正要绘 制的颜色、原先绘制的颜色以及_______。 18.处于运行状态的线程执行yield()方法,该线程将进入_______状态。 19.在Java语言中,客户端使用的套接字类是_______。 20.在Java语言中,DriverManager类的作用是加载驱动程序和_______。

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

《JA V A语言程序设计》期末考试试题及答案 (应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

北大青鸟推荐:Java精选笔试题(含答案解析)

北大青鸟推荐:Java精选笔试题(含答案解析)如果你是计算机专业出生,但是还没有找到工作的话,你就得补补技术了,一些关于面试、笔试的题要多刷一刷。有可能你知道答案,但是由于语言组织能力有所欠缺,所以面试官的印象不是很好,下面分享一些Java精选的鄙视题,希望对面试这者有帮助。 1,volatile关键字是否能保证线程安全?() 答案:否 volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对volatile的写操作,无法保证线程安全。 假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值,在线程1对count进行修改之后,会write到主内存中,主内存中的count变量就会变为6;线程2由于已经进行read,load操作,在进行运算之后,也会更新主内存count的变量值为6;导致两个线程及时volatile关键字修改之后,还是会存在并发的情况。 2,下面哪个流类属于面向字符的输入流( ) A、BufferedWriter B、FileInputStream C、ObjectInputStream D、InputStreamReader 答案:D Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式。

面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类。 面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类。 3,Java能不能不通过构造函数创建对象() A、能 B、不能 答案:A Java创建对象的几种方式: (1) 用new语句创建对象,这是最常见的创建对象的方法。 (2) 运用反射手段,调用https://www.wendangku.net/doc/209193393.html,ng.Class或者https://www.wendangku.net/doc/209193393.html,ng.reflect.Constructor类的newInstance()实例方法。 (3) 调用对象的clone()方法。 (4) 运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法。 (1)和(2)都会明确的显式的调用构造函数;(3)是在内存上对已有对象的影印,所以不会调用构造函数;(4)是从文件中还原类的对象,也不会调用构造函数。 4,下列哪个叙述是正确的() A.子类继承父类的构造方法。 B.abstract类的子类必须是非abstract类。 C.子类继承的方法只能操作子类继承和隐藏的成员变量。 D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量。 答案:C 子类是不继承父类的构造方法的,而是必须调用其父类的构造方法。

java期末考试试题(含答案)

模拟B卷 考试说明: 1.使用Eclipse编写程序。项目名称为:班级_姓名_学号_卷号。注意:卷号为A或B 2.在项目文件夹下新建一个文本文件,文件名为:答案.txt 3.将编程题外的所有题目写在文本文件中,答案要标明题号。 注意:考试期间遇到死机等问题,需要请示老师,切勿自行解决。否则后果自负。 一、单项选择题:共20题,每小题1分,满分20分 1、下列选项中,不属于Java语言特点的一项是。( D ) A、安全性 B、分布式 C、面向对象 D、编译执行 2、Java语言和c++语言相比,哪一项是Java有的,而c++没有?( C ) A、面向对象 B、有类库 C、跨平台 D、动态链接 3、如下哪个不是Java中有效的变量名。( A ) A、 if B、hello C、name D、good 4、下列不属于Java保留字的一个是( B )。 A、else B、Unicode C、if D、static 5、现有2个char,类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应 该是( C )。 A、’a’ B、12 C、’c’ D、语句在编译时出错 6、下列关于int类型和long类型的说法中,正确的一个是( A )。 A、int类型可以自动转换为long类型 B、long类型可以自动转换为int类型 C、long类型占的存储空间比int类型的小 D、long类型和int类型数据能表示整数的范围一样 7、下列类的定义中,错误的是( B )。 A、class y{ .... } B、public x extends y{ .... } C、public class x extends y{ .... } D、class x extends y implements y1{ .... } 8、执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。 A、1与1 B、2与1 C、1与2 D、2与2 9、为了区分重载多态中同名的不同方法,要求( C )。 A、调用时用类名或对象名做前缀 B、返回值类型不同 C、形式参数个数或者类型不同 D、形式参数名称不同 10、定义类头时能使用的修饰符是( C )。 A、private B、static C、protected D、abstract 11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,错误是( D )

java语言程序设计课后习题答案

习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; =str2); ; public class Exercise51{ public static void main(String[] args) throws IOException{ "请输入一个整数:"); InputStreamReader isStream=new InputStreamReader; BufferedReader bfReader=new BufferedReader(isStream); String input=(); int length=()-1; int n=new Integer(input).intValue(); while(length>=0){ int divisor=(int) (10,length); length=length-1; int output=n/divisor; n=n%divisor; ","); } } } 法二:(建议使用) public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; thousand=n/1000%10; hundred=n/100%10; decimal=n/10%10; unit=n%10; "1678包含的数字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } ;

相关文档