2016年計(jì)算機(jī)二級(jí)考試JAVA預(yù)測(cè)練習(xí)試題

字號(hào):

一、選擇題(每小題1分,共40小題,共40分)
    1.下列敘述中正確的是( )。
    A.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的
    B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)
    C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)
    D.上述三種說(shuō)法都不對(duì)
    2.下列敘述中正確的是( )。
    A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
    B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
    C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
    D.上述三種說(shuō)法都不對(duì)
    3.軟件測(cè)試目的是( )。
    A.評(píng)估軟件可靠性
    B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤
    C.改正程序中的錯(cuò)誤
    D.發(fā)現(xiàn)程序中的錯(cuò)誤
    4.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是( )。
    A.軟件過(guò)程不規(guī)范
    B.軟件開發(fā)生產(chǎn)率低
    C.軟件質(zhì)量難以控制
    D.軟件成本不斷提高
    5.軟件生命周期是指( )。
    A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
    B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程
    C.軟件的開發(fā)過(guò)程
    D.軟件的運(yùn)行維護(hù)過(guò)程
    6.面向?qū)ο蠓椒ㄖ?,繼承是指( )。
    A.一組對(duì)象所具有的相似性質(zhì)
    B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)
    C.各對(duì)象之間的共同性質(zhì) ,
    D.類之間共享屬性和操作的機(jī)制
    7.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是( )。
    A.記錄長(zhǎng)度
    B.文件的大小
    C.聯(lián)系的復(fù)雜程度
    D.數(shù)據(jù)之間的聯(lián)系方式
    8.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是( )。
    A.一對(duì)一
    B.一對(duì)多
    C.多對(duì)多
    D.多對(duì)一
    9.數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是( )。
    A.內(nèi)模式
    B.概念模式
    C.外模式
    D.設(shè)計(jì)模式
    11.下列關(guān)于順序存儲(chǔ)結(jié)構(gòu)的敘述中,錯(cuò)誤的是( )。
    A.存儲(chǔ)密度大
    B.某些非線性結(jié)構(gòu)也可以采用順序方法存儲(chǔ)
    C.結(jié)點(diǎn)中只有自身信息域,沒有鏈接信息域
    D.便于進(jìn)行插入、刪除等運(yùn)算操作
    12.有下三角矩陣A[0…10,0…10],按行優(yōu)先順序存放其非零元素,每個(gè)非零元素占兩個(gè)字節(jié),存放的基地址為100,則元素A[5,53的存放地址為( )。
    A.110
    B.120
    C.130
    D.140
    13.設(shè)數(shù)組data[0…m]作為循環(huán)隊(duì)列S q的存儲(chǔ)空間,front為隊(duì)頭指針,rear為隊(duì)尾指針,則執(zhí)行出隊(duì)操作的語(yǔ)句為( )。
    A.S q↑.front:=S q十.front+1;
    B.S q↑.front:=(S q十.front+1)%maxsize;
    C.S q↑.rear:=(s q十.rear+1)%maxsize;
    D.S q↑.front:=(s q十.front+1)%(maxsize+1);
    14.如果入棧序列為CEDB,以下哪一個(gè)是從棧中刪除元素的序列?( )
    A.BED
    B.BDE
    C.BEDC
    D.BDEC
    15.設(shè)待排序關(guān)鍵碼序列為(25,18,9,33,67,82,53,95,12,70),要按關(guān)鍵碼值遞增的順序進(jìn)行排序,采取以第一個(gè)關(guān)鍵碼為分界元素的快速排序法,第一趟排序完成后關(guān)鍵碼95被放到第( )個(gè)位置。
    A.7 B.8
    C.9 D.10
    16.下列特點(diǎn)中不屬于Java的是( )。
    A.多線程
    B.多重繼承
    C.跨平臺(tái)
    D.動(dòng)態(tài)性
    17.Java的反匯編命令是( )。
    A.javap
    B.javac
    C.jdb
    D.java
    18.下列變量定義中,不合法的是( )。
    A.int SX;
    B.int_123;
    C.int Summer 2010_gross_sale;
    D.int#dim;
    19.下列選項(xiàng)中為單精度數(shù)的是( )。
    A.2 B.5.2
    C.0.2f D.023
    20.下列關(guān)于boolean類型的敘述中,正確的是( )。
    A.可以將boolean類型的數(shù)值轉(zhuǎn)換為int類型的數(shù)值
    B.可以將boolean類型的數(shù)值轉(zhuǎn)換為字符串
    C.可以將boolean類型的數(shù)值轉(zhuǎn)換為char類型的數(shù)值
    D.不能將boolean類型的數(shù)值轉(zhuǎn)換為其他基本數(shù)據(jù)類型
    21.若定義int a=2,b一2,下列表達(dá)式中值不為4的是( )。
    A.a*(++b)
    B.a*(b++)
    C.a+b
    D.a*b
    22.下列可以獲得構(gòu)件前景色的方法是( )。
    A.getsize()
    B.getForeground()
    C.getBackground()
    D.paint()
    23.下列程序的運(yùn)行結(jié)果是( )。
    public class test{
    private String[]data={¨10","10.5");
    public void fun(){
    double s=0:
    for(int i=0;i<3;j++){
    try{
    s=s+Integer.parseInt(data[i]);
    catch(Exception e){
    System.out.print("errorl:"+data[i]);
    }
    }
    }
    public static void main(string[]args){
    try{
    test d=new test():
    d.fun():
    }catch(Exception e){
    System.OUt.println("error2")
    }
    }
    }
    A.errorl:10.5 B.error2
    C.errorl:10.5 error2 D.以上都不對(duì)
    24.下列程序片段中,能通過(guò)編譯的是( )。
    A.public abstract class Animal{
    public void speak();}
    B.public abstract class Animal{
    public vold speak()();}
    C.public class Animal{
    pubilc abstract void speak();}
    D.public abstract class Animal{
    pubilc abstract void speak()();}
    25.下列不屬于接口WindowListener的方法是( )。
    A.windowClosing()
    B.windowClosed()
    C.windowMinimized()
    D.windowOpened()
    26.下列選項(xiàng)中,不能輸出100個(gè)整數(shù)的是( )。
    A.for(int i=0;i<100;i++)
    System.out.println(i);
    B.int i=0;
    do{
    System.out.println(i);
    i++:
    }while(i<100);
    C.int i=0:
    while(i<100){
    System.out.println(i);
    i++:
    }
    D.int i=0:
    while(i<100){
    i++:
    if(i<100)continue:
    System.out.println(i);
    }
    27.類變量必須帶有的修飾符是( )。
    A.static
    B.final
    C.public
    D.volatile
    28.下列選項(xiàng)中屬于字符串常量的是( )。
    A.·abc·
    B."abe"
    C.[abc]
    D.(abc)
    29.Java程序默認(rèn)引用的包是( )。
    A.java.text包 B.java.awt包
    C.java.lang包D.java.util包
    30.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
    ObjectInputStream In=
    new (new FilelnputStream("employee.
    doc"));
    Employee[]newstaff=(Employee[])in.readObject
    ();
    In.close();
    A.Reader
    B.InputStream
    C.Objectlnput
    D.ObjectlnputStream
    31.下列代碼將對(duì)象寫入的設(shè)備是( )。
    ByteArrayOutputStream bout=new ByteArrayOut-
    putStream();
    ObjectOutputStream out=new ObjectOutputStream
    (bout);
    out.writeObject(this);
    out.close();
    A.內(nèi)存
    B.硬盤
    C.屏幕
    D.網(wǎng)絡(luò)
    32.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
    int[]numbers=new int[n];
    for(int i=0;i  numbers[i]=i+1:
    A.size B.length
    C.dimension D.measurement
    33.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
    abstract class person{
    public Person(String n){
    name = n:
    }
    public String getDescription();
    public String getName(){
    return name;
    }
    private string name;
    }
    A.static
    B.private
    C.abstract
    D.final
    34.下列能夠正確創(chuàng)建線程的方法是(. )。
    Ⅰ.繼承java.lang.Thread類,并重寫run()方法
    Ⅱ.繼承java.lang.Runnable類,并重寫start()方法
    Ⅲ.實(shí)現(xiàn)java.1ang.Thread接口,并實(shí)現(xiàn)run()方法
    IV.實(shí)現(xiàn)java.lang.Runable接口,并實(shí)現(xiàn)run()方法
    A.Ⅰ,Ⅲ B.Ⅱ,IV
    C.Ⅱ,Ⅲ D.I,IV
    35.下列線程狀態(tài)轉(zhuǎn)換序列,在線程實(shí)際運(yùn)行中可能出現(xiàn)的序列是( )。
    A.新建→運(yùn)行→阻塞→終止
    B.……運(yùn)行→阻塞→可運(yùn)行→終止
    C.……可運(yùn)行→運(yùn)行→阻塞→運(yùn)行……
    D.新建→可運(yùn)行→運(yùn)行→阻塞→可運(yùn)行……
    36.為了支持壓棧線程與彈棧線程之間的交互與同步,應(yīng)
    在下畫線處填入的選項(xiàng)是( )。
    public class StackTest{
    private int idx=0;
    private int[]data=new int[8]
    public void push(int i){
    synchronized(this){
    ;
    data(idx)=i:
    idx++:
    }
    }
    }……
    A.this.notify()
    B.interrupt()
    C.this.wait()
    D.sleep()
    37.對(duì)下列程序的敘述中,正確的是( )。
    1)public class X extends Thread implements Runnable{
    2)public void run(){
    3)system.out.println("this is run()");
    4)}
    5)public static void main(String args[]){
    6)Thread t=new Thread(new X());
    7)t.start();
    8)}
    9)}
    A.第l行會(huì)產(chǎn)生編譯錯(cuò)誤
    B.第6行會(huì)產(chǎn)生編譯錯(cuò)誤
    C.第6行會(huì)產(chǎn)生運(yùn)行錯(cuò)誤
    D.程序正常運(yùn)行
    38.下列關(guān)于Applet的敘述中,正確的是( )。
    A.Applet不僅可以嵌入到瀏覽器中運(yùn)行,還可以獨(dú)立運(yùn)行
    B.Applet的主類要定義為Applet類或JApplet類的子類
    C.同一個(gè)頁(yè)面中的Applet之間不能通信
    D.Applet不支持多線程
    39.當(dāng)一個(gè)Applet所在的Web頁(yè)面被其他頁(yè)面覆蓋后,不可能被調(diào)用的Applet方法是( )。
    A.destroy()
    B.init()
    C.stop()
    D.start()
    二、基本操作題(共18分)
    本題分別比較兩個(gè)字符串"A"和"a"是否相等,并比較兩個(gè)字符"A"和"a"是否相等,并輸出比較結(jié)果。
    public class javal{
    public static void main(String[]args){
    ;
    cl=’A ’;c2=’a’;
    String strl=new String("A"),str2=new String
    ("a"):
    if( )
    System.Out.println("char"+c1+"equals"+"char"
    +c2);
    else
    System.OUt.println("char"+cl+"doesn’t equal
    "+"char"+c2);
    if( )
    System.out.println("string"+strl+"equals"+
    "string"+str2):
    else
    System.OUt.println("string"+strl+"doesn’t e-
    qual"+"string"+str2); .
    }
    }
    三、簡(jiǎn)單應(yīng)用題(共24分)
    本題是一個(gè)Applet,頁(yè)面上有一個(gè)按鈕“請(qǐng)單擊”,單擊該按鈕后彈出一個(gè)對(duì)話框,對(duì)話框上有三個(gè)按鈕“橙色”、“藍(lán)色”和“紅色”,單擊其中任意一個(gè)按鈕,則可以將對(duì)話框的背景色設(shè)置為按鈕名稱所對(duì)應(yīng)的顏色。
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class java2 extends JApplet
    {
    private JFrame framet;
    ()
    {
    frame=new JFrame();
    frame.setTitle("java2");
    frame.setSize(300,200);
    frame.getContentPane().add(new ButtonPanel
    ());
    JButton PopButton=new JButton("請(qǐng)單擊");
    getContentPane().add(PopButton);
    PopButtom addActionListener(new ActionListener();
    {
    public void actionPerformed(ActionEvent evt)
    {
    if(frame.isVisible())frame.setVisible(false);
    else ;
    }
    });
    }
    }
    class ButtonPanel extends JPanel
    {
    private class ColorAction implements ActionLis-
    tener
    {
    private Color backgroundColor;
    public void actionPerformed(ActionEvent action-
    event)
    {
    setBackground(backgroundColor);
    repaint();
    }
    public ColorAction(Color color)
    {
    backgroundColor=color;
    }
    }
    public ButtonPanel()
    {
    JButton jbutton=new JButton("橙色");
    JButton jbuttonl=new JButton("藍(lán)色");
    JButton jbutton2=new JButton("紅色");
    add(jbutton);
    add(jbuttonl);
    add(jbutton2);
    ColorAction coloraction=new ColorAction(Color.orange);
    ColorAction coloractionl=new ColorAction(Color.blue);
    ColorAction coloraetion2=new ColorAction(Color.red);
    ibutton.addActionListener(coloraction);
    ibuttonl.addActionListener(coloractionl);
    jbutton2.addActionListener(coloraction2);
    }
    }
    四、綜合應(yīng)用題(共18分)
    本題的功能是用按鈕來(lái)控制文本框中文本的顏色。窗口中有兩個(gè)帶有文字標(biāo)題的面板“Sample text”和“Text color control”,窗口的底部還有一個(gè)復(fù)選按鈕“Disable changes”。在“Sample text”面板中有一個(gè)帶有字符串的文本框,而在“Text color control”面板中有三個(gè)按鈕:“Black”、“Red”和“Green”,并且每個(gè)按鈕上都有一個(gè)對(duì)應(yīng)顏色的圓。單擊任意按鈕,文本框中的文本變成對(duì)應(yīng)的顏色,如果選中“Disable changes”復(fù)選項(xiàng),則三個(gè)顏色按鈕變?yōu)椴豢捎?,如果取消選中復(fù)選項(xiàng),則三個(gè)按鈕變?yōu)榭捎谩?BR>    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class java3 extends JFrame{
    private JPanel upper,middle,lower;
    private JTextField text;
    private JButton black,red,green;
    private JCheckBox disable;
    public java3(String titleText){
    super(titleText);
    addWindowListener(new WindowAdapter(){
    public void
    windowClosing(WindowEvent e){
    System.exit(0);
    }
    }
    );
    upper=new JPanel();
    upper.setBorder(BorderFactory.ereateTitledBor-
    der("Sample text"));
    upper.setlayout(new BorderLayout());
    text=new JTextField("Change the color of this
    text"):
    upper.add(text,BorderLayout.CENTER);
    middle=new JPanel();
    middle.setBorder(BorderFactory.createTitledBor-
    der("Text color control"));
    middle.setLayout(new FlowLayout(FlowLayout.
    CENTER)):
    black=new JButton("Black",new ColorIcon
    (Color.black));
    black.addActionListener( new ButtonListener
    (Color.black));
    middle.add(black);
    red=new JButton("Red",new ColorIcon(Col-
    or.red));
    red.addActionListener(new ButtonListener(Col-
    or.red));
    middle.add(red);
    green=new JButton("Green",new ColorIcon
    (Color.green));
    green.addActionListener(new ButtonListener
    (Color.green));
    middle.add(green);
    lower=new JPanel();
    lower.setLayout(new FlowLayout(FlowLayout.
    RIGHT));
    disable=new JCheckBox("Disable changes"):
    disable.addItemListener(new ItemListener()(
    public void itemStateChanged(ItemEvent e){
    boolean enabled
    =(e.getStateChange()
    = =ItemEvent.DESELECTED):
    black.setEnabled(enabled);
    red.setEnabled(enabled);
    green.setEnabled(enabled);
    }
    }
    );
    lower.add(disable);
    Container cp=getContentPane();
    cp.add(upper,BorderLayout.NORTH);
    cp.add(middle,BorderLayout.CENTER);
    cp.add(10wer,BorderLayout.SoUTH);
    pack();
    setVisible(true);
    }
    class ButtonListener extends ActionListener{
    private Color c;
    public ButtonListener(Color c){
    this.c=c;
    }
    public void actionPerformed(ActionEvent e){
    text.setForeground(c);
    }
    }
    class ColorIcon implements Icon{
    private Color c;
    private static final int DIAMETER=10;
    public ColorIcon(Color c){
    c=c;
    }
    public void paintlcon(Component cp,Graphics g,
    int x,int y){
    g.setColor(c);
    g.fillOval(X,y,DIAMETER,DIAMETER);
    g.setColor(Color.black);
    g.drawOval(x,y,DIAMETER,DIAMETER);
    }
    public int getlconHeight(){
    return DIAMETER;
    }
    public int getlconWidth(){
    return DIAMETER;
    }
    }
    public static void main(String[]args){
    new java3("advance");
    }
    }