文档库 最新最全的文档下载
当前位置:文档库 › Java基础部分题(参考答案)

Java基础部分题(参考答案)

Java基础部分题(参考答案)
Java基础部分题(参考答案)

基础语法1:

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

2、A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;

3、下列数据类型的精度由高到低的顺序是:

a)float,double,int,long b)double,float,int,byte

c)byte,long,double,float d)double,int,float,long

4、执行完下列代码后,

int a=3;

char b='5';

char c=(char)(a+b);

c的值是?

A)?8? b)53 c)8 d)56

5、Unicode是一种_____________

A) 数据类型B)java包C)字符编码D)java类

6、6+5%3+2的值是___________

A)2 B)1 C)9 D)10

7、下面的逻辑表达式中合法的是__________

A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10D)(9%4)&&(8*3)

8、java语言中,占用32位存储空间的是__________。

A、long,double

B、long,float

C、int,double

D、int,float

9、假设int a=3,b=2,c=1,以下语句正确的是___________。

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)

10、2|3&5的值是________________。

A)1 B)2 C)3D)5

11、指出下列正确的语句:

A) byte i = 389; B) long lv = i*3+4.5;

C) int x = 87L; D) long l = 10;

11、指出下列类型转换中正确的是______________。

A)int i=’A’ B)long L=8.4f C)int i=(boolean)8.9 D)int i=8.3

12、以下的选项中能正确表示Java语言中的一个整型常量的是( )。

A) 12. B) -20 C) 1,000 D) 4 5 6

13、以下选项中,合法的赋值语句是( )。

A) a = = 1; B) ++ i;C) a=a + 1= 5; D) y = int ( i );

14、若所用变量都已正确定义,以下选项中,非法的表达式是( )。

A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32

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

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

C) k = n % 10 D) k = n / 10

16、现有一变量声明为boolean aa;下面赋值语句中正确的是( )。

A)aa=false; B)aa=False; C)aa="true"; D)aa=0;

17、设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。

i += i - 1;

A) 10 B) 121 C) 11D) 100

18、下列语句序列执行后,ch1 的值是( )。

char ch1=’A’,ch2=’W’;

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

A) …A? B) …B? C) …C? D) B

19、下列语句序列执行后,i 的值是( )。

int i=8, j=16;

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

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

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

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

C) z > ( y + x ) D) x < y & ! ( x < z )

21、设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。

A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;

22、下列的变量定义中,错误的是( )。()

A) int i; B) int i=10000; C) static int i=100; D) int 123_$;

23、以下的变量定义语句中,合法的是( )。

A) float $_*5= 3.4F; B) byte b1= 15678;

C) double a =10000; D) int _abc_ = 3721L;

24、以下字符常量中不合法的是( )。

A) '|' B) '\' C) "\n" D) '我'

25、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。

A) b = a!=7 ; B) a = 7 + b + c=9;

C) i=12.3* % 4; D) a = a + 7 = c + b;

26、执行下列程序段后,b, x, y的值分别是( )。

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、以下代码的输出结果是__j____。

int i=9; c har 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("b is:"+(b==(y

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 = _6__, b = __18___ 。

int a = 5, b;

b = ++a * 3;

9、Java中的的字符使用的是16 位的____unicode____ 编码。

10、Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步

分为float和__double__两种具体类型。

11、当整型变量n的值不能被13除尽时,其值为false 的Java语言表达式是___n%13==0____ 。

12、表达式3/6 * 5的计算结果是___0___ 。

13、若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b--)的值是__false____ 。

14、若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是__30__ 。

基础语法2:

1.下列语句序列执行后,m 的值是( )。

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 的值是( )。

int i=4,j=5,k=9,m=5;

if(i>j||m

A) 5 B) 10 C) 8 D) 9

3.下列语句序列执行后,k 的值是( )。

int i=10, j=18, k=30;

switch( j - i )

{ case 8 : k++;

case 9 : k+=2;

case 10: k+=3;

default : k/=j;

}

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

4.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。

A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... }

C) switch a { ...... } D) switch ( a%b ) { ...... }

5.下列语句序列执行后,r 的值是( )。

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

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

A) switch (x + y) { ...... } B) switch ( ch + 1 ) { ...... }

C) switch ch { ...... } D) switch ( a + b ); { ...... }

7.下列语句序列执行后,k 的值是( )。

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

8.下列语句序列执行后,r 的值是( )。

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

9.以下for循环的执行次数是()。

for(int x=0;(x==0)&(x>4);x++);

A)无限次B)一次也不执行C)执行4次D)执行3次

10.下列语句序列执行后,j 的值是( )。

int j=1;

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

A) 15B) 1 C) 60 D) 0

11.以下for循环的执行次数是()。

for(int x=0;(x==0)&(x<4);x++);

A)无限次B)一次C)执行4次D)执行3次

12.下列语句序列执行后,j 的值是( )。

int j=2;

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

A) 15 B) 1 C) 60 D) 32

13.以下由for 语句构成的循环执行的次数是( )。

for ( int i = 0; true ; i++) ;

A)有语法错,不能执行B)无限次

C)执行1次D)一次也不执行

14.下列语句序列执行后,i 的值是( )。

int s=1,i=1;

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

A) 6 B) 4 C) 24 D) 5

15.下列语句序列执行后,j 的值是( )。

int j=8, i=6;

while( i >4 ) i-=2;

- -j;

A) 5 B) 6 C) 7 D) 8

16. 若有循环:

int x=5,y=20;

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

则循环体将被执行( )。

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

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

int m = 8;

do { ++m; } while ( m < 8 );

A)一次也不执行B)执行1次

C)8次D)有语法错,不能执行

18.下列语句序列执行后,i的值是( )。

int i=10;

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

A) 1 B) 5 C) 2 D) 0

19.下列语句序列执行后,i的值是()。

int i=10;

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

A) 1 B) 5 C) 2 D) -1

20.下列循环中,执行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)以上都不是

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

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)以上都不是

27.下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符,请完成程序填空。

public _class__ Class1{

public static void main( String args[] ){

char c='a';

for (int i=1;i<=26;i++)

{ System.out.print(_(char)(c+i-1)+”\t”_); }

}

}

28.下面是一个java应用程序(Application),它的功能是计算s=1+2+3+...+10 ,请完成程序填空。

public __class_ Class1{

public static void main( String args[] ){

int s=0;

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

s+=___i__;

}

System.out.println("s="+s);

}

}

29.下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。

import java.io.*;

public class MyClass{

public static void main(String[] args){

int j=1;

for(int i=1; __i<=9___; i++){

System.out.println(i+"*"+j+"="+__i*j__);

}

}

}

30. 设ch1, ch2是char 型变量:

if ( ch1 == …a? )

{ if ( ch2 == …b? )

System.out.print(" ch1=\?a\? , ch2=\?b\? ");

}else

System.out.print(" ch1!=\?a\? ");

System.out.println(" end ");

问题: 1)若执行前ch1 的值为…a?, ch2 的值为?c? 该程序段输出是什么? end

2)若执行前ch1 的值为?w?, ch2 的值为?b? 该程序段输出是什么?

ch1!=?a? end

3)若执行前ch1 的值为?a?, ch2 的值为?b? 该程序段输出是什么?

ch1=?a?,ch2=?b? end

31.阅读下面的程序段,回答问题。

if ( x < 5 ) System.out.print(" one ");

else{

if ( y < 5 ) System.out.print(" two ");

else System.out.println(" three ");

}

问题:

1)若执行前x=6, y=8,该程序段输出是什么? three

2)若执行前 x=1, y=8,该程序段输出是什么? one

32.下面的程序的输出结果是什么?

public class Mystery {

public static void main (String [] args ){

int y, x = 1 , total = 0 ;

while (x<=10){

y = x*x;

System.out.println( y );

total += y;

System.out.print ln( “Total is ”+total );

}

}

}

33.确定以下各段程序当x=9 , y=11以及x=11 , y=9 时的输出结果。(下面程序我们取消缩进格式)

a)

if ( x < 10 )

if ( y > 10 )

System.out.println(“*****”);

else

System.out.println(“#####”);

System.out.println(“$$$$$”);

b)

if ( x < 10 ) {

if ( y > 10 )

System.out.println(“*****”);

}

else {

System.out.println(“#####”);

System.out.println(“$$$$$”);

}

1.编写一个应用程序,计算1~10之间的各个整数的阶乘,并将结果输出到屏幕上。

class Test1{

public static void main(String args[]){

int i,s;

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

s=1;

for(j=1;j<=i;j++)

s=s*j;

System.out.println(i+“的阶乘为:”+s);

}

}

}

2.用while循环求n2大于12000的最小数n。

class Test1{

public static void main(String args[]){

int n=1;

while(n*n<=12000) n++;

System.out.println(n);

}

}

3.打印2到10000的所有素数,每行显示8个素数。

class Test1{

public static void main(String args[]){

int i,j,n=0;

for(i=2;i<=10000;i++){

for(j=2;j

if(i%j==0)break;

if(j>=i){

System.out.print(i+””);

n++;

if(n%8==0)System.ou.println(“”);

}

}

}

}

4.输出1到100中能被7整除或者个位数是7的数字

class Test1{

public static void main(String args[]){

int i,s;

for(i=1;i<=100;i++){

if(i%7==0 || i%10==7)

System.out.println(i+””);

}

}

}

5. 编写一个程序把十进制的数转换成一个二进制的数

1、编译Java程序的命令是什么?javac

2、执行Java程序的命令是什么?java

3、Java应用程序和小程序的区别是什么?

(1)应用程序编译后可以直接解释执行,而小程序编译后只能嵌入HTML文件中执行;

(2)应用程序至少有一个主方法,它是程序执行的入口和出口,小程序没有主方法,只能按照生命周期运行;

(3)小程序的主类必须继承Applet

面向对象部分1:

1、对象的三要素是什么?对象名、属性、方法

2、对象和类之间的关系是什么?类是对象的集合,对象是类的实例或具体化一.填空题

1. 以下方法fun的功能是求两参数之积。

int fun ( int a, int b ) { __return a*b__; }

2. 以下方法fun的功能是求两参数之积。

float fun ( int a, double b ) { __return a*b_____; }

3. 以下方法fun的功能是求两参数的最大值。

int fun ( int a, int b ) { _____return a>b?a:b______; }

4.以下方法m的功能是求两参数之积的整数部分。

int m ( float x, float y ) { ___return (int)(x*y)__; }

5. 下面是用户程序对Applet 类中方法paint( ) 的重新定义。

public _void_ paint(Graphics _call_)

{ call.drawString("Hello,java!",10,20); }

6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。

public __boolean__ isEven(int a)

{ if(a%2==0)

return __true__;

else

return false;

}

7.同一个类中多个方法具有相同的方法名,不同的___参数__称为方法的重载。二.选择题

1.下列方法定义中,正确的是( )。

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.下列方法定义中,正确的是( )。

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. 下列方法定义中,不正确的是()。

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) 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. 列方法定义中,方法头不正确的是( )。

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),以下能作为这个方法的重载的声明的是()。

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),以下不能作为这个方法的重载的声明的是()。

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) 采用不同的形式参数列表B) 返回值类型不同

C) 调用时用类名或对象名做前缀D) 参数名不同

三.编程题

1.编写一个方法,用来计算并输出:

1-1/2+1/3-1/4+………+(-1)(n-1) *1/n,其中n是用户输入的正整数。

import java.util.*;

class Test1{

public static void main(String args[]){

int n, i,j=1;

double s=0.0;

Scanner r=new Scanner(System.in);

n=r.nextInt();

for(i=1;i<=n;i++){

s=s+1.0/i*j;

j=j*(-1);

}

System.out.println(“计算结果为:”+s);

}

}

2.编写方法,输出n以内的所有完数。完数:如果一个数恰好等于它的因子之和,则这个数就是“完数”。例如:6的因子是1、2、3,而6=1+2+3,因此6就是完数。

import java.util.*;

class Test1{

public static void main(String args[]){

int n, i,j,s;

Scanner r=new Scanner(System.in);

n=r.nextInt();

for(i=1;i<=n;i++){

s=0;

for(j=1;j

if(i%j==0)s=s+j;

if(s==i) System.out.print(“”+i);

}

}

}

4.编写方法,求如下数值:1+1/3+ … + … +1/(2n-1);

import java.util.*;

class Test1{

public static void main(String args[]){

int n, i,j;

double s=0.0;

Scanner r=new Scanner(System.in);

n=r.nextInt();

for(i=1;i<=n;i++)

s=s+1.0/(2*i-1);

System.out.println(“计算结果为”+s);

}

}

5.编写方法,计算一个整数各位数字的和。使用如下方法说明:

public static int sumDigits(long n)

例如:sumDigits(234)返回2+3+4=9

public static init sumDigits(long n){

int s=0;

while(n>0){

s=s+n%10;

n=n/10;

}

System.out.println(n+”各个位上数字和为:”+s);

}

面向对象2:

一、选择题

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

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

2.下列类定义中,不正确的是()。

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

C) static class x implements y1,y2 { .... }

D) public class x extends Applet { .... }

3.下列类头定义中,错误的是()。

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的语句中正确的是( )。

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) public A a=new A( ); B) public A a=A( );

C) A a=new class( ); D) a A;

6.设X 、Y均为已定义的类名,下列声明类X的对象x1的语句中正确的是()。

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) 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) 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)public A(int x){...} B)static A(int x){...}

C)public a(int x){...} D)void A(int x){...}

11.有一个类A,以下为其构造方法的声明,其中正确的是( )。

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的构造方法中不正确的是( )。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) 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; }

二、填空题

1.下面是一个类的定义,请完成程序填空。

public class _MyClass__{

int x, y;

Myclass ( int i, int j__) // 构造方法

{ x=i; y=j; }

}

14. 下面是一个类的定义,请将其补充完整。

class Student_ {

String name;

int age;

Student( _String __ s, int i){

name=s; age=i;

}

}

2.下面是一个类的定义,请将其补充完整。

class __myclass___ // 定义名为myclass的类

{

___static___ int var=666;

static int getvar(){ return var; }

}

3.下面程序的功能是通过调用方法max()求给定的三个数的最大值,

请将其补充完整。

public class Class1{

public static void main( String args[] ){

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

int MaxV alue;

MaxV alue=__max(i1,i2,i3)__;

System.out.println("三个数的最大值:"+MaxV alue);

}

public __static_ 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;

}

}

4.下面是一个类的定义,请将其补充完整。

__class___ A

{ String s;

__static_ int a=666;

A(String s1) { s=s1; }

static int geta( ) { return a; }

}

三、程序阅读题

1.下面是一个类的定义,根据题目要求回答以下问题.

class B{

private int x;

private char y;

public B(int i,char j){

x=i; y=j;

}

public void show(){

System.out.println("x="+x+"; y="+y);

}

public void methodC(int x){

this.x=this.x+x; y++; show();

}

}

(1)定义类B的一个对象b,将类中的变量x初始化为10、变量y初始化为?A?,请写出相应的语句。

(2)若在(1)问基础上有方法调用语句:b.show(); 则输出如何?

(3)若在(1)问基础上增加语句: b.methodC(1); 则输出为何?

2.阅读程序,回答问题。

public class Test52{

static String str1="Hello, Java world! \t";

static String str2="Hello, students! ";

public static void main(String args[])

{ System.out.print(str1); System.out.println(str2); }

}

问题:1)这是哪种形式的java 程序?2)程序的输出是什么?

3. 写出下列程序的输出结果

public class Test{

public static void main(String[] args){

Count myCount = new Count();

int times = 0;

for(int i=0;i<100;i++)

increment(myCount , times);

S ystem.out.println(“count is” + myCount.count);

System.out.println(“time is”+ times);

}

public static void increment(Count c , int times){

c.count++; times++;

}

}

class Count{

public int count;

Count(int c){

count =c;

}

Count(){

count =1;

}

}

4.写出下列程序的输出结果:

public class Test{

public static void main(String[] args){

Cirecle circle1 = new Circle(1);

Cirecle circle2 = new Circle(2);

// Attempt to swap circle 1 with circle2

System.out.println(“Before swap:circle1 = ”+circle1.radius

+”circle2= ”+circle2.radius);

swap(circle1,circle2);

System.out.println(“After swap: circle1 = ”+circle1.radius

+”circle2 = ”+circle2.radius);

}

public static void swap(Circle x , Circle y){

System.out.println(“Before swap: x = ”+x.radius

+”y = ”+y.radius);

Circle temp = x;

x = y; y = temp;

System.out.println(“Before swap: x = ”+x.radius

+”y = ”+y.radius);

}

}

5.阅读下面程序,回答问题:

public class Foo{

int i; static String s;

void imethod(){ }

static void smethod(){ }

}

设f是Foo的一个实例,下列语句正确吗?

System.out.println(f.i);

System.out.println(f.s);

f.imethod();

f.smethod();

System.out.println(Foo.i);

System.out.println(Foo.s);

Foo.imethod();

Foo.smethod();

6.下列程序的输出结果是什么?

public class Foo{

static int i=0; static int j=0;

public static void main(String[] args){

int i=2; int k=3;

{

int j=3; System.out.println(“i + j is ”+ i + j);

}

k = i +j;

System.out.println(“k is”+k);

System.out.println(“j is ”+ j);

}

}

四、简答题

1. 面向对象的软件开发方法用什么把数据和基于数据的操作封装在一起?类

2. 在一个类定义中,用什么描述对象的状态?属性

用什么描述对象的行为? 方法

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

4.一个源程序文件中,能有多于一个的public 类吗?不可以,最多一个

5. 构造方法的方法名可由编程人员任意命名吗?不能,必须与类的名字完全相同

6.类的构造方法名必须和类名相同吗?

7.构造函数有返回值吗?

8. 构造函数可以重载吗?

9. 如果一个类定义中没有定义构造方法,该类有构造函数吗?

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

11. 类的访问控制权有哪两种?

12. 用什么修饰符修饰的方法称为静态方法? 用什么修饰符修饰的属性称为静态属性?

13.静态属性和静态方法仅属于类的一个具体对象吗?它属于谁?

14. static 变量能是private 变量吗?

15. 使用静态成员都能以什么做前缀?

16. static方法中能有this引用吗?

17. 非static方法中可以有this引用吗?

18.static方法能处理非static成员吗?

19.非static方法能处理static成员吗?

五、编程题

1、编写一个类,描述学生的学号、姓名、成绩。学号用整型,成绩用浮点型,姓名用String类型。

编写一个测试类,测试学生类。

class Student{

int sNum;

double score;

String name;

}

public class T1_Student{

public static void main(String[] args){

Student s=new Student();

s.sNum=101;

s.score=97;

https://www.wendangku.net/doc/e22031996.html,="张三";

System.out.println(https://www.wendangku.net/doc/e22031996.html,+"的学号是"+s.sNum+"成绩是"+s.score);

}

}

2、将上述类进行改写,学生拥有判断自己的成绩是否及格的功能。并能够打印输出自己的姓名和是否及格的信息(方法名:printInfo())

编写一个测试类,对学生类进行测试。

class Student{

int sNum;

double score;

String name;

void printInfo(){

if(score>=60){

System.out.println("我的姓名是"+name+"我的成绩为及格");

}

else{

System.out.println("我的姓名是"+name+"我的成绩为不及格");

}

}

}

public class T1_Student{

public static void main(String[] args){

Student s=new Student();

s.sNum=101;

s.score=97;

https://www.wendangku.net/doc/e22031996.html,="张三";

System.out.println(https://www.wendangku.net/doc/e22031996.html,+"的学号是"+s.sNum+"成绩是"+s.score);

s.printInfo();

}

}

3.//构造方法:

设计一个关于三角形的类Trival,其中的属性包括三角形的底di,三角形的高gao,方法包括:默认构造方法、为di和gao指定初值的构造方法、获取三角形面积findArea()。

class Trival

{

double di;

double gao;

Trival()

{

di=1.0;

gao=2.0;

}

Trival(double i,double j)

{

di=i;

gao=j;

}

double findArea()

{

return di*gao/2;

}

}

4、//构造方法:

编写一个类,描述桌子,包括以下几种属性:长、宽、高、颜色。并且使该类具有这样的功能:在定制桌子(即创建桌子对象时),就可以同时指定桌子的长宽高来订制。也可以同时指定长、宽、高、颜色来订制,也可单独指定桌子颜色来订制。

并编写一个测试类测试这几种定制方法。

public class T2_Desk{

public static void main(String[] args){

Desk d1=new Desk(2,1.5,0.6);

System.out.println("第一个桌子的长宽高分别为:"+d1.length+" "+d1.width+" "+d1.height);

Desk d2=new Desk(1,0.6,0.3,"red");

System.out.println("第二个桌子的长宽高和颜色分别为:"+d2.length+" "+d2.width+" "+d2.height+" "+d2.color);

Desk d3=new Desk("green");

System.out.println("第三个桌子的颜色是"+d3.color+"色");

}

}

class Desk{

double length;

double width;

double height;

String color;

Desk(double l,double w,double h){

length=l;

width=w;

height=h;

}

Desk(double l,double w,double h,String c){

length=l;

width=w;

height=h;

color=c;

}

Desk(String c){

color=c;

}

}

5、//访问器方法:

编写一个类,描述银行账户,包括收入、支出和账户余额三种属性,同时包括对这三种属性的读、写的访问器方法,这三种属性都定义为私有的。

该类定义的银行账户还能够通过自己的收入和支出自动计算账户余额。对于账户余额只能读取,自动计算,但不能够直接赋值,也就是不能够写。

编写一个测试类,输入收入和支出项,打印账户余额。

public class T4_Bank{

public static void main(String[] args){

Bank b=new Bank();

b.setIncome(30);

b.setOutcome(10);

System.out.println(b.getAll());

}

}

class Bank{

private double income;

private double outcome;

private double all;

public void setIncome(double i){

income=i;

}

public double getIncome(){

return income;

}

public void setOutcome(double o){

outcome=o;

}

public double getOutcome(){

return outcome;

}

public double compute(){

all=income-outcome;

return all;

}

public double getAll(){

return compute();

}

}

6. //访问器方法:

下面是Name类、Person类和Test类,请将Name类和Person类中所有private 数据域的访问器方法填写完整。

class Name

{

private String firstName;//姓

private String lastName;//名

Name(String f,String l)

{

firstName=f;

lastName=l;

}

//填写访问器方法

public String toString()

Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

java基础测试题及答案

一、选择题(每题2分,共40分) 1、下面哪个是Java语言中正确的标识符( C ) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:(B) A.int x[] = {1,2,3}; B.int x[3] = {1,2,3}; C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3}; 3、下述概念中不属于面向对象方法的是( D )。 A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 4、下面的代码段中,执行之后i 和j 的值是什么? ( B ) int i = 1; int j; j = i++*2+3*--i; A.1, 2 B.1, 5 C.2, 1 D.2, 2 5、下面哪条语句把方法声明为抽象的公共方法?(B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract; 6、下面关于java中类的说法哪个是不正确的?( C ) A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A { int i; static String s; void method1() { } static void method2() { } } A、System.out.println(a.i); B、a.method1(); C、A.method1(); D、A.method2() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小 的变化而改变? ( B ) A、CardLayout B、FlowLayout C、BorderLayout D、GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C ) A.滑块 B.进度条 C.按钮 D.标签

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

java基础测试题

一、选择题48分每题2分 1.面向对象的三大特性不包括() A 封装 B 继承 C 多态 D 消息通信 2.下列声明哪个是错误的() A int i = 10; B float f = 1.1; C double d = 34.4; D long m = 4990; 3.程序的执行结果是() public class Test { public static void main(String [] args){ System.out.println(“”+'a'+1); } } A 98 B a 1 C 971 D 197 4.程序的执行结果是() public class Test { int x; public static void main(String [] args){ Test t = new Test(); t.x=5; change(t); System.out.println(t.x); } public static void change(Test t){ t.x=3; } } A 5 B 3 C 编译出错 D 以上答案都不对 5.关于类与对象说法错误的是() A 类是模板,对象是产品 B 人是类,男人是对象 C 类是对某一事物的描述是抽象的,对象是实际存在的该类事物的个体 D 汽车设计图是类,制造的若干汽车是对象 6.关于构造函数说法错误的是() A 构造函数名与类相同 B 构造函数无返回值,可以使用void 修饰 C 构造函数在创建对象时被调用 D 在一个类中如果没有明确的给出构造函数,编译器会自动提供一个构造函数7.程序的执行结果是() public class Test { public static void main(String [] args){ String str1= new String("abc"); String str2 = new String("abc"); String str3=str1; if(str1.equals(str2)){ System.out.println("true"); }else{ System.out.println("false"); } if(str1==str3){

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

java基础选择题

练习01:请问,以下哪些是合法的变量名? 请选择一个正确答案: (1)_int (2)$marie (3)Integer (4)2much (5)选项(1)、(2)、(3)均正确 答(5) 练习02:请问,以下哪些是JA V A应用的入口程序main()的方法正确语法形式? 请选择一个正确答案: (1)p ublic static void main(Sting[]args) (2)s tatic public void main(String[]args) (3)p ublic void main(String args[]) (4)选项(1)、(2)均正确 (5)选项(1)、(2)、(3)均正确。 答(4) 练习03:请问,以下哪些是初始化数组的正确语法形式? 请选择一个正确答案: (1)i nt x[]={1,2,3};

(2)i nt x[3]={1,2,3}; (3)i nt[]x={0,0,0}; (4)c har[]x={…a?,?b?}; (5)选项(1),(3),(4)均正确。 答(5) 练习04:请问,以下哪些是字节型数据的的取值范围? 请选择一个正确答案: (1)0,+255 (2)-127..+128 (3)-128..+127 (4)0..65535 (5)-32767..+32768 答(3) 练习05:请问,以下哪些描述是正确的? 请选择一个正确答案: (1)int是32位的带符号型整型值。 (2)short型是16位的带符号整形值。 (3)char型是16位的Unicode编码字符。 (4)float型是64位的浮点值。 (5)选项(1),(2),(3)均正确。

Java基础试题及答案

《Java面向对象程序设计》 姓名: 一、判断题(15’) 1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。错 finalize()方法 2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。错方法赋值采用相应的方法 3.有的类定义时可以不定义构造函数,所以构造函数不是必需要写的。对4.类及其属性、方法可以同时有一个以上的修饰符来修饰。对 5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点错6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。错7.Final类中的属性和方法都必须被final修饰符修饰。错 8.最终类不能派生子类,最终方法不能被覆盖。对 9.子类要调用父类的方法,必须使用super关键字。错 10.一个Java类可以有多个父类。错 二、选择题(30’) 1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是(C) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(D)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 4、下列关于修饰符混用的说法,错误的是(D) A.abstract不能与final并列修饰同一个类 B. abstract类中不可以有private的成员 C.abstract方法必须在abstract类中

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

JAVA高级程序员考试题

JA V A高级程序员考试题 (总分:100分,考试时间:120分钟) 一、单项选择题(每题2分) 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 2.Java中不属于基础数据类型的是()。 A.byte B.char C.boolean D.String 3.Math.round(-11.5)等于多少()。 A.11 B.12 C.-11 D.-12 4.Java中调用()方法可以启动线程。 A.run() B.init() C.start() D.main() 5.下面哪种注释方法能够支持javadoc命令() A./**….**/ B./**/ C.// D.都不支持 6.执行如下程序代码: int a = 0; int c = 0; do { --c; a = a-1; } while (a > 0); 后,C的值是()。 A.0 B.1 C.-1 D.死循环 7.执行如下程序代码: String str = “abc”; int i = 3; float f = 4.5f; char ch = …a?; boolean b = true; System.out.println(str + i + f + ch + b); 输入值为()。 A.abc34.5fatrue B.abc34.5a1 C.abc34.5fa1 D.abc34.5atrue 8.执行如下程序代码: int denom = 0; int num = 0; if(denom != 0 && num/denom > 10){

System.out.println(“true”); }else{ System.out.println(“false”); } 以上代码将打印()。 A.true B.false C.先打印true,然后打印false D.编译有错 9.以下哪一行有错误()。 int a [][] = new int [4][]; a[0] = new int[5]; a[1] = new int[5]; int b [][] = new int [][4]; A.第1行B.第2行C.第3行D.第4行 10.int [][] a = new int [3][5]; 请问: a.length = ? a[1].length = ? A.5,3 B.3,5 C.3,3 D.5,3 二、多项选择题(每题3分) 11.XML有()解析方式。 A.DOM B.SAX C.STAX D.FACTORY 12.下列哪些继承Collection接口()。 A.List B.Map C.Set D.Date 13.不能用来修饰interface的有()。 A.private B.public C.protected D.static 14.Java中switch关键字能作用于()数据类型。 A.int B.char C.String D.byte 15.关于Servlet说法正确的是()。 A.Servlet被实例化后,容器运行其init方法 B.Servlet被实例化后,容器运行其service方法 C.服务器销毁实例时运行destory方法 D.Servlet中有get和post两种提交方式 16.关于EJB说法正确的是()。 A.EJB包括了Session Bean、Entity Bean、Message Driven Bean B.EJB基于JNDI、RMI、JA T等技术实现 C.EJB可以部署到tomcat、jboss、weblogic等应用服务器 D.EJB一般应用于企业级的应用

JAVA试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

最新Java基础试题及其答案

Java试题 一单项选择 1)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。() a)protected b)private c)public d)friendly 2)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 4) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList 5)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } (选择一项) a)1 b)2 c)2.5 d)3 6)以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选择一项) a) “23” b)“123”

Java高级编程选择题

1.Thread类用来创建和控制线程,一个线程从下面( )方法开始执行。 A.init() B.start() C.run() D.notifyAll() 2.实现线程体的方式除了继承Thread类,还可以实现( )接口。 A.Cloneable B.Runnable C.Iterable D.Serializable 3.哪个方法是实现Runnable接口所需的 A.wait() B.run() C.stop() D.update() 4.下面让线程休眠1分钟的正确方法是() A.sleep(1) B.sleep(60) C.sleep(1000) D.sleep(60000) 5.以下哪个最准确描述synchronized关键字 A.允许两线程并行运行,而且互相通信; B.保证在某时刻只有一个线程可访问方法或对象; C.保证允许两个或更多处理同时开始和结束; D.保证两个或更多线程同时开始和结束。 6.于Java语言的内存回收机制,下列选项中最正确的一项是( )。 A.Java程序要求用户必须手工创建一个线程来释放内存 B.Java程序允许用户使用指针来释放内存 C.内存回收线程负责释放无用内存 D.内存回收线程不能释放内存对象 7.在java程序中,下列关于线程的说法错误的是: ( ) A.run方法是运行线程的主体 B.多个进程运行时执行顺序是按顺序执行的 C.如果线程死亡,它便不能运行 D.在java中,高优先级的可运行线程会抢占低优先级线程 8.编写线程类,要继承的父类是: A.Object

B.Runnable C.Exception D.Thread 9.启动一个线程的方法是哪项 A . join ( ) B . runf ) C . start ( ) D . sleep ( ) 10.编写线程类,可以通过实现那个接口来实现 A.Runnable B.Throwable C.Serializable https://www.wendangku.net/doc/e22031996.html,parable 11.当一个处于阻塞状态的线程解除阻塞后,它将回到哪个状态 A.运行中状态 B.结束状态 C.新建状态 D.可运行状态 12.在网络编程中,为了定位一个进程,我们需要确定() A.端口号 B.IP地址 C.IP地址和端口号 D.都不是 13.为了从文本文件中逐行读取内容,应该使用哪个处理流对象 A.BufferedReader B.BufferedWriter C.Bufferedlnputstream D.Bufferedoutputstream 14.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接 前,应加载数据库驱动程序,该语句为() A.(“ rs= (“”,””,””).createStatement() B.Statement st= (“”,””,””).createStaement() 15.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为() A.(“ rs= (“”,””,””).createStatement() B.Statement st= (“”,””,””).createStaement() 16.Java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句

Java基础试题

考砸了,把做错的题目重新复习一下对应的知识点 一、单项选择(每题2.5分,20 * 2.5’=50’)A 1.下面哪种情况属于方法重载。 A)方法名相同,参数类型与个数不同 B)方法参数类型相同 C)方法参数个数相同 D)方法名相同,方法参数类型与个数也相同 2.你想用下面的代码查找数组最后一个元素的值,当你编译并运行它的时候,会发 生什么?C public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } A).编译通过并输出0 B).编译通过并输出 null C).编译通过但发生运行时错误 D).编译出错 3.JFrame的默认布局管理器是什么?C 4.Frame 的默认布局是FlowLayout 5.JFrame的默认布局是BorderLayout A)FlowLayout B)GridLayout C)BorderLayout D)CardLayout 6.给定下面的类定义D class Base{ Base(int i){} } class DefCon extends Base{ DefCon(int i){ //XX } } 如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的? A).super(); B).this();

C).this(99); D).s uper(99); 7.启动线程方法正确的是___D________。 A)run( )方法 B)suspend( )方法 C)stop( )方法 D)start( )方法 6、在Java中,调用Math.random() 方法可能返回的结果是(B) Math.random 返回的是一个double值此值大于0.0 且小于1.0 A)132.34 B)0.342 C)29.34E10 D) 1.0009 7、下面的哪一个声明是合法的?B A) public protected amethod(int i) B) public void amethod(int i) C) public void amethod(void) D) void public amethod(int i) 8、假设有以下Java代码:C import java.applet.*; import java.awt.*; public class My_Applet extends Applet { … } 如果要在HTML页中嵌入以上Applet,可按下面()方式完成。(选择一项) A) B) C) D) 9、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关 键字。 A)不需要任何关键字 B)private C)final D)protected 10、下述哪些说法是正确的?A

java基础测试题含答案

Java基础试题 姓名 一、选择题(每题2分,共30分) 1.请写出标识符的命名规则描述正确的是[多选](ABCD ) A、由英文字母、数字、_和$组成,长度不限。 B、标识符的第一个字符不能是数字 C、标识符区分大小写。 D、标识符不能包含空格。 2. 下列属于正确标识符的选项有[多选](BDGH) A. int B. $_Count C. 3M D. Hello E. b-7 F. ms#d G. bool H. D9658 3、下列哪一个不属于java的基本类型( B ) A、int B、String C、float D、byte 4、下列那条语句能编译通过( A ) A、String String=”String”; B、float float=”3.14”; C、int int = 11; D、int i= 1.1; 5、下列代码的执行结果是: ( D ) public class Test1{ public static void main(String args[]){

float t=9.0f; int q=5; System.out.println((t++)*(--q)); } } A、40 B、40.0 C、36 D、36.0 6、int长度描述正确的是(A ) A、-2^31到2^31 - 1 B、-2^32到2^32 - 1 C、-2^7到2^7 - 1 D、-2^8到2^8 - 1 7、关于==和equals方法描述不正确的是( D ) A、==是运算符、equals是方法 B、==只比较对象,equals会先比较对象,如果不是一个对象,会对对象的值进行比较。 C、String a= "1"; String b= "1"; System.out.println(a==b); 输出结果为:true D、String a=new String("1");String b=new String("1"); System.out.println(a==b);输出结果为:true 8、下列关于哪个不属于java的特性( D ) A、封装 B、继承 C、多态 D、重载 9、某一个子类要继承一个父类,要使用关键字(B ) A、import B、extends C、implements D、java 10、某一个子类要实现一个父接口,要使用关键字(C ) A、import B、extends C、implements D、java 11、以下关于接口和类的说法正确的是( C )

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量 c 的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main 方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

Java基础试题及其答案

J a v a基础试题及其答案 The latest revision on November 22, 2020

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复的 c) HashMap Map(key/value)重复定义:hashCode、equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5; Sys((a%2==1) (a+1) /2:a/2) ;三目表达式 } } (选择一项) a)1 b)2

相关文档