Java基础练习题附答案.docx
《Java基础练习题附答案.docx》由会员分享,可在线阅读,更多相关《Java基础练习题附答案.docx(50页珍藏版)》请在冰豆网上搜索。
Java基础练习题附答案
Java基础练习题附答案
一、简单Java程序调试
1)以下哪个是Java应用程序main方法的有效定义?
A.publicstaticvoidmain();
B.publicstaticvoidmain(Stringargs);
C.publicstaticvoidmain(Stringargs[]);
D.publicstaticvoidmain(Graphicsg);
E.publicstaticbooleanmain(Stringa[]);
2)编译和运行以下代码的结果为:
publicclassMyMain{
publicstaticvoidmain(Stringargv){
}
}
A.编译错误;
B.运行输出"Hellocruelworld";
C.编译无错,但运行时指示没有定义构造方法。
D.编译无错,但运行时指示没有正确定义main方法。
3)下列选项中不属于Java虚拟机的执行特点的一项是:
A.异常处理B.多线程C.动态链接D.简单易学
4)不属于Java语言特点的一项是:
A.分布式B.安全性C.编译执行D.面向对象
5)以下程序的运行结果为:
publicclassTest{
publicstaticvoidmain(Stringargv[]){
}
}
A.5B.x=5C."x="+5D."x="5
6)以下程序的运行结果为:
publicclassTest{
publicstaticvoidmain(Stringargv[]){
}
}
A.goodmorningB."good"+"morning"
C.goodmorningD.good+morning
二、Java符号与表达式
1)现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为:
A.int类型B.double类型C.float类型D.long类型
2)下面程序段的输出结果是:
inta=2;
A.333B.334C.234D.233
3)以下代码的输出结果?
publicclassTest{
intx=3;
publicstaticvoidmain(Stringargv[]){
intx=012;
}
}
A.12 B.012 C.10 D.3
4)下列定义语句正确的是:
A.charc="/n"; B.inti=12; C.floatf=; D.booleanb=null;
5)检查如下代码:
publicclassQuiz2_l{
publicstaticvoidmain(String[]args){
inta=8;
intb=-8;
,"+(b>>1));
}
}
下列哪条语句正确描述了程序在编译和运行时的行为?
A.编译成功,输出为“32,-4”
B.编译成功,输出为“16,4”
C.编译成功,输出为“32,”
D.编译成功,输出为“16,”
E.编泽器拒绝表达式b>>,因为不能对一个负数应用>>操作符
6)以下代码中变量result的可能类型有哪些?
byteb=11;
shorts=13;
result=b*++s;
A.byte,short,int,long,float,double
B.boolean,byte,short,char,int,long,float,double
C.byte,short,char,int,long,float,double
D.byte,short,char
E.int,long,float,double
7)以下代码的输出结果为:
A.第3行出现编译错误
B.输出23,5,5和23.
C.输出5,5,5和23.
D.输出23,5,23和23.
8)设有如下变量说明:
bytemyByte;
intmyInt;
longmyLong;
charmyChar;
floatmyFloat;
doublemyDouble;
以下赋值语句哪个需要强制转换。
A.myInt=myByte;
B.myInt=myLong;
C.myByte=3;
D.myInt=myChar;
E.myFloat=myDouble;
F.myFloat=3;
G.myDouble=;
9)考虑如下两语句:
1.booleanpassingScore=false&&grade==70;
2.booleanpassingScore=false&grade==70;
表达式grade==70在什么地方被计算
A.在1和2中均计算
B.在1和2中均未计算
C.在1中计算,在2中未计算
D.在2中计算,在1中未计算
E.非法,因为false应写FALSE
10)设有一个整数x其二进制值为用1字节表示),则执行如下语句后z的二进制值为:
inty=1<<7;
intz=x&y;
A. B. C.00000001
D. E.
11)以下哪些编译正确?
A.shortmyshort=99S;
B.Stringname='ExcellenttutorialMrGreen';
C.charc=17c;
D.intz=015;
12)以下哪些是java关键字?
A.double B.Switch C.then D.instanceof
13)以下程序行的输出结果为?
A.14B.0C.6D.12
14)设有如下变量
charc='c';
inti=10;
doubled=10;
longl=1;
Strings="Hello";
以下哪些语句编译不出错?
A.c=c+i;B.s+=i;C.i+=s;D.c+=s;
15)整型变量a,b的值定义如下:
inta=3;
intb=4;
则表达式++a==b的值为:
A.4B.falseC.3D.true
16)执行下列代码后输出结果为:
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inta=2;
intb=3;
intc=7;
intd=a>c?
a:
c;
d=d>>2>b?
d:
b;
}
}
A.2B.3C.5D.7
三、分支程序设计
1)下列语句片段的结果为
intresult;
inta=17,b=6;
result=(a%b>4)?
a%b:
a/b;
A.0 B.1C.2 D.5
2)以下程序的运行结果为:
1.publicclassConditional{
2.publicstaticvoidmain(Stringargs[]){
3.intx=4;
5.}
6.}
A.输出:
valueis
B.输出:
valueis9
C.输出:
valueis
D.在第4行出现编译错误
3)以下代码段的输出结果为
1.intx=0,y=4,z=5;
2.if(x>2){
3.if(y<5){
4.System.out.println("messageone");
5.}
6.else{
8.}
9.}
10.elseif(z>5){
12.}
13.else{
15.}
A.messageone
B.messagetwo
C.messagethree
D.messagefour
4)以下程序的输出结果为:
publicclasstest{
publicstaticvoidmain(Stringargs[]){
intx=1,y=1,z=1;
if(x--==1&&y++==1||z++==1)
}
}
A.x=0,y=2,z=1
B.x=1,y=2,z=1
C.x=0,y=1,z=1
D.x=0,y=2,z=2
5)编译和运行以下代码结果为:
1.publicclassEqualsTest{
2.publicstaticvoidmain(Stringargs[]){
3.byteA=(byte)4096;
6.}
7.}
A.在第3行出现转换丢失精度的编译错误.
B.输出"NotEqual".
C.输出"Equal".
6)关于以下程序哪条叙述正确?
1.intj=2;
2.switch(j){
3.case2:
5.case2+1:
7.break;
8.default:
10.break;
11.}
A.第5行的表达式不合法;
B.变量j是可接受的,switch中表达式可以是byte,short,int,或long的任何类型;
C.输出为valueistwo
D.输出是valueistwo后跟valueisthree
E.输出是valueistwo后跟valueis2
7)以下程序的编译运行结果为:
1:
publicclassQ10
2:
{
3:
publicstaticvoidmain(String[]args)
4:
{
5:
inti=10;
6:
intj=10;
7:
booleanb=false;
8:
9:
if(b=i==j)
11:
else
13:
}
14:
}
A.第9行出现编译错误;
B.第9行出现运行错误;
C.输出True
D.输出False
8)以下程序的编译和运行结果为?
classtest{
staticbooleancheck;
publicstaticvoidmain(Stringargs[]){
inti;
if(check==true)
i=1;
else
i=2;
if(i=2)i=i+2;
elsei=i+4;
}
}
A.3B.4C.5D.6E.语句if(i=2)编译出错
9)以下代码:
if(a>4)
elseif(a>9)
else
a为何值将有输出结果test2?
A.小于0
B.小于4
C.4和9之间
D.大于9
E.无任何可能
10)有如下代码段:
switch(x){
case2:
}
变量x的取值下列哪些情形时,能使程序输出"Two"。
A.1B.2C.3D.default
11)以下程序的输出结果为
publicclasstest{
publicstaticvoidmain(Stringagrs[]){
charc1=’B’,c2=’C’;
if(c1+1}
}
A.BB.bC.CD.c
12)假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?
A.if(a){}B.if(a<<3){}
C.if(a=2){}D.if(true){}
四、循环程序设计
1)执行以下程序后,输出结果为
publicclassex2{
publicstaticvoidmain(Stringargs[]){
intf=1;
intk;
for(k=2;k<5;k++)
f*=k;;
}
}
A.0B.1C.5D.4E.24
2)设有如下类
classLoop{
publicstaticvoidmain(String[]agrs){
intx=0;inty=0;
outer:
for(x=0;x<100;x++){
middle:
for(y=0;y<100;y++){
if(y==10){<<>>}
}
}
}
}
在<<>>处插入什么代码可以结束外循环?
A.continuemiddle;
B.breakouter;
C.breakmiddle;
D.continueouter;
E.noneofthese
3)以下代码的运行结果为:
publicclassCalc{
publicstaticvoidmain(Stringargs[]){
inttotal=0;
for(inti=0,j=10;total>30;++i,--j){
total+=(i+j);
}
}
}
A.产生运行错误
B.产生编译错误
C.输出"Total0"
D.产生如下输出:
i=0:
j=10
i=1:
j=9
i=2:
j=8
Total30
4)以下程序的运行结果为:
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti=0,j=2;
do{
i=++i;
j--;
}while(j>0);
}
}
A.0B.1C.2 D.3
5)以下程序的运行结果为?
classxyz{
publicstaticvoidmain(Stringargs[]){
inti,j,k;
for(i=0;i<3;i++){
for(j=1;j<4;j++){
for(k=2;k<5;k++){
if((i==j)&&(j==k))
}
}
}
}
}
A.0B.1C.2D.3E.4
6)以下程序的运行结果为?
classtest{
publicstaticvoidmain(Stringargs[]){
inti,j=0;
for(i=10;i<0;i--){j++;}
switch(j){
case(0):
j=j+1;
case
(1):
j=j+2;break;
case
(2):
j=j+3;break;
case(10):
j=j+10;break;
default:
break;
}
}
}
A.0B.1C.2D.3E.10
7)观察以下程序段:
inti=1,j=10;
do{
if(i++>--j)continue;
}while(i<5);
执行完后,i、j的值分别为:
A.i=6j=5 B.i=5j=5
C.i=6j=4 D.i=5j=6
8)以下程序的输出结果为:
publicclassexample{
publicstaticvoidmain(Stringargs[]){
ints=0;
for(inti=0;i<5;i++){
for(intj=10;j>3*i;j--)
s+=i*j;
}
}
}
A.127B.136C.147
9)以下程序的输出结果为:
publicclassexample{
publicstaticvoidmain(Stringargs[]){
inti=0;
for(i=0;i<4;i++){
if(i==3)
break;
}
}
}
.0122C
10)以下程序的运行结果为
classProb10{
staticbooleanb1;
publicstaticvoidmain(String[]args){
inti1=11;
doublef1=;
do{
b1=(f1>4)&&(i1--<10);
f1+=;
}while(!
b1);
}
}
A.false,9,B.true,11,
C.false,8,D.true,8,
五、方法设计
1)以下代码的输出结果?
publicclassTest{
staticintx=5;
publicstaticvoidmain(Stringargv[]){
change(x);
x++;
}
staticvoidchange(intm){
m+=2;
}
}
A.7B.6C.5D.8
2)以下代码的输出结果?
publicclassTest{
intx=5;
publicstaticvoidmain(Stringargv[]){
Testt=newTest();
++;
change(t);
}
staticvoidchange(Testm){
+=2;
}
}
A.7B.6C.5D.8
3)以下代码的输出结果?
publicclassTest{
publicstaticvoidmain(Stringargv[]){
Stringx="hello";
change(x);
}
staticvoidchange(Stringm){
m=m+2;
}
}
A.helloB.hello2
C.编译报错D.运行报错,不能将串与整数相加
4)设有如下类:
classMyPoint{
voidmyMethod(){
intx,y;
x=5;y=3;
switchCoords(x,y);
}
voidswitchCoords(intx,inty){
inttemp;
temp=x;
x=y;
y=temp;
}
}
如果执行myMethod()方法,则输出结果为?
A.(5,3)(5,3)(5,3)
B.(5,3)(3,5)(3,5)
C.(5,3)(3,5)(5,3)
5)以下程序的输出结果为:
publicclasstest{
publicstaticvoidmain(Stringargs[]){
ints=0;
for(intk=0;k<=10;k++)
s+=method(2,k)-1;
}
publicstaticintmethod(intn,intm){
if(m==0)
return1;
else
returnn*method(n,m-1);
}
}
A.2048B.1024C.2036
6)以下程序的输出结果为:
publicclasstest{
publicstaticvoidmain(Stringargs[]){
intm=0;
for(intk=0;k<2;k++)
method(m++);
}
publicstaticvoidmethod(intm){
}
}
A.000B.012C.123
六、数组的使用
1)输入如下命令运行Java应用程序。
javaMyTest"123"
则命令行参数数组args中得到的值哪个正确?
A.args[0]="MyTest123"
B.args[0]="123"
C.args[0]="1"
D.args[1]="123"
2)在注释for(inti=0;i<()-1;i++)
B.for(inti=0;i<();i++)
C.for(inti=1;i<4;i++)
D.for(inti=0;i<;i++)
3)以下代码的调试结果?
publicclassQ{
publicstaticvoidmain(Stringargv[]){
intanar[]=newint[5];
}
}
A.编译错误:
anar在引用前未初始化。
B.null
C.0
D.5
4)下列创建二维整型数组正确语句是:
A.inta[][]=newint[10,10];
B.inta[10][10]=newint[][];
C.inta[][]=newint[10][10];
D.int[]a[]=newint[10][10];
5)给出下面代码:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
}
}
以下那个说法正确?
A.编译时将产生错误;
B.编译时正确,运行时将产生错误;
C.输出0;
D.输出null。
6)设有如下说明:
char[]c=newchar[100];
则,c[50]的值为?
A.50
B.'/u0000'
C.""
D.不定
E.为null,直到被赋值。
7)设有如下程序,其调试结果为:
classQ2{
publicstaticvoidmain(String[]args){
int[]seeds={1,2,3,4,6,8};
intn=;
for(inti=0;i<3;i++)
for(intk=0;kseeds[k]=seeds[k+1];
for(inti=0;i}
}
A.输出:
12346
B.输出:
4