Java基础习题.doc

上传人:yyf 文档编号:8635464 上传时间:2020-12-08 格式:DOC 页数:18 大小:93.50KB
返回 下载 相关 举报
Java基础习题.doc_第1页
第1页 / 共18页
Java基础习题.doc_第2页
第2页 / 共18页
Java基础习题.doc_第3页
第3页 / 共18页
Java基础习题.doc_第4页
第4页 / 共18页
Java基础习题.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《Java基础习题.doc》由会员分享,可在线阅读,更多相关《Java基础习题.doc(18页珍藏版)》请在三一文库上搜索。

1、.Java基础习题1.下列语句序列执行后,m 的值是( C)。 int a=10, b=3, m=5; if( a=b ) m+=a; else m=+a*m;A) 15 B) 50 C) 55 D) 5 2.下列语句序列执行后,k 的值是(B )。 int i=4,j=5,k=9,m=5; if(ij|mk) k+; else k-; A) 5 B) 10 C) 8 D) 93.下列语句序列执行后,x 的值是( D )。 int a=2, b=4, x=5; if( a-b ) x*=a;A) 5 B) 20 C) 15 D) 104.下列语句序列执行后,b 的值是( B)。int a=2,

2、 b=4;if( a - - b ) a*=a;A) 5 B) 3 C) 15 D) 105.下列语句序列执行后,m 的值是( D )。int i=9, j=8, m=10, n=9;if( ij | m - -n ) i+; else j-;A) 6 B) 7 C) 8 D) 96.下列语句序列执行后,x 的值是( A )。int a=3, b=4, x=5;if( +ab ) x=x+1;A) 5 B) 3 C) 4 D) 67.下列语句序列执行后,ch1 的值是( B )。char ch1=A,ch2=W;if(ch1 + 2 ch2 ) +ch1;A) A B) B C) C D) B

3、8.下列语句序列执行后,x 的值是(B )。 int a=2, b=4, x=5; if( aj|m4);x+);A)无限次 B)一次也不执行 C)执行4次 D)执行3次17.下列语句序列执行后,j 的值是( A )。 int j=1; for( int i=5; i0; i-=2 ) j*=i;A) 15 B) 1 C) 60 D) 018.以下for循环的执行次数是( B )。 for(int x=0;(x=0)&(x0; i-=2 ) j*=2;A) 15 B) 1 C) 60 D) 3220.以下for循环的执行次数是(B )。 for(int x=0,y=0;(y!=0)&(x0;

4、i- ) j+=i;A) 3 B) 4 C) 5 D) 622.以下由 for 语句构成的循环执行的次数是(B )。 for ( int i = 0; true ; i+) ;A)有语法错,不能执行 B)无限次 C)执行1次 D)一次也不执行23.下面语句执行后,i 的值是(B)。 for( int i=0, j=1; j 5; j+=3 ) i=i+j;A) 4 B) 5 C) 6 D) 724.下列语句序列执行后,k的值是(D)。 int j=8, k=15; for( int i=2; i!=j; i+ ) j-=2; k+; A) 18 B) 15 C) 16 D) 1725.下列语句

5、序列执行后,k 的值是(B)。 int m=3, n=6, k=0; while( (m+) ( - n) ) +k;A) 0 B) 1 C) 2 D) 326.下列语句序列执行后,i 的值是( D)。 int s=1,i=1; while( i=4 ) s*=i;i+;A) 6 B) 4 C) 24 D) 527. 下列语句序列执行后,k 的值是(C )。 int m=3, n=6, k=0; while( m 4 ) -j; A) 5 B) 6 C) 7 D) 829.下列语句序列执行后,j 的值是( C )。 int j=8, i=6; while( i 4 ) i-=2; - -j;

6、A) 5 B) 6 C) 7 D) 830.下列语句序列执行后,j 的值是( B )。 int j=9, i=6; while( i- 3 ) -j;A) 5 B) 6 C) 7 D) 831.下列语句序列执行后,j 的值是(D)。 int j=3, i=2; while( -i!=i/j ) j=j+2;A) 2 B) 4 C) 6 D) 532. 若有循环: int x=5,y=20; do y-=x; x+=2; while(xy);则循环体将被执行(A )。A) 2次 B) 1次 C) 0次 D) 3次33.以下由do-while语句构成的循环执行的次数是(B)。 int m = 8;

7、精品. do +m; while ( m 1 );A) 1 B) 5 C) 2 D) 035.下列语句序列执行后,i的值是(D)。 int i=10; do i/=2; while( i- 1 );A) 1 B) 5 C) 2 D) -136.下列语句序列执行后,i的值是(C )。 int i=10; do i-=2; while( i6 );A) 10 B) 8 C) 6 D) 437.下列语句序列执行后,i的值是(D)。 int i=16; do i/=2; while( i 3 );A) 16 B) 8 C) 4 D) 238.以下由do-while语句构成的循环执行的次数是(B)。 i

8、nt k = 0; do +k; while ( k 1 );A)一次也不执行 B)执行1次 C)无限次 D)有语法错,不能执行 39. 若有循环: int x=5,y=20; do y-=x; x+; while(+x-y);则循环体将被执行(C )。A)0次 B)1次 C)2次 D)3次40.下列循环中,执行break outer语句后,所列(C)语句将被执行。 outer: for(int i=1;i10;i+) inner: for(int j=1;j50) break outer; System.out.println(i*j); next:A)标号为inner的语句 B)标号为ou

9、ter的语句C)标号为next的语句 D)以上都不是 41.下列循环中,执行continue outer语句后,(A)说法正确。精品.outer: for(int i=1;i10;i+) inner: for(int j=1;j50) continue outer; System.out.println(i*j); A)程序控制在外层循环中并且执行外层循环的下一迭代B)程序控制在内层循环中并且执行内层循环的下一迭代C)执行标号为next的语句D)以上都不是2.找出下面各段程序中的错误:a)For (i=100 , i=1 , i+) System.out.println(i);答案:For的F

10、应该小写;For头中应当使用分号,而应当使用逗号;应当为 答案:应当在case 0 中放置一条break语句c)下面的代码应输入从191之间的所有奇数: for( i = 19 ; i = 1 ; i+=2)System.out.println(i); 答案:应该为d)下面的代码应输出从2到100之间的所有偶数: counter = 2; doSystem.out.println(counter);counter += 2; While (counter 100)答案:while的W应当小写;应当为=3.指出并纠正下面各段代码中的错误:a)while(c= 0) sum +=z;答案:变量z在

11、while循环中一直没有改变,如果循环条件(z=0)为真,则会出现死循环,为了避免,必须使得变量z递减,使其最终小于0;5.指出并纠正下列各段代码的错误。(注解:每段代码中可能包含多个错误。)a) if ( age =65 ) ;System.out.println( “ Age greater than or equal to 65” );else System.out.println ( “Age is less than 65” ); 答案:if后不能有分号,将分号去掉可以改正这个错误。b) int x = 1 ,total ; while ( x =10 ) total +=x;+x;

12、答案: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) 如下代码应打印110的值n = 1;while ( n 10 ) System.out.println( n+ ); 答案:a)错误:浮点数作控制变

13、量,for循环将不工作,因为浮点数在大多数计算机中只是近似值。 改正:用一个整数取代浮点数,并用适当的计算获取所要的值: for( k =1 ; k!= 10 ; k+)System.out.println(float) k / 10 );b) 错误:在while循环继续条件中用了错误的关系运算符。精品. 改正:用= 代替 b?a:b) int fun ( int a, int b ) _; 4. 以下方法m的功能是求两参数之积的整数部分。 (return (int)(a*b) int m ( float x, float y ) _; 5. 下面是用户程序对 Applet 类中方法 pain

14、t( ) 的重新定义。 (void call)public _ paint(Graphics _) call.drawString(Hello,java!,10,20); 6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。(boolean true)public _ isEven(int a) if(a%2=0) return _;else return false;7.同一个类中多个方法具有相同的方法名,不同的_称为方法的重载。(参数列表)二选择题及答案1.下列方法定义中,正确的是( D )。A) int x( int a,b ) return (a-b); B) double x

15、( int a,int b) int w; w=a-b; C) double x( a,b ) return b; D) int x( int a,int b) return a-b; 2.下列方法定义中,正确的是( D )。A) void x( int a,int b ); return (a-b); B) x( int a,int b) return a-b; C) double x return b; D) int x( int a,int b) return a+b; 3. 下列方法定义中,不正确的是(D)。A) float x( int a,int b ) return (a-b);

16、 B) int x( int a,int b) return a-b; C) int x( int a,int b ); return a*b; D) int x(int a,int b) return 1.2*(a+b); 4. 下列方法定义中,正确的是( A )。 A) int x( ) char ch=a; return (int)ch; B) void x( ) .return true; 精品. C) int x( ) .return true; D) int x( int a, b) return a+b; 5. 列方法定义中,方法头不正确的是(D )。 A)public int

17、x( ) . B)public static int x( double y ) . C)void x( double d ) . D)public static x( double a ) . 6.在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是(C)。 A)public getSort(float x) B)int getSort(int y) C)double getSort(int x,int y) D)void get(int x,int y)7.在某个类中存在一个方法:void sort(int x),以下不能作为这个方法的重载的声

18、明的是(B)。 A)public float sort(float x) B)int sort(int y) C)double sort(int x,int y) D)void sort(double y)8. 为了区分类中重载的同名的不同方法,要求( A)。 A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同一、选择题1 定义类头时,不可能用到的关键字是( B)。 A) class B)private C)extends D)public2.下列类定义中,不正确的是(C)。A) class x . B) class x extends y

19、. C) static class x implements y1,y2 . D) public class x extends Applet . 3.下列类头定义中,错误的是( A)。 A)public x extends y . B) public class x extends y . C)class x extends y implements y1 . D)class x . .设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( D)。 A) float A a; B) public A a=A( ); C) A a=new int( ); D) static A a=ne

20、w A( ); 5.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是(A)。 A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A; 6.设 X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中正确的是(C)。 A) public X x1= new Y( ); B) X x1= X ( ); 精品. C) X x1=new X( ); D) int X x1; 7. 设X 、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是(A)。 A) static X x1; B) publi

21、c X x1=new X(int 123); C) Y x1; D) X x1= X( ); 8.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现: _。 (MyClass obj=new MyClass( );) 9. 设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( A)。 A) void X(int k ) i=k; B) X(int k ) i=k; C) X(int m, int n ) i=m; j=n; D) X( )i=0;j=0; 10. 有一个类A,以下为其构造方法的声明,其中正确的是( A )。 A)pub

22、lic A(int x). B)static A(int x). C)public a(int x). D)void A(int x). 11. 有一个类A,以下为其构造方法的声明,其中正确的是( B )。 A)void A(int x). B)A(int x). C)a(int x). D)void a(int x). 12. 设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是( B )。 A) X( int m) . B) void X( int m) . C) X( int m, int n) . D) X( int h,int m,int n) . 13. 设i

23、, j为类X中定义的double型变量名,下列X类的构造方法中不正确的是(A )。 A) double X(double k ) i=k; return i; C) X( )i=6;j=8; B) X(double m, double n ) i=m; j=n; D) X(double k ) i=k; 14. 设a , b为类MyClass中定义的int型变量名,下列MyClass类的构造方法中不正确的是(A)。A) double MyClass(double k ) a=k; return a; B) MyClass( )a=6;b=8; C) MyClass (double m, dou

24、ble n ) a=m; b=n; MyClass (double k ) a=k; 15 定义类头时,不可能用到的关键字是(A)。 A)protected B) class C)extends D)public精品.16.下列类头定义中,错误的是(A)。 A)public TestClass extends y . B) public class TestClass extends y . C)class TestClass extends y implements y1 . D) class TestClass .17.设 B为已定义的类名,下列声明B类的对象b的语句中正确的是(D)。 A

25、) float B b; B) public B b=B( ); C) B b=new int( ); D) static B b=new B( );18.设 ClassA为已定义的类名,下列声明ClassA类的对象ca的语句中正确的是(A)。 A)public ClassA ca=new ClassA( ); B) public ClassA ca=ClassA( ); C) ClassA ca=new class( ); D) ca ClassA;19.设 A 、B 均为已定义的类名,下列声明类A的对象a1的语句中正确的是(C)。 A) public A a1= new B( ); B)

26、A a1= A ( ); C) A a1=new A( ); D) int A a1;20. 设A 、B为已定义的类名,下列声明A类的对象a1的语句中正确的是(A)。 A) static A a1; B) public A a1=new A(int 123); C) B a1; D) A a1= A( );21.通过类A中的不含参数的构造方法,生成该类的一个对象a,可通过以下语句实现: _。 (A a=new A( );)22. 设m , n为类A中定义的int型变量名,下列A类的构造方法中不正确的是( A)。 A) void A(int k ) m=k; B) A(int k ) m=k;

27、C) A(int m, int n )m=i; n=j; D) A( )m=0;n=0; 23. 有一个类Person,以下为其构造方法的声明,其中正确的是( A )。 A)public Person (int x). B)static Person (int x). C)public a(int x). D)void Person (int x).24. 有一个类Student,以下为其构造方法的声明,其中正确的是( B )。 A)void Student (int x). B) Student (int x). C)s(int x). D)void s(int x).25. 设i、j、k为

28、类School中定义的int型变量名,下列类School的构造方法中不正确的是( B )。 A) School ( int m) . B) void School ( int m) . C) School ( int m, int n) . D) School ( int h,int m,int n) . 一、 选择题1. Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 2. 以下关于Java语言继承的说法正确的是( C )。 A)Java中的类可以有多个直接父类 B)抽象类不能有子类精品. C)Java中的接口支持多继承 D)最终类可以作

29、为其它类的父类3. 现有两个类A、B,以下描述中表示B继承自A的是(D)。 A) class A extends B B) class B implements A C) class A implements B D) class B extends A4. 下列选项中,用于定义接口的关键字是( A)。 A)interface B) implements C) abstract D) class5. 下列选项中,用于实现接口的关键字是( B)。 A)interface B) implements C) abstract D) class6. Java语言的类间的继承的关键字是( B )。 A) implements B) extends C) class D) public 7. 以下关于Java语言继承的说法错误的是( A )。 A)Java中的类可以有多个直接父类 B)抽象类

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1