Java基础习题.docx
- 文档编号:25072613
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:33
- 大小:30.79KB
Java基础习题.docx
《Java基础习题.docx》由会员分享,可在线阅读,更多相关《Java基础习题.docx(33页珍藏版)》请在冰豆网上搜索。
Java基础习题
Java基础习题(附答案)1
1.下列语句序列执行后,m的值是()。
inta=10,b=3,m=5;
if(a==b)m+=a;elsem=++a*m;
A)15B)50C)55D)5
2.下列语句序列执行后,k的值是()。
inti=4,j=5,k=9,m=5;
if(i>j||m A)5B)10C)8D)9 3.下列语句序列执行后,x的值是()。 inta=2,b=4,x=5; if(a<--b)x*=a; A)5B)20C)15D)10 4.下列语句序列执行后,b的值是()。 inta=2,b=4; if(a<--b)a*=a; A)5B)3C)15D)10 5.下列语句序列执行后,m的值是()。 inti=9,j=8,m=10,n=9; if(i A)6B)7C)8D)9 6.下列语句序列执行后,x的值是(A)。 inta=3,b=4,x=5; if(++a A)5B)3C)4D)6 7.下列语句序列执行后,ch1的值是(B)。 charch1=’A’,ch2=’W’; if(ch1+2 A)‘A’B)‘B’C)‘C’D)B 8.下列语句序列执行后,x的值是(B)。 inta=3,b=4,x=5; if(++a==b)x=++a*x; A)35B)25C)20D)5 9.下列语句序列执行后,k的值是(C)。 inti=6,j=8,k=10,m=7; if(i>j||m A)12B)11C)10D)9 10.下列语句序列执行后,k的值是(C)。 inti=10,j=18,k=30; switch(j-i) {case8: k++; case9: k+=2; case10: k+=3; default: k/=j; } A)31B)32C)2D)33 11.若a和b均是整型变量并已正确赋值,正确的switch语句是(D)。 A)switch(a+b);{......}B)switch(a+b*3.0){......} C)switcha{......}D)switch(a%b){......} 12.下列语句序列执行后,r的值是()。 charch='8';intr=10; switch(ch+1) { case'7': r=r+3; case'8': r=r+5; case'9': r=r+6;break; default: r=r+8; } A)13B)15C)16D)18 13.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是(B)。 A)switch(x+y){......}B)switch(ch+1){......} C)switchch{......}D)switch(a+b);{......} 14.下列语句序列执行后,k的值是(D)。 intx=6,y=10,k=5; switch(x%y) { case0: k=x*y; case6: k=x/y; case12: k=x-y; default: k=x*y-x; } A)60B)5C)0D)54 15.下列语句序列执行后,r的值是(B)。 charch='A';intr=6; switch(ch+5) { case'A': r=r+3; case'B': r=r+5; case'C': r-=6;break; default: r/=2; } A)11B)3C)2D)9 16.以下for循环的执行次数是(B)。 for(intx=0;(x==0)&(x>4);x++); A)无限次B)一次也不执行C)执行4次D)执行3次 17.下列语句序列执行后,j的值是(A)。 intj=1; for(inti=5;i>0;i-=2)j*=i; A)15B)1C)60D)0 18.以下for循环的执行次数是(B)。 for(intx=0;(x==0)&(x<4);x++); A)无限次B)一次C)执行4次D)执行3次 19.下列语句序列执行后,j的值是(D)。 intj=2; for(inti=7;i>0;i-=2)j*=2; A)15B)1C)60D)32 20.以下for循环的执行次数是(B)。 for(intx=0,y=0;(y! =0)&&(x<4);x++); A)无限次B)一次也不执行C)执行4次D)执行3次 21.下列语句序列执行后,j的值是(D)。 intj=0; for(inti=3;i>0;i--)j+=i; A)3B)4C)5D)6 22.以下由for语句构成的循环执行的次数是(B)。 for(inti=0;true;i++); A)有语法错,不能执行B)无限次 C)执行1次D)一次也不执行 23.下面语句执行后,i的值是(B)。 for(inti=0,j=1;j<5;j+=3)i=i+j; A)4B)5C)6D)7 24.下列语句序列执行后,k的值是(D)。 intj=8,k=15; for(inti=2;i! =j;i++){j-=2;k++;} A)18B)15C)16D)17 25.下列语句序列执行后,k的值是(B)。 intm=3,n=6,k=0; while((m++)<(--n))++k; A)0B)1C)2D)3 26.下列语句序列执行后,i的值是(D)。 ints=1,i=1; while(i<=4){s*=i;i++;} A)6B)4C)24D)5 27.下列语句序列执行后,k的值是(C)。 intm=3,n=6,k=0; while(m A)0B)1C)2D)3 28.下列语句序列执行后,j的值是(C)。 intj=8,i=6; while(--i>4)--j; A)5B)6C)7D)8 29.下列语句序列执行后,j的值是(C)。 intj=8,i=6; while(i>4)i-=2; --j; A)5B)6C)7D)8 30.下列语句序列执行后,j的值是(B)。 intj=9,i=6; while(i-->3)--j; A)5B)6C)7D)8 31.下列语句序列执行后,j的值是(D)。 intj=3,i=2; while(--i! =i/j)j=j+2; A)2B)4C)6D)5 32.若有循环: intx=5,y=20; do{y-=x;x+=2;}while(x 则循环体将被执行(A)。 A)2次B)1次C)0次D)3次 33.以下由do-while语句构成的循环执行的次数是(B)。 intm=8; do{++m;}while(m<8); A)一次也不执行B)执行1次 C)8次D)有语法错,不能执行 34.下列语句序列执行后,i的值是(A)。 inti=10; do{i/=2;}while(i>1); A)1B)5C)2D)0 35.下列语句序列执行后,i的值是(D)。 inti=10; do{i/=2;}while(i-->1); A)1B)5C)2D)-1 36.下列语句序列执行后,i的值是(C)。 inti=10; do{i-=2;}while(i>6); A)10B)8C)6D)4 37.下列语句序列执行后,i的值是(D)。 inti=16; do{i/=2;}while(i>3); A)16B)8C)4D)2 38.以下由do-while语句构成的循环执行的次数是(B)。 intk=0; do{++k;}while(k<1); A)一次也不执行B)执行1次C)无限次D)有语法错,不能执行 39.若有循环: intx=5,y=20; do{y-=x;x++;}while(++x<--y); 则循环体将被执行(C)。 A)0次B)1次C)2次D)3次 40.下列循环中,执行breakouter语句后,所列(C)语句将被执行。 outer: for(inti=1;i<10;i++) { inner: for(intj=1;j<10;j++) { if(i*j>50) breakouter; System.out.println(i*j); } next: A)标号为inner的语句B)标号为outer的语句 C)标号为next的语句D)以上都不是 41.下列循环中,执行continueouter语句后,(A)说法正确。 outer: for(inti=1;i<10;i++) { inner: for(intj=1;j<10;j++) { if(i*j>50) continueouter; System.out.println(i*j); } } A)程序控制在外层循环中并且执行外层循环的下一迭代 B)程序控制在内层循环中并且执行内层循环的下一迭代 C)执行标号为next的语句 D)以上都不是 2.找出下面各段程序中的错误: a)For(i=100,i>=1,i++) System.out.println(i); 答案: For的F应该小写;For头中应当使用分号,而应当使用逗号;++应当为―― 答案: 应当在case0中放置一条break语句 c)下面的代码应输入从19~1之间的所有奇数: for(i=19;i>=1;i+=2) System.out.println(i); 答案: +=应该为-= d)下面的代码应输出从2到100之间的所有偶数: counter=2; do{ System.out.println(counter); counter+=2; }While(counter<100) 答案: while的W应当小写;<应当为<= 3.指出并纠正下面各段代码中的错误: a) while(c<=5){ product*=5; c++; b) if(gender==1) System.out.println(“woman”); else; System.out.println(“Man”); 答案: a)错误: 漏掉了while循环的右花括号 纠正: 在最后加上右花括号 b)错误: else后的分号导致一个逻辑错误,第二个输出语句无论如何都会执行。 纠正: 去掉else后面的分号。 4.下面的while循环结构有什么错误? while(z>=0) sum+=z; 答案: 变量z在while循环中一直没有改变,如果循环条件(z>=0)为真,则会出现死循环,为了避免,必须使得变量z递减,使其最终小于0; 5.指出并纠正下列各段代码的错误。 (注解: 每段代码中可能包含多个错误。 ) a)if(age>=65); System.out.println(“Agegreaterthanorequalto65”); else System.out.println(“Ageislessthan65”); 答案: if后不能有分号,将分号去掉可以改正这个错误。 b)intx=1,total; while(x<=10){ total+=x; ++x; } 答案: total+=x语句中,total没有初始数值,无法使用,在定义total时为其赋值0可以解决这个错误。 c)while(x<=100) total+=x; ++x; 答案: 循环为死循环,直到超出total的取值范围,在(x<=100)后添加{,然后在++x;后添加}可以解决这个错误。 6.找出下面各段代码中的错误,并解释如何改正它。 a) for(k=0;k! =1.0;k+=0.1) System.out.println(k); b)如下代码应打印1~10的值 n=1; while(n<10) System.out.println(n++); 答案: a)错误: 浮点数作控制变量,for循环将不工作,因为浮点数在大多数计算机中只是近似值。 改正: 用一个整数取代浮点数,并用适当的计算获取所要的值: for(k=1;k! =10;k++) System.out.println((float)k/10); b)错误: 在while循环继续条件中用了错误的关系运算符。 改正: 用<=代替<,或者将10改为11也可以。 Java基础习题(附答案)2 1.以下方法fun的功能是求两参数之积。 (returna*b) intfun(inta,intb){__________________;} 2.以下方法fun的功能是求两参数之积。 (return(float)a*b) floatfun(inta,doubleb){__________________;} 3.以下方法fun的功能是求两参数的最大值。 (returna>b? a: b) intfun(inta,intb){__________________;} 4.以下方法m的功能是求两参数之积的整数部分。 (return(int)(a*b)) intm(floatx,floaty){__________________;} 5.下面是用户程序对Applet类中方法paint()的重新定义。 (voidcall) public___paint(Graphics____) {call.drawString("Hello,java! ",10,20);} 6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。 (booleantrue) public________isEven(inta) {if(a%2==0) return_____; else returnfalse; } 7.同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。 (参数列表) 二.选择题及答案 1.下列方法定义中,正确的是(D)。 A)intx(inta,b){return(a-b);} B)doublex(inta,intb){intw;w=a-b;} C)doublex(a,b){returnb;} D)intx(inta,intb){returna-b;} 2.下列方法定义中,正确的是(D)。 A)voidx(inta,intb);{return(a-b);} B)x(inta,intb){returna-b;} C)doublex{returnb;} D)intx(inta,intb){returna+b;} 3.下列方法定义中,不正确的是(D)。 A)floatx(inta,intb){return(a-b);} B)intx(inta,intb){returna-b;} C)intx(inta,intb);{returna*b;} D)intx(inta,intb){return1.2*(a+b);} 4.下列方法定义中,正确的是(A)。 A)intx(){charch='a';return(int)ch;} B)voidx(){...returntrue;} C)intx(){...returntrue;} D)intx(inta,b){returna+b;} 5.列方法定义中,方法头不正确的是(D)。 A)publicintx(){...} B)publicstaticintx(doubley){...} C)voidx(doubled){...} D)publicstaticx(doublea){...} 6.在某个类中存在一个方法: voidgetSort(intx),以下能作为这个方法的重载的声明的是(C)。 A)publicgetSort(floatx)B)intgetSort(inty) C)doublegetSort(intx,inty)D)voidget(intx,inty) 7.在某个类中存在一个方法: voidsort(intx),以下不能作为这个方法的重载的声明的是(B)。 A)publicfloatsort(floatx)B)intsort(inty) C)doublesort(intx,inty)D)voidsort(doubley) 8.为了区分类中重载的同名的不同方法,要求(A)。 A)采用不同的形式参数列表B)返回值类型不同 C)调用时用类名或对象名做前缀D)参数名不同 三.问答题及答案 1.方法可以没有返回值吗? 可以有多个返回值吗? (可以;不能) 2.一个方法如果没有返回值,方法头定义中的返回值类型为何? (void) 3.何为形式参数? 何为实在参数? (略) 4.一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用? 这种变量称为什么变量? (不能;局部变量) 5.采用_______的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提高。 (模块化) 6.重载的方法可以通过它们的返回值类型的不同来区分吗? (不能) 7.编译程序如何区分重载方法的调用? (根据参数列表不同来区分) 一、选择题 1定义类头时,不可能用到的关键字是(B)。 A)classB)privateC)extendsD)public 2.下列类定义中,不正确的是(C)。 A)classx{....} B)classxextendsy{....} C)staticclassximplementsy1,y2{....} D)publicclassxextendsApplet{....} 3.下列类头定义中,错误的是(A)。 A)publicxextendsy{...} B)publicclassxextendsy{...} C)classxextendsyimplementsy1{...} D)classx{...} .设A为已定义的类名,下列声明A类的对象a的语句中正确的是(D)。 A)floatAa;B)publicAa=A(); C)Aa=newint();D)staticAa=newA(); 5.设A为已定义的类名,下列声明A类的对象a的语句中正确的是(A)。 A)publicAa=newA();B)publicAa=A(); C)Aa=newclass();D)aA; 6.设X、Y均为已定义的类名,下列声明类X的对象x1的语句中正确的是(C)。 A)publicXx1=newY();B)Xx1=X(); C)Xx1=newX();D)intXx1; 7.设X、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是(A)。 A)staticXx1;B)publicXx1=newX(int123); C)Yx1;D)Xx1=X(); 8.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现: _______________________________。 (MyClassobj=newMyClass();) 9.设i,j为类X中定义的int型变量名,下列X类的构造方法中不正确的是(A)。 A)voidX(intk){i=k;}B)X(intk){i=k;} C)X(intm,intn){i=m;j=n;}D)X(){i=0;j=0;} 10.有一个类A,以下为其构造方法的声明,其中正确的是(A)。 A)publicA(intx){...}B)staticA(intx){...} C)publica(intx){...}D)voidA(intx){...} 11.有一个类A,以下为其构造方法的声明,其中正确的是(B)。 A)voidA(intx){...}B)A(intx){...} C)a(intx){...}D)voida(intx){...} 12.设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是(B)。 A)X(intm){...}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础 习题