java模拟试卷一及参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.单项选择题(30分)
11.以下的选项中能正确表示Java语言中的一个整型常量的是__________。
A) 12. B) -20 C) 1,000 D) 4 5 6
12.以下选项中,合法的赋值语句是__________。
A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i );
13.若所用变量都已正确定义,以下选项中,非法的表达式是__________。
A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32
14.若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是__________。
A) 0 B) 4 C) 8 D) -4
15.设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是
__________。
A) 定义了一个名为a的一维数组B) a数组有3个元素
C) a数组的下标为1~3 D)数组中的每个元素是整型
16.若a和b均是整型变量并已正确赋值,正确的switch语句是__________。
A) switch(a+b);B) switch( a+b*3.0 )
{ ...... } { ...... }
C) switch a D) switch ( a%b )
{ ...... } { ...... }
17.下列语句序列执行后,x 的值是__________。
int a=3, b=4, x=5;
if( ++a<b ) x=x+1;
A) 5 B) 3 C) 4 D) 6
18.下列语句序列执行后,k 的值是__________。
int i=6, j=8, k=10, n=5, m=7;
if( i<j || m<n ) k++; else k--;
A) 9 B) 10 C) 11 D) 12
19.下列语句序列执行后,r 的值是__________。
char ch='8'; int r=10;
switch( ch+1 )
{ case '7': r=r+3;
case '8': r=r+5;
case '9': r=r+6; break;
default: ;
}
A) 13 B) 15 C) 16 D) 10
20.下列语句序列执行后,j 的值是__________。
int j=0;
for( int i=3; i>0; i-- ) j+=i;
A) 3 B) 4 C) 5 D) 6
21.下列语句序列执行后,j 的值是__________。
int j=9, i=6;
while( i-- >3 ) --j;
A) 5 B) 6 C) 7 D) 8
22.下列语句序列执行后,i的值是__________。
int i=10;
do { i-=2; } while( i>6 );
A) 10 B) 8 C) 6 D) 4
23.为了区分重载多态中同名的不同方法,要求__________。
A) 采用不同的形式参数列表B) 返回值类型不同
C) 调用时用类名或对象名做前缀D) 参数名不同
24.定义主类的类头时可以使用的访问控制符是__________。
A) private B) protected C) public D) private protected
25.下列整型的最终属性i 的定义中,正确的是__________。
A) static final int i=100; B) final i;
C) static int i; D) final float i=1.2f;
26.设X,Y 均为已定义的类名,下列声明对象x1的语句中正确的是__________。
A) public X x1= new Y( ); B) X x1=Y( );
C) X x1=new X( ); D) int X x1;
27.下列方法定义中,正确的是__________。
A) int x( int a,b ) B) double x( int a,int b)
{ return (a-b); } { int w; w=a-b; }
C) double x( a,b ) D) int x( int a,int b)
{ return b; } { return a-b; }
28.能构成多分支的语句是__________。
A) for 语句B) while 语句
C) switch 语句D) do - while 语句
29.下列程序段执行后t1的结果是__________。
int x1 = 9, x2 = 6, t1;
t1 = x1 > x2 ? x1 : x2;
A) 6 B) 9 C) 11 D) 3
30.对于一个三位正整数n,取出它的十位数字k(k为整型)的表达式是
__________。
A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10
C) k = n % 10 D) k = n / 10
31.现有一变量声明为boolean aa;下面赋值语句中正确的是__________。
A)aa=false; B)aa=False; C)aa="true"; D)aa=0;
32.为了定义三个整型数组a1、a2、a3,下面声明正确的语句是__________。
A)intArray [] a1,a2; B)int [] a1,a2;
int a3[]={1,2,3,4,5}; int a3[]={1,2,3,4,5};
C)int a1,a2[]; D)int [] a1,a2;
int a3={1,2,3,4,5}; int a3=(1,2,3,4,5);
33.以下for循环的执行次数是__________。
for(int x=0,y=0;(y!=0)&&(x<4);x++);
A)无限次B)一次也不执行
C)执行4次D)执行3次
34.为了使包sos在当前程序中可见,可以使用的语句是__________。
A)import sos.*; B)package sos.*;
C)sos import; D)sos package;
35.以下哪个方法仅在applet程序被创建和首次被载入支持Java的浏览器时被调用__________。
A)paint() B)init() C)action() D)start()
36.在某个类A中存在一个方法:void GetSort(int x),以下能作为这个方法的重载的声明的是__________。
A)Void GetSort(float x) B)int GetSort(int y)
C)double GetSort(int x,int y) D)void Get(int x,int y)
37.有一个类A,以下为其构造方法的声明,其中正确的是__________。
A)void A(int x){...} B)A(int x){...}
C)a(int x){...} D)void a(int x){...}
38.若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是
__________。
A)它们的返回值类型的不同B)它们的名称的不同
C)它们的参数表的不同D)它们的修饰符不同
39.下面是有关子类继承父类构造方法的描述,其中正确的是__________。
A) 创建子类的对象时,先调用子类自己的构造方法,然后调用父类的构造方法。
B) 子类无条件地继承父类不含参数的构造方法。
C) 子类必须通过super关键字调用父类的构造方法。
D) 子类无法继承父类的构造方法。
40.下面说法正确的是__________。
A) final可修饰类、属性、方法。
B) abstract可修饰类、属性、方法。
C) 定义抽象方法需有定义方法的返回类型、名称、参数列表和方法体。
D) 用final修饰的变量,在程序中可对这个变量的值进行更改。
二、填空题(每空2分,共20分)
1.在Java语言中,逻辑常量只有true 和___________ 两个值。
2.表达式1/2*3的计算结果是_________。
3.以下方法fun的功能是求两参数之和。
int fun ( int a, int b )
{ __________________; }
4.面向对象技术中的对象具有状态,行为和_________等三个基本属性。
5.面向对象程序设计方法最重要的特性是继承、封装和__________。
6.定义一个类包括定义类头和定义_______两个部分。
7.使用一个对象前,必须声明并___________它。
8.数组、堆栈、________和链表都是线性数据结构。
9.执行以下程序段后:a = ________, b = ________ 。
int a = 5, b;
b = ++a * 3;
三、阅读程序,写出运行结果(每小题5分,共20分)
[程序1]//A.java
class A
{
class Dog
{
private String name;
private int age;
public int step;
Dog(String s,int a)
{
name=s;
age=a;
step=0;
}
public void run(Dog fast)
{
fast.step++;
}
}
public static void main (String args[])
{
A a=new A();
Dog d=a.new Dog("Tom",3);
d.step=25;
d.run(d);
System.out.println(d.step);
}
}
[程序2]//A.java
public class A
{
public static void main(String[] args)
{
int nNum1 = 6;
int nNum2 = 8;
System.out.println(); //nNum1不自加短路原则
System.out.println(((nNum1 < nNum2) && (--nNum1) > nNum2));
System.out.println("nNum1 is " + nNum1);
System.out.println(((nNum1 < nNum2) && (--nNum1) > nNum2));
System.out.println("nNum1 is " + nNum1);
}
}
[程序3]//MyFirst.java
public class MyFirst
{
public static void main(String args[])
{
int x = 1,y,total = 0;
while(x <= 20)
{
y = x * x;
System.out.println("y = " + y);
total = total + y;
++x;
}
System.out.println("Total is " + total);
}
}
[程序4]
import java.util.*;
public class A
{
public static void main(String args[])
{
Vector vector = new Vector();
for(int i = 0; i < 6; i++)
{
vector.add(" element " + i);
}
vector.remove( 1 );
vector.remove( 3 );
System.out.println(vector);
}
}
四、编程题(共20分)
1.编写一个输出"Hello World!"的程序,用两种方式实现(application、applet)2.打印输出10行杨晖三角形
3.编写一个Swing界面程序,要求有一个按钮和一个文本输入框。
当点击按钮时,输出文本输入框的内容
模拟试卷一答案
一、单项选择题(30分)
(11-15)BBCDC
(16-20)DACCD
(21-25)BCACD
(26-30)CDCBA
(31-35)ABBAB
(36-40)CBCBA
二、填空题(每空2分,共20分)
1、false
2、0
3、return a+b;
4、标志
5、多态
6、类体
7、创建
8、队列
9、6,18
三、阅读程序,写出运行结果(每小题5分,共20分)[程序1]
26
[程序2]
false
nNum1 is 5
false
[程序3]
y = 1
y = 4
y = 9
y = 16
y = 25
y = 36
y = 49
y = 64
y = 81
y = 100
y = 121
y = 144
y = 169
y = 196
y = 225
y = 256
y = 289
y = 324
y = 361
y = 400
Total is 2870
[程序4]
[ element 0, element 2, element 3, element 5]
四、编程题(共20分)
1.编写一个输出"Hello World!"的程序,用两种方式实现(application、applet)(1) //application方式实现
public class App
{
public static void main(String args[])
{
System.out.println("Hello java!");
}
}
(2) //applet方式实现
import java.awt.*;
import java.applet.*;
public class App extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello Java!!",50,50);
}
}
2.打印输出10行杨晖三角形
import java.util.*;
public class A{
public static void main(String args[])
{
int i,j;
int a[][]=new int[11][11];
for(i=0;i<11;i++)
a[i][0]=1;
for(i=1;i<11;i++)
for(j=1;j<i+1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
{for(j=0;j<i+1;j++)
System.out.print(a[i][j]+"\t");
System.out.println();}
}
}
3.编写一个Swing界面程序,要求有一个按钮和一个文本输入框。
当点击按钮时,输出文本输入框的内容。
//DialogExample.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class DialogExample
{
public static void main(String[] args)
{
DialogFrame frame = new DialogFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class DialogFrame extends JFrame
{
public DialogFrame()
{
setTitle("DialogExample");
setSize(WIDTH, HEIGHT);
Container contentPane = getContentPane();
txt=new JTextField("asesadfjaklsd");
JPanel buttonPanel = new JPanel();
btr1 = new JButton("显示");
btr1.addActionListener(new pushAction());
buttonPanel.add(txt);
buttonPanel.add(btr1);
contentPane.add(buttonPanel,BorderLayout.SOUTH);
}
//实现事件监听器
private class pushAction
implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
System.out.println(txt.getText());
}
}
public static final int WIDTH = 200;
public static final int HEIGHT = 120;
private JButton btr1;
private JTextField txt;
}。