装 : 号学订: 名姓线 : 级班
江苏理工学院2012—2013学年第2学期 《Java编程基础》试卷(A)答案
注意事项:
1.本试卷适用于2009级信息管理专业和2009级软件工程重修学生使用。 2.本试卷共9页,满分100分,答题时间120分钟。 题号 一 二 三 得分 四 总分 得分 评卷人 一、单项选择题(本题共25题,每题2分,共50分)
1.下列语句编译不会出错或警告的是( A )。
A. int i=10; B. char c=\ C. byte b=257; D. boolean b=null; 2.byte型数据表示的数值范围为( A )。
A. -128 to 127 B. -28-1 ~ 28 C. -255 to 256 D.由特定Java虚拟机确定 3.下列不属于Java中的关键字或保留字的是( B )。 A. if B. then C. goto D. while 4.下列属于非法标识符的是( A )。
A.2variable B.variable2 C. _whatavariable D.$anothervar 5.下列代码在编译运行过程中会出现的结果是( D )。 public class MyClass{ static int i;
public static void main(String argv[]){ System.out.println(i); } }
A.错误,因为变量i没有初始化 B. null C. 1 D. 0 6.下列代码在编译运行过程中会产生的结果是( B )。 String s=new String(\int iBegin=1; char iEnd=3;
System.out.println(s.substring(iBegin,iEnd));
A. Bic B. ic C. icy D. 错误: 没有与substring(int,char)匹配的方法
7.下列代码在编译运行过程中会出现的结果是( D )。 public class Q {
public static void main(String argv[]){ double anar[]=new double[5]; System.out.println(anar[0]); } }
《Java编程基础》试卷 第 1 页 共 11 页
A.错误,anar初始化前被引用 B.null C. 5 D. 0.0 8.下列代码在编译运行过程中会产生的结果是( C )。 abstract class MineBase { abstract void amethod(); static int i; }
public class Mine extends MineBase {
public static void main(String argv[]){ int[] ar=new int[5];
for(i=0;i
A. 00000 B. 错误,因为ar初始化前被使用
C. 错误,因为Mine没有声明为abstract,未覆盖MineBase中的amethod D. 下标越界
9.下列代码在编译运行后输出的结果是( D )。 int i=1;
switch (i) { case 0:
System.out.println(\break; case 1:
System.out.println(\case 2:
System.out.println(\default:
System.out.println(\}
A. one B. one, two C. default D. one, two, default 10.编译运行下列代码时得到的结果是( C )。 public class Tux extends Thread{
static String sName = \
public static void main(String argv[]){ Tux t = new Tux(); t.piggy(sName);
System.out.println(sName); }
public void piggy(String sName){ sName = sName + \start(); }
public void run(){
for(int i=0;i<4; i++){
《Java编程基础》试卷 第 2 页 共 11 页
sName = sName + \} } }
A. 编译出错 B.\
C. \ D. \11.编译运行下列代码时显示的结果是( C )。 import java.awt.*;
public class Butt extends Frame{
public static void main(String argv[]){ Butt MyBut=new Butt(); }
Butt(){
setLayout(new BorderLayout());
Button HelloBut=new Button(\Button ByeBut=new Button(\add(HelloBut, BorderLayout.NORTH); add(ByeBut, BorderLayout.SOUTH); setSize(300,300); setVisible(true); } }
A.两按钮占据整个框架,左边为Hello,右边为Bye B. Bye 按钮占据整个框架 C.两按钮位于框架上下方,上边为Hello,下边为Bye D. Hello按钮占据整个框架 12.下列代码在编译运行过程中会产生的结果是( C )。 Integer ten=new Integer(10); Long nine=new Long (9);
System.out.println(ten + nine); int i=1;
System.out.println(i + ten);
A. 19 B. 10 C. 19 D.错误:不能转换整型数 20 11 11
13.下列代码在编译运行过程中会出现的结果是( D )。 public class Q {
public static void main(String argv[]){ int anar[]=new int[]{1,2,3}; System.out.println(anar[2]); } }
A. 1 B.错误,因为anar初始化前被引用 C. 错误,因为数组大小必须确定 D. 3
14.在含有\的字符串s中找到字母v的位置(即2),应该使用的语句是( C )。 A. mid(2,s); B. charAt(2); C. s.indexOf('v'); D.indexOf(s,'v'); 15.假定有如下声明
String s1=new String(\String s2=new String(\
《Java编程基础》试卷 第 3 页 共 11 页
String s3=new String();
则下列语句中,合法的是( A )。
A. s3=s1 + s2; B. s3=s1-s2; C. s3=s1 & s2; D. s3=s1 && s2 16.下列代码在编译运行过程中会产生的结果是( C )。 A.编译通过,run方法会输出i的增值 B.编译时代码出错
C.编译通过,调用start会输出i的增值 D.编译器出错,因while没有得到真(true)参数 class Background implements Runnable{ int i=0;
public void run(){ while(true){ i++;
System.out.println(\} //End while }//End run }//End class
17.给定如下代码设置frame颜色为粉色(pink)的是( D )。 import java.awt.*;
public class SetF extends Frame{
public static void main(String argv[]){ SetF s=new SetF(); s.setSize(300,200); s.setVisible(true); } }
A. s.color=Color.pink B. s.setColor(PINK);
C. s.Background(pink); D. s.setBackground(Color.pink); 18.试图编译运行如下代码时会出现( A )。 public class Conv{
public static void main(String argv[]){ Conv c=new Conv();
String s=new String(\c.amethod(s); }
public void amethod(String s){ String c=\c=c+s;
System.out.println(c); } }
A. 编译通过,并输出\ B. 编译通过,并输出\C. 编译通过,并输出elloH D. 编译时错
19.给定如下代码,能让Base constructor输出字符串\的是( D class Base{ Base(int i){
《Java编程基础》试卷 第 4 页 共 11 页
)。
System.out.println(\}
Base(){ } }
public class Sup extends Base{
public static void main(String argv[]){ Sup s= new Sup(); //One }
Sup() {
//Two }
public void derived() {
//Three } }
A. 在//One处放置Base(10); B. 在//One处放置super(10); C. 在// Three处放置super(10); D. 在//Two处放置super(10); 20.给定如下代码,其输出是( C )。 public class Pass{ static int j=20;
public static void main(String argv[]){ int i=10;
Pass p = new Pass(); p.amethod(i);
System.out.println(i); System.out.println(j); }
public void amethod(int x){ x=x*2; j=j*2; } }
A. 10, and 20 B. 20 and 40 C. 10 and 40 D. 错误,因为amethod参数与变量不匹配
21.在同一目录下存放有这些文件,如果Base.java文件没有编译,则试图编译和运行Class1.java时出产生( D )。 //Base.java package Base; class Base{
protected void amethod(){
System.out.println(\}//End of amethod
《Java编程基础》试卷 第 5 页 共 11 页