A)true,6,8B)false,7,7
C)true,7,7D)false,6,8
7.下面的程序段输出的变量b的值是(B)。
inta=0xFFFFFFFE;
intb=~a;
System.out.println("b="+b);
A)0xFFFFFFFEB)1C)14D)-2
8.若a和b均是整型变量并已正确赋值,正确的switch语句是(A)。
A)switch(a+b);B)switch(a+b*3.0)
{……}{……}
C)switchaD)switch(a%b)
{……}{……}
9.以下由do-while语句构成的循环执行的次数是(D)。
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行1次
intk=0;
do{++k;}while(k<1);
10.执行完下面的程序段后,k的值是(B)。
intk=0;
label:
for(inti=1;i<10;i++)
{
for(intj=1;j<5;j++)
{
k+=i+j;
if(j==3)
breaklabel;
}
}
A)3B)9C)12D)6
11.下列方法x的定义中,正确的是(A)。
A)intx(){charch='a';return(int)ch;}B)voidx{...}
C)intx(inti){return(double)(i+10);}D)x(inta){returna;}
12.下列方法定义中,方法头不正确的是(D)。
A)publicintx(){...}B)publicstaticintx(doubley){...}
C)voidx(doubled)D)publicstaticx(doublea){...}
13.为了区分重载多态中同名的不同方法,要求(A)。
A)采用不同的形式参数列表B)返回值类型不同
C)参数名不同D)选项A、B、C都对
14.在某个类中定义一个方法:
voidGetSort(intx),以下能作为这个方法的重载的是(ABCD)。
A.voidGetSort(floatx){x*=x;}
B.intGetSort(doubley){return(int)(2*y);}
C.doubleGetSort(intx,inty){returnx+y;}
D.voidGetSort(intx,inty){x=x+y;y=x-y}
15.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9};
则对a数组元素正确的引用是(B)。
A)a[-3]B)a[9]C)a[10]D)a(0)
16.下面是在命令行运行Java应用程序A,怎样才能在main(Stringargs[])方法中访问单词"first"(BD)?
javaAthefirstsnow,thefirstsnowcame.
A)args[0]B)args[1]C)args[2]D)args[5]
2.判断一个数是否是回文数。
根据/**/中的注释将下面的程序补充完整,使之编译通过并能正确运行。
importjava.awt.*;
importjavax.swing.JOptionPane;
publicclassPalindrome{
//mainmethodbeginsexecutionofJavaapplication
publicstaticvoidmain(Stringargs[])
{
StringresultString;//resultString
intnumber;//userinputnumber
intoriginalNumber;//storesoriginalvalueinnumberforoutput
intdigit1;//firstdigit
intdigit2;//seconddigit
intdigit4;//fourthdigit
intdigit5;//fifthdigit
intdigits;//numberofdigitsininput
number=0;
digits=0;
/*Writecodethatinputsafive-digitnumber.Displayanerrormessage
ifthenumberisnotfivedigits.Loopuntilavalidinputisreceived.*/
/*Writecodethatseparatesthedigitsinthefivedigitnumber.Use
divisiontoisolatetheleft-mostdigitinthenumber,usearemainder
calculationtoremovethatdigitfromthenumber.Thenrepeatthis
process.StoretheoriginalvalueofnumberinvariableoriginalNumber
beforeperformingcalculations.*/
/*Writecodethatdetermineswhetherthefirstandlastdigitsare
identicalandthesecondandfourthdigitsareidentical.Assign
resultStringastringindicatingwhetherornottheoriginalstring
isapalindrome.*/
/*Displaywhetherornotthegivennumberisapalindrome.*/
System.exit(0);
}//endmethodmain
}//endclassPalindrome
第3章类、类的继承和接口
一.概念复习和巩固(请在课后和上机前完成下面的练习)
3.下列选项中,用于在定义类头时声明父类名的关键字是(D)。
A)packageB)interfaceC)classD)extends
4.定义类头时可以使用的访问控制符是(CD)。
A)privateB)protected
C)publicD)缺省的,即没有访问控制修饰符
5.有一个类A,对于其构造函数的声明正确的是(B)。
A)voidA(intx){...}B)A(intx){...}
C)AA(intx){...}D)intA(intx){...}
7.设类B是类C的父类,下列声明对象x1的语句中不正确的是(D)。
A)Bx1=newB();B)Bx1=newC();
C)Cx1=newC();D)Cx1=newB();
8.编译运行下面的程序,结果是(A)。
publicclassA{
publicstaticvoidmain(String[]args){
Bb=newB();
this.test();
}
publicvoidtest(){
System.out.print("A");
}
}
classBextendsA{
voidtest(){
super.test();
System.out.println("B");
}
}
A)产生编译错误,因为类B覆盖类A的方法test()时,降低了其访问控制的级别。
B)代码可以编译运行,并输出结果:
AB。
C)代码可以编译运行,但没有输出。
D)代码可以编译运行,并输出结果:
A。
9.下面的程序编译运行的结果是(A)。
publicclassAimplementsB{
publicstaticvoidmain(String[]args){
intm,n;
At=newA();
m=t.k;
n=B.k;
System.out.println(m+","+n);
}
}
interfaceB{intk=5;}
A)5,5B)0,5C)0,0D)编译程序产生编译错误
10.为了使包abc中的所有类在当前程序中可见,可以使用的语句是(A)。
A)importabc.*;B)packageabc.*;
C)importabc;D)packageabc;
2.下面的程序Complex.java定义一个复数类,ComplexTest.java测试该复数类。
根据/**/中的注释将下面的程序补充完整,使之编译通过并能正确运行。
============================
//ComplexTest.java
//TesttheComplexnumberclass
============================
importjavax.swing.*;
publicclassComplexTest{
publicstaticvoidmain(Stringargs[])
{
Complexa,b;
a=newComplex(9.9,7.7);
b=newComplex(1.4,3.1);
Stringresult="a="+a.toComplexString();
result+="\nb="+b.toComplexString();
result+="\na+b="+a.add(b).toComplexString();
result+="\na-b="+a.subtract(b).toComplexString();
JOptionPane.showMessageDialog(null,result,"ComplexTest",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
=========================
//Complex.java
//DefinitionofclassComplex
=========================
publicclassComplex{
privatedoublereal;
privatedoubleimaginary;
//Initializebothpartsto0
/*Writeheaderforano-argumentconstructor.*/
{
/*WritecodeherethatcallstheComplexconstructorthattakes2
argumentsandinitializesbothpartsto0*/
}
//Initializerealparttorandimaginaryparttoi
/*Writeheaderforconstructorthattakestwoarguments梤ealpartrand
imaginaryparti.*/
{
/*Writelineofcodethatsetsrealparttor.*/
/*Writelineofcodethatsetsimaginaryparttoi.*/
}
//AddtwoComplexnumbers
publicComplexadd(Complexright)
{
/*WritecodeherethatreturnsaComplexnumberinwhichtherealpartis
thesumoftherealpartofthisComplexobjectandtherealpartofthe
Complexobjectpassedtothemethod;andtheimaginarypartisthesum
oftheimaginarypartofthisComplexobjectandtheimaginarypartof
theComplexobjectpassedtothemethod.*/
}
//SubtracttwoComplexnumbers
publicComplexsubtract(Complexright)
{
/*WritecodeherethatreturnsaComplexnumberinwhichtherealpartis
thedifferencebetweentherealpartofthisComplexobjectandthereal
partoftheComplexobjectpassedtothemethod;andtheimaginarypart
isthedifferencebetweentheimaginarypartofthisComplexobjectand
theimaginarypartoftheComplexobjectpassedtothemethod.*/
}
//ReturnStringrepresentationofaComplexnumber
publicStringtoComplexString()
{
return"("+real+","+imaginary+")";
}
}//endclassComplex
第4章Java系统类库和常用数据结构
一.概念复习和巩固(请在课后和上机前完成下面的练习)
1.定义字符串s:
Strings=”Micrsoft公司”;执行下面的语句,c的值为(B)。
charc=s.charAt(9);
A)产生数组下标越界异常。
B)司C)nullD)