Java基础习题一

更新时间:2024-05-28 20:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java基础习题(附答案)1

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(i>j||m

A) 5 B) 20 C) 15 D) 10 4.下列语句序列执行后,b 的值是( B)。 int a=2, b=4;

if( a < - - b ) a*=a;

A) 5 B) 3 C) 15 D) 10 5.下列语句序列执行后,m 的值是( D )。 int i=9, j=8, m=10, n=9;

if( i

A) 5 B) 3 C) 4 D) 6 7.下列语句序列执行后,ch1 的值是( B )。 char ch1=?A?,ch2=?W?; if(ch1 + 2 < ch2 ) ++ch1;

A) ?A? B) ?B? C) ?C? D) B 8.下列语句序列执行后,x 的值是(B )。 int a=3, b=4, x=5; if( ++a==b ) x=++a*x;

A) 35 B) 25 C) 20 D) 5

9.下列语句序列执行后,k 的值是(C)。 int i=6,j=8,k=10,m=7;

if(i>j||m

{ case 8 : k++; case 9 : k+=2;

case 10: k+=3; default : k/=j; }

A) 31 B) 32 C) 2 D) 33

11.若a和b均是整型变量并已正确赋值,正确的switch语句是(D )。 A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... } C) switch a { ...... } D) switch ( a%b ) { ...... } 12.下列语句序列执行后,r 的值是( C)。 char ch='8'; int r=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) 13 B) 15 C) 16 D) 18

13.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是(B )。

A) switch (x + y) { ...... } B) switch ( ch + 1 ) { ...... } C) switch ch { ...... } D) switch ( a + b ); { ...... } 14.下列语句序列执行后,k 的值是(D )。 int x=6, y=10, k=5; switch( x%y ) {

case 0: k=x*y; case 6: k=x/y; case 12: k=x-y;

default: k=x*y-x; }

A) 60 B) 5 C) 0 D) 54 15.下列语句序列执行后,r 的值是(B )。 char ch='A'; int r=6; switch( ch+5 ) {

case 'A': r=r+3; case 'B': r=r+5;

case 'C': r-=6; break; default : r/=2; }

A) 11 B) 3 C) 2 D) 9 16.以下for循环的执行次数是(B)。 for(int x=0;(x==0)&(x>4);x++);

A)无限次 B)一次也不执行 C)执行4次 D)执行3次 17.下列语句序列执行后,j 的值是( A )。 int j=1; for( int i=5; i>0; i-=2 ) j*=i; A) 15 B) 1 C) 60 D) 0 18.以下for循环的执行次数是( B )。 for(int x=0;(x==0)&(x<4);x++);

A)无限次 B)一次 C)执行4次 D)执行3次 19.下列语句序列执行后,j 的值是(D )。 int j=2;

for( int i=7; i>0; i-=2 ) j*=2;

A) 15 B) 1 C) 60 D) 32 20.以下for循环的执行次数是(B )。 for(int x=0,y=0;(y!=0)&&(x<4);x++);

A)无限次 B)一次也不执行 C)执行4次 D)执行3次 21.下列语句序列执行后,j 的值是( D)。 int j=0;

for( int i=3; i>0; i-- ) j+=i; A) 3 B) 4 C) 5 D) 6

22.以下由 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) 7 24.下列语句序列执行后,k的值是(D)。 int j=8, k=15;

for( int i=2; i!=j; i++ ) { j-=2; k++; } A) 18 B) 15 C) 16 D) 17 25.下列语句序列执行后,k 的值是(B)。 int m=3, n=6, k=0;

while( (m++) < ( -- n) ) ++k;

A) 0 B) 1 C) 2 D) 3 26.下列语句序列执行后,i 的值是( D)。 int s=1,i=1;

while( i<=4 ) {s*=i;i++;}

A) 6 B) 4 C) 24 D) 5 27. 下列语句序列执行后,k 的值是(C )。 int m=3, n=6, k=0;

while( m < n ) { ++k; m++; --n; } A) 0 B) 1 C) 2 D) 3 28.下列语句序列执行后,j 的值是(C )。 int j=8, i=6;

while( --i >4 ) --j;

A) 5 B) 6 C) 7 D) 8 29.下列语句序列执行后,j 的值是( C )。 int j=8, i=6;

while( i >4 ) i-=2; - -j;

A) 5 B) 6 C) 7 D) 8 30.下列语句序列执行后,j 的值是( B )。 int j=9, i=6; while( i-- >3 ) --j;

A) 5 B) 6 C) 7 D) 8 31.下列语句序列执行后,j 的值是(D)。 int j=3, i=2;

while( --i!=i/j ) j=j+2;

A) 2 B) 4 C) 6 D) 5 32. 若有循环:

int x=5,y=20;

do { y-=x; x+=2; }while(x

A) 2次 B) 1次 C) 0次 D) 3次

33.以下由do-while语句构成的循环执行的次数是(B)。 int m = 8;

do { ++m; } while ( m < 8 ); A)一次也不执行 B)执行1次

C)8次 D)有语法错,不能执行 34.下列语句序列执行后,i的值是(A )。 int i=10;

do { i/=2; } while( i>1 );

A) 1 B) 5 C) 2 D) 0 35.下列语句序列执行后,i的值是(D)。 int i=10;

do { i/=2; } while( i--> 1 );

A) 1 B) 5 C) 2 D) -1 36.下列语句序列执行后,i的值是(C )。 int i=10;

do { i-=2; } while( i>6 );

A) 10 B) 8 C) 6 D) 4 37.下列语句序列执行后,i的值是(D)。 int i=16;

do { i/=2; } while( i > 3 );

A) 16 B) 8 C) 4 D) 2

38.以下由do-while语句构成的循环执行的次数是(B)。

int 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;i<10;i++) {

inner:

for(int j=1;j<10;j++) {

if(i*j>50) break outer;

System.out.println(i*j); } next:

A)标号为inner的语句 B)标号为outer的语句 C)标号为next的语句 D)以上都不是

41.下列循环中,执行continue outer语句后,(A)说法正确。 outer:

for(int i=1;i<10;i++) {

inner:

for(int j=1;j<10;j++) {

if(i*j>50)

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应该小写;For头中应当使用分号,而应当使用逗号;++应当为――

答案:应当在case 0 中放置一条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( “ 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; }

答案: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的功能是求两参数之积。(return a*b) int fun ( int a, int b ) { __________________; }

2. 以下方法fun的功能是求两参数之积。(return (float)a*b) float fun ( int a, double b ) { __________________; } 3. 以下方法fun的功能是求两参数的最大值。(return a>b?a:b) int fun ( int a, int b ) { __________________; } 4. 以下方法m的功能是求两参数之积的整数部分。 (return (int)(a*b))

int m ( float x, float y ) { __________________; } 5. 下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。 (void call)

public ___ paint(Graphics ____) { call.drawString(\!\

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( 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); } 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 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),以下不能作为这个方法的重载的声明的是(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. 方法可以没有返回值吗?可以有多个返回值吗? (可以;不能) 2. 一个方法如果没有返回值,方法头定义中的返回值类型为何?(void) 3. 何为形式参数?何为实在参数?(略)

4. 一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用?这种变量称为什么变量?(不 能;局部变量)

5. 采用_______的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提高。(模块化)

6. 重载的方法可以通过它们的返回值类型的不同来区分吗?(不能) 7. 编译程序如何区分重载方法的调用?(根据参数列表不同来区分)

一、选择题

1 定义类头时,不可能用到的关键字是( B)。

A) class B)private C)extends D)public 2.下列类定义中,不正确的是(C)。

A) class x { .... }

B) class x extends y { .... }

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 {...}

4.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( D)。 A) float A a; B) public A a=A( ); C) A a=new int( ); D) static A a=new 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) public 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)public 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 , 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, double 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) 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) 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; } 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为类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){ ... } 二、填空题

2. 下面是一个类的定义,请将其补充完整。(Student String) class _____ {

String name; int age;

Student( _____ s, int i) {

name=s; age=i; } }

3.下面是一个类的定义,请将其补充完整。(myclass static) class ____________ // 定义名为myclass的类 {

__________ int var=666; static int getvar()

{ return var; } }

4.下面程序的功能是通过调用方法max()求给定的三个数的最大值, 请将其补充完 整。(max(i1,i2,i3) static) public class Class1 {

public static void main( String args[] ) {

int i1=1234,i2=456,i3=-987; int MaxValue;

MaxValue=____________;

System.out.println(\三个数的最大值:\ }

public ______ int max(int x,int y,int z) { int temp1,max_value; temp1=x>y?x:y;

max_value=temp1>z?temp1:z; return max_value; } }

5.下面是一个类的定义,请将其补充完整。(class static) ___________ A { String s;

_____ int a=666;

A(String s1) { s=s1; }

static int geta( ) { return a; } }

9.下面程序的功能是通过调用方法max()求给定的二个整数的最大值, 请将其补充完 整。(max(a1,a2) int) public class Class1 {

public static void main( String args[] ) {

int a1=1234,a2=456; int MaxValue;

MaxValue=____________;

System.out.println(\二个数的最大值:\ }

public static ______ max(int x,int y) { int max_value;

max_value =x>y?x:y; return max_value; } }

1. 面向对象的软件开发方法用什么把数据和基于数据的操作封装在一起?(类) 2. 在一个类定义中,用什么描述对象的状态? 用什么描述对象的行为?(属性;方法)

3. 什么方法是一个特殊的方法,用于对对象进行初始化? (构造方法)

4. 一个源程序文件中,能有多于一个的 public 类吗?(不能) 5. 构造方法的方法名可由编程人员任意命名吗? (不能,必须与类名同名)

6. 类的构造方法名必须和类名相同吗?(必须) 7. 构造函数有返回值吗?(没有) 8. 构造函数可以重载吗? (可以)

9. 如果一个类定义中没有定义构造方法,该类有构造函数吗? (有,编译器会自动生成一个缺省的不带参数的构造函数)

10. 如果一个类定义中已经定义了构造方法,java还会给它定义缺省的构造方法吗?(不会)

11. 类的访问控制权有哪两种?(public 和 缺省的(即没有访问控制修饰符)) 12. 用什么修饰符修饰的方法称为静态方法? 用什么修饰符修饰的属性称为静态属性?(static)

13. 静态属性和静态方法仅属于类的一个具体对象吗?它属于谁? (不是;它是类的所有对象公有的)

14. static 变量能是 private 变量吗?(可以)

15. 使用静态成员都能以什么做前缀?(可以用类名或对象名做前缀) 16. static方法中能有this引用吗?(不能) 17. 非static方法中可以有this引用吗?(可以) 18.static方法能处理非static成员吗?(不能) 19.非static方法能处理static成员吗?(能)

20. 类的私有属性和私有方法能不能被其子类直接访问? (不能) 一、 选择题

1. Java语言的类间的继承关系是( B )。

A) 多重的 B) 单重的 C) 线程的 D) 不能继承

2. 以下关于Java语言继承的说法正确的是( C )。 A)Java中的类可以有多个直接父类 B)抽象类不能有子类

C)Java中的接口支持多继承 D)最终类可以作为其它类的父类 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 A 4. 下列选项中,用于定义接口的关键字是( A)。 A)interface B) implements C) abstract D) class 5. 下列选项中,用于实现接口的关键字是( B)。 A)interface B) implements C) abstract D) class 6. Java语言的类间的继承的关键字是( B )。

A) implements B) extends C) class D) public

7. 以下关于Java语言继承的说法错误的是( A )。 A)Java中的类可以有多个直接父类 B)抽象类可以有子类

C)Java中的接口支持多继承 D)最终类不可以作为其它类的父类 8. 现有两个类M、N,以下描述中表示N继承自M的是(D)。 A) class M extends N B) class N implements M C) class M implements N D) class N extends M 9. 现有类A和接口B,以下描述中表示类A实现接口B的语句是(A)。 A) class A implements B B) class B implements A C) class A extends B D) class B extends A 10. 下列选项中,定义抽象类的关键字是( C)。

A)interface B) implements C) abstract D) class 11. 下列选项中,定义最终类的关键字是(D)。

A)interface B) implements C) abstract D) final 12. 下列选项中,哪个是java语言所有类的父类(C) A)String B) Vector C) Object D) KeyEvent

13. java语言中,用于判断某个对象是否是某个类的实例的运算符是(A) A)instanceof B) + C) isinstance D) &&

14. 下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修 饰符是(B) A)public B) protected C) private D) final

15. 下列选项中,表示数据或方法只能被本类访问的修饰符是(C) A)public B) protected C) private D) final 16. 下列选项中,接口中方法的默认可见性修饰符是(A)

A)public B) protected C) private D) final 17. 下列选项中,表示终极方法的修饰符是:(B) A)interface B) final C) abstract D) implements

18. 下列选项中,定义接口MyInterface的语句正确的是:(A) A)interface MyInterface{ } B) implements MyInterface { } C) class MyInterface{ } D) implements interface My{ }

19. 如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:void mymethod(int a),则子类方法的定义不合法的是:(C) A) public void mymethod(int a) B) protected void mymethod(int a) C) private void mymethod(int a) D) void mymethod(int a)

二、 填空题

1. 如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量________了父类的同名变量。(隐藏)

2. 属性的隐藏是指子类重新定义从父类继承来的__________。(同名变量或属性)

3. 如果子类中的某个方法的名字、返回值类型和________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(参数列表) 4. Java 仅支持类间的____重继承。(单重)

5. 抽象方法只有方法头,没有________。 (方法体)

6. Java 语言的接口是特殊的类,其中包含______常量和_______方法。(static(静态) ; abstract(抽象))

7. 接口中所有属性均为_________、_________和________的。 (public、static、final)

8. 如果接口中定义了一个方法methodA(),一个属性attA,那么一个类ClassA要实现这个接口的话,就必须实现其中的_______方法。(methodA())

9.一个类如果实现一个接口,那么它就必须实现接口中定义的所有方法,否则该类就必须定义成________的。(抽象的)

10. 如果子类中的某个方法的名字、__________和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(返回值类 型) 11. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_____重继承(多重)

12. 在方法头用abstract修饰符进行修饰的方法叫做________方法。(抽象) 13.Java语言中用于表示类间继承的关键字是___________。(extends) 14. 接口中所有方法均为________和________的。 (public、abstract)

15. Java语言中,表示一个类不能再被继承的关键字是________。(final) 16. Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_________________。

(class A extends B implements C)。

17. 如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则methodS()的可见性修饰符必须是__________。(public)

Java基础习题(附答案)3 收藏

1、以下代码的输出结果是________________。(答案:字母j)

int i=9; char c=?a?;

char d=(char)(c+i); System.out.println(d);

2、 面代码执行完后的输出是__________-。(答案:b is:false) int x=3; int y=4;

boolean b=true;

System.out.println(\

3、 表达式(-100%3)的值是_________。(答案:-1)

4、 int x=2,y=4,z=3 则x>y&&z>y的结果是__________________。(答案:false) 5、 写出定义双精度浮点型常量PI,值为3.1415926的语句: (答案: final double PI=3.1415926)

6、 在Java语言中,逻辑常量只有true 和 ___________ 两个值。(答案:false) 7、 表达式1/2*3的计算结果是_________。(答案:0)

8、 执行以下程序段后:a = ________, b = ________ 。(答案:6,18) int a = 5, b;

b = ++a * 3; (注:a++是先用后加,++a是先加后用)

9、 Java中的的字符使用的是 16 位的________________ 编码。(答案:Unicode)

10、 Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 __________两种具体类型。(答案:double)

11、当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是 (答案:(n= =0)?true:false)

12、表达式3/6 * 5的计算结果是________ 。(答案:0)

13、设 x, y,max,min 均为 int 型变量, x、y 已赋值。用三目条件运算符,求变量 x 、y的最大值和最小值,并分别赋给变量 max 和min, 这两个赋值语句分别是 _________和________。(答案:max=x>y?x:y min=x

15、若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是________ 。(答案:30)

16. 注释 用于说明一个程序和改善它的可读性。 17.在一个Java程序中,可以用if 语句执行判断。 18.float 类型声明一个单精度浮点变量。

19.如果Double类提供了方法parseDouble,把一个字符串转变成一个double;而Integer类提供了方法parseInt,把一个字符串转变成一个int,则Float类可能提供 parseFloat 方法,把一个字符 串转换成一个float。

20.所有的程序都可以用三种类型的控制结构编写: 顺序结构 , 选择机构 , 循 环结构 。 一、

1、 下列变量定义错误的是。 (D)

A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;(注:要在 后面叫f或F)

2、 下列数据类型的精度由高到低的顺序是:(B) a)float,double,int,long b)double,float,int,byte

c)byte,long,double,float d)double,int,float,long 3、 执行完下列代码后, (A) int a=3; char b='5';

char c=(char)(a+b); c的值是? A)?8? b)53 c)8 d)56

4、 Unicode是一种_____________(C)

A) 数据类型 B)java包 C)字符编码 D)java类 5、 6+5%3+2的值是___________(D) A)2 B)1 C) 9 D)10

6、 下面的逻辑表达式中合法的是__________(C)

A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7、 java语言中,占用32位存储空间的是__________。(D) A) long,double B) long,float C) int,double D) int,float

8、 假设int a=1,b=2,c=3,以下语句正确的是___________。(D) A) c=c/float(a//b) b) c=c/((float a)/b) c) c=(float)c/(a/b) d) c= c/(int)(a/(float)b) 9、 2|3&5的值是________________。(C) A)1 B)2 C)3 D)5 10、指出下列正确的语句: (D)

A) byte i = 389;

B) long lv = i*3+4.5; C) int x = 87L; D) long l = 10;

11、指出下列类型转换中正确的是______________。(A) A)int i=’A’ B)long L=8.4f C)int i=(boolean)8.9 D)int i=8.3

12、以下的选项中能正确表示Java语言中的一个整型常量的是( )。(C) A) 12. B) -20 C) 1,000 D) 4 5 6 13、以下选项中,合法的赋值语句是( )。(D) A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i );

14、若所用变量都已正确定义,以下选项中,非法的表达式是( )。(C) A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32

15、若有定义int a = 2;则执行完语句a += a - = a * a; 后,a的值是( )。(A) A) 0 B) 4 C) 8 D) –4 16、下列程序段执行后t1的结果是( )。(B) int x1 = 9, x2 = 6, t1; t1 = x1 > x2 ? x1 : x2;

A) 6 B) 9 C) 11 D) 3

17、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是( )。(A)

A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 ) C) k = n % 10 D) k = n / 10

18、现有一变量声明为boolean aa;下面赋值语句中正确的是( )。(A) A)aa=false; B)aa=False; C)aa=\ D)aa=0; 19、设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。(C) i += i - 1;

A) 10 B) 121 C) 11 D) 100 20、下列语句序列执行后,ch1 的值是( )。(D) char ch1=?A?,ch2=?W?;

if(ch1 + 2 < ch2 ) ++ch1;

A) ?A? B) ?B? C) ?C? D) B 21、下列语句序列执行后,i 的值是( )。(D) int i=8, j=16;

if( i-1 > j ) i--; else j--;

A) 15 B) 16 C) 7 D) 8

22、设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。(B)

A) x > y || x > z B) x != y

C) z > ( y + x ) D) x < y & ! ( x < z ) 23、下列程序段执行后 b3 的结果是( )。(C)

boolean b1=true, b2, b3; b3= b1 ? b1 : b2;

A) 0 B) 1 C) true D) false

24、设有定义 int i=123; long j=456; 下面赋值不正确的 语句是( )。(D) A) j=i; B) j=(long)i; C) i=(int)j; D) i=j; 25、下列的变量定义中,错误的是( )。(D) A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$;

26、以下的变量定义语句中,合法的是( )。(C) A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L;

27、以下字符常量中不合法的是( )。(C) A) '|' B) '\\' C) \ D) '我'

28、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。(A) A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

29、执行下列程序段后,b, x, y的值分别是( )。(B) int x=6,y=8; boolean b;

b=x>y&&++x==--y; A) true , 6, 8 B) false , 7, 7

C) true, 7, 7 D) false, 6, 8

1. if选择结构允许程序干什么? 2. 什么是语法错误,请举例说明。 3. 什么是逻辑错误,请举例说明。 4. 为什么程序员要在代码中插入注释?

5. 在if结构的右括号后面紧跟着分号,为什么会导致逻辑错误。 6. 如下程序的输出结果是什么?

public class Operator {

public static void main(String[] args) {

int x=30; int y=2;

System.out.print(x*y+9/3); } } 答案:63

7. 如下代码的输出结果是什么? System.out.println((8*4*2+6)/2+4); 答案:39

10.写出四种不同的Java语句,实现对整型变量x加一。 答案: x=x+1; x+=1;

++x; x++

12、下列哪些是合法的标识符:

applet、Applet、a++、--a、 4#R、$4、#44、apps (答案:applet、Applet、$4、apps)

13、与“+”有相同优先级或更高优先级的运算符(至少写出3个)。 (答案:!、*、/、++、--)

14、请叙述标识符的定义规则。指出在下面的标识符中,那些是不正确的,并说明原因。

here,_there,this,that,it,2to1,_it。

(答案:标识符 必须以字母、下划线(_)或美元符号($)开头。标识符不能包含运算符,如+, — 等。标识符不能是关键字,如class, public等。标识符不能是true, false 或 null。标识符可有任意长度。注意:Java区分大小写,X和x是两个不同的标识符。

不正确的标识符有:this:关键字、2to1:数字开头)

本文来源:https://www.bwwdw.com/article/ab37.html

Top