文档库 最新最全的文档下载
当前位置:文档库 › java练习题V1

java练习题V1

java练习题V1
java练习题V1

第一章习题及思考题

1. 试分析基本数据类型和引用数据类型的基本特点?

java的8种基本类型: byte,short, char, int, long,float,double,boolean. 与此对应的,java 提供了8种包装类型: Byte,Short,Character,Integer,Long,Float,Double,Boolean. 它们之间的相互转换:例如: double a=1; //把double基本类型转换为Double包装类型 Double b=new Double(a); //把Double包装类型转换为double基本类型 a=b.doubleV alue(); 所谓引用,就是指针了,就是说对象指向的不是数据本身,而是它所在的内存地址. 数组就是引用类型! 一般在传参的时候用的最多。

5. 如果定义有变量double d1, d2=4.0则下列说法正确的是:(B)

A、变量d1,d2均初始化为4.0

B、变量d1没有初始化,d2初始化为4.0

C、变量d1,d2均未初始化

D、变量d2没有初始化,d1初始化为4.0

6. 判断题:所有的变量在使进行用前都必须初始化。(×)

在类中定义的成员变量中的类变量如果你没有初始化java会自动帮你初始化,如果是数字会自动初始化成0,字符会初始化成'o',对象引用会初始化成null. 当然如果你定义的是局部变量就必须初始化了,否则编译会报错

7. 内部数据类型byte的取值范围是:( B )

A、0~65, 535

B、(-128)~127

C、(-32,768)~32,767

D、(-256)~255

8. 下列哪些是不能通过编译的语句:( B )

A、int i = 32;

B、float f = 45.0;

C、double d = 45.0;

D、char a=‘c’;

9.判断题:Java中数据类型的长度与具体使用的机器相关。(×)

与您所使用的平台无关

10. 如果定义有double x;float y;int m,则表达式x*y-m的类型为(A ):

A、double

B、float

C、int

D、short

11. 如果定义有short s;byte b;char c,则表达式s*b+c的类型为(C):

A、char

B、short

C、int

D、byte

12. 已知int i= 2147483647; ++i;则i的值等于多少( A )

A -2147483648

B 2147483647

C 2147483648

13. 已知byte i= 127; ++i;则i的值等于多少( A )

A -128

B 127

C 128

14. 已知byte i= 127; i=i+1;这两行语句能否编译成功?(不能)

15. 执行以下程序段int a=5,b; b=++a*3后b的值为:( B)

A、17

B、18

C、16

D、15

16. 如果x=3,y=5,则表达式x|y的值为:( D )两位数有1,则为1

A、15

B、8

C、1

D、7

17. 如果int a=3,b=2,则执行a*=b+8后a的值为:( B )

A、20

B、14

C、30

D、16

18. 若所用变量都已正确定义,以下选项中,非法的表达式是:( C )

A、a!=4||b==1

B、'a'%3

C、'a'=1/2

D、'A'+32

19. 设有定义语句int a[]={1,1,2}; 则以下对此语句的叙述错误的是( C )。

A、定义了一个名为a的一维数组

B、a数组有3个元素

C、a数组的下标为1~3

D、数组中的每个元素是整型

20. 以下数组初始化形式正确的是:( A )

A、int t1[][]={{1,2},{3,4},{5,6}}

B、int t2[][]={1,2,3,4,5,6}

C、int t3[3][2]={1,2,3,4,5,6}

D、int t4[][];t4={1,2,3,4,5,6}

第二章习题及思考题

1、编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小

的排序

public class ArrayPaiXu

{

public static void main(String[] args)

{

int temp;

int a[]={20,10,55,40,30,70,60,80,90,100};

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

{

for(int j=0;j<10;j++)

{

if(a[i]>a[j])

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

for(int k=0;k<10;k++)

{

System.out.println(a[k]);

}

}

}

2、求两个整数的最大公约数

import java.util.Scanner;

public class ZuiDaGongYueShu {

public static void main(String[] args) {

System.out.println("请输入第一个数m的值");

Scanner sc = new Scanner(System.in);

int m = sc.nextInt(); // 定义第一个数并从键盘获取

System.out.println("请输入第二个数n的值");

Scanner sca = new Scanner(System.in);

int n = sca.nextInt(); // 定义第二个数并从键盘获取

int temp; // 定义公约数

temp = n; // 给公约数赋初值

if (m % temp == 0)

{

System.out.println("m n的最大公约数为:" + n);

}

else

{

for (; temp > 0; temp--)

{

if (m % temp == 0 && n % temp == 0)

{

System.out.println("m n 的最大公约数为:" + temp);

break;

}

}

}

}

}

3、请打印出如下九九乘法表

* | 1 2 3 4 5 6 7 8 9

-------|------------------------------------

1 | 1

2 | 2 4

3 | 3 6 9

4 | 4 8 12 16

5 | 5 10 15 20 25

6 | 6 12 18 24 30 36

7 | 7 14 21 28 35 42 49

8 | 8 16 24 32 40 48 56 64

9 | 9 18 27 36 45 54 63 72 81

public class ChengFaBiao

{

public static void main(String[] args)

{

System.out.print(" * ");

for(int k=0;k<10;k++)

{

System.out.print(k+" ");

}

System.out.println();

System.out.println("--|-----------------------");

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

{

System.out.print(" "+i+"| ");

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

{

System.out.print(i*j+" ");

}

System.out.println();

}

}

}

4、求一元二次方程ax2+bx+c=0的根,要求a、b、c从控制台输入。

import java.util.*;

class JieHanShu {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

double a, b, c, x1, x2, d;

a = scan.nextDouble();

b = scan.nextDouble();

c = scan.nextDouble();

if (a == 0)

{

if (b == 0)

{

if (c == 0)

System.out.println("方程的根是任意实数");

else

System.out.println("方程无根");

}

else

{

System.out.println("x=" + (-b / c));

}

}

else

{

d = b * b - 4 * a * c;

if (d > 0) {

System.out.println("方程有两个实根");

x1 = (-b + Math.sqrt(d)) / 2 / a;

x2 = (-b - Math.sqrt(d)) / 2 / a;

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

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

} else if (d == 0) {

System.out.println("方程有一个实根");

x1 = -b / 2 / a;

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

} else {

System.out.println("方程有两个虚根");

System.out.println("x1="+ (-b / 2 / a) + "+"+ Math.sqrt(-d)

/ 2 / a + "i");

System.out.println("x1="+ (-b / 2 / a) + "-"+ Math.sqrt(-d)

/ 2 / a + "i");

}

}

}

}

5、求前40个Fibonacci数列

Fibonacci数列:1,1,2,3,5,8,13,21,34,…

从数列看到:F1=1 (n=1)

F2=1 (n=2)

Fn=Fn-1+Fn-2 (n≥3)

class ShuLie {

public static void main(String[] args) {

long f1, f2;

int i;

f1 = 1;

f2 = 1;

System.out.println(f1 + " " + f2);

for (i = 3; i <= 20; i++) {

f1 = f1 + f2;

f2 = f1 + f2;

System.out.println(f1 + " " + f2);

}

}

}

6、已知公鸡5元1只,母鸡3元一只,小鸡1元3只,要求用100元刚好买100只鸡,问有多少种

采购方案。

因为是整数的关系,小鸡的数目必须是3的倍数,设小鸡3n只,公鸡x只,母鸡y只,则2x+3y+n=100 x+y+3n=100 下式两边同乘以二减上式得5n-y=100,y=100-5n x=2n

public class CaiGouFangAn

{

public static void main(String[] args)

{

int i,j,k;

for(i=0;i<20;i++)

{

for(j=0;j<33;j++)

{

k=100-i-j;

if(5*i+j*3+k/3.0==100)

System.out.println(i+" "+j+" "+k);

}

}

}

}

结果如下

0 25 75

4 18 78

8 11 81

12 4 84

7、判断一个字符串是否是回文,例如“rotor“反转之后还是”rotor“,所以是回文。需

查阅String类的一些方法。

import java.util.Scanner;

public class HuiWen

{

// 判断一个字符串是否是回文,例如“rotor“反转之后还是”rotor“,// 所以是回文。需查阅String类的一些方法

public static void main(String args[])

{

System.out.print("请输入字符串");

Scanner sc = new Scanner(System.in);

String str = sc.next();

System.out.println("Is \"" + str

+ "\" a return back String(true/false):"

+ isReturnBackString(str));

}

static boolean isReturnBackString(String str)

{

char[] charStr = str.toCharArray();

char[] charS = new char[charStr.length];

int j = 0;

for (int i = charStr.length - 1; i >= 0; i--)

{

charS[j] = charStr[i];

j++;

}

String s = new String(charS);

if (s.equals(str))

{

return true;

}

else

{

return false;

}

}

}

8、求2-1000内的所有素数

public class SuShu

{

//求2-1000内的所有素数

public static boolean isPrime(int num)

{

for(int i = 2; i <= Math.sqrt(num); i++)

{

//程序默认2是素数,当j=2时,循环不执行

if(num % i == 0)

{

return false;

}

}

return true;

}

public static void main(String[] args)

{

for(int j = 2; j <= 200; j++)

{

if(SuShu.isPrime(j))

{

System.out.println(j + " 是素数");

}

}

}

}

9、在一个循环中使用break,continue和return有什么不同?

public class Circle

{

public static void main(String[] args)

{

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

{

if(i==10)

continue;

if(i==80)

break;

if(i==30)

return;

System.out.println(i);

}

}

}

10、结构化程序设计有哪三种流程?他们分别对应Java中那些语句

答:顺序结构、分支结构、循环结构

顺序结构就是从头到尾一次执行每一个语句 switch( ) {}

分支结构根据不同的条件执行不同的语句或者语句体if(){}....else{} 循环结构就是重复的执行语句或者语句体,达到重复执行一类操作的目的 for(){} while(){} do.....while

第四章习题及思考题

1.什么是类?什么是对象?对象和类是什么关系?

答:类是一组具有相同属性和相同操作的对象的集合

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由组属性和对这组属性进行操作的一组服务组成。主动对象是一组属性和一组服务的封装体其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)。

2、什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素?

答:方法是类的动作

结构是修饰符+ 返回类型+ 方法名+ 方法体

3.创建一个有两个方法的类,其中第一个方法两次调用第二个方法,第一次不使

用this,第二个使用this。

public class TestFile

{

int a;

int one(int i)

{

int s=i+2+two(i);

int a=s+two(i)*2;

return a;

}

int two(int a)

{

this.a=a;

return a;

}

public static void main(String[] args)

{

TestFile tf=new TestFile();

tf.one(2);

System.out.println(tf.one(2));

}

}

4、创建一个类,该类还有int和char类型的成员变量且未被初始化,然后编程输

出这些成员变量的值,查看java是否执行了默认的初始化操作。

class A

{

int i;

char j;

}

public class TestFile1

static int i;

public static void main(String[] args)

{

A tf=new A();

System.out.println(tf.i);//默认0

System.out.println(this.i);//默认0

System.out.println(tf.j);//默认\u00000

}

}

5、创建一个类,该类含有的成员变量和成员方法,创建一个该类的对象,察看

当时图访问这些成员时,编译程序会给出那些信息(注意:在同一目录下的类都属于一个默认的包)。

class TestFile2F

{

int a;

static int b=10;

int Away(int a)

{

System.out.println(a);

return this.a=a;

}

static void Away2()

{

System.out.println("静态方法");

}

}

public class TestFile2

{

public static void main(String[] args)

{

TestFile2F tff=new TestFile2F();

tff.Away(10);

System.out.println(tff.a);

TestFile2F.Away2();

System.out.println(TestFile2F.b);

}

}

6、下面给出了一个矩形类Rectangle,其中含有多个构造方法。上机编译并运行

此程序,观察运行结果,体会其中不同构造方法的设计和使用。

package test1;

class Rectangle //矩形类

{

private int width; //矩形的宽度

private int length; //矩形的长度

Rectangle() //矩形的不带参数的构造函数,缺省的给出长(30)和宽(20) {

length=30;width=20;

}

Rectangle(int l,int w) //矩形的带参数的构造函数

{

length=l;width=w;

}

Rectangle(Rectangle r) //此构造方法以另一个Rectangle作为参数

{

width=r.width(); //通过对象调用函数并附值给相应变量

length=r.length();

}

int width() //返回宽度

{

return width;

}

int length() //返回长度

{

return length;

}

}

public class CRctngle

{

public static void main (String args[ ])

{

Rectangle x1=new Rectangle(); //声明类的对象并实例化

Rectangle x2=new Rectangle(50,40); //声明类的对象并初始化

Rectangle x3=new Rectangle(x1);

System.out.println(x1.length());

System.out.println(x1.width());

System.out.println(x2.length());

System.out.println(x2.width());

System.out.println(x3.length());

System.out.println(x3.width());

}

}

运行结果:

30

20

50

40

30

20

体会:此程序中共定义了3个构造方法:Rectangle()、Rectangle(int l,int w) 、Rectangle(Rectangle r) ,其中Rectangle()是没有参数的,Rectangle(int l,int w)以常数作为参数,Rectangle(Rectangle r)是以对象最为参数。构造函数的调用实在用new运算符创建类对象是由系统自动完成的,构造函数的参数传递和形实结合也是由系统在调用的同时自动完成。

7、下面给出了一个计算阶乘的类Fact和使用该类计算阶乘的程序Check1。编译并运行该程序,观察运行结果,体会方法的参数的传递和返回值的用法。在调用时改变参数的个数和类型,看看编译时会得到什么信息。

class Fact

{

float fact (int n) //定义计算n!的方法

{

int i;

float x =1;

for(i=1;i

x=x*n;

return x;

}

}

public class Check1

{

public static void main (String args[ ])

{

Fact x =new Fact( );

System.out.println(x.fact(10)); //计算10!

System.out.println(x.fact(15)); //计算15!

}

}

运行结果:

1.0E9

2.91929271E16

8、编译并运行下面的程序,观察分析运行结果,体会程序中super和this的用法,进一步理解变量隐藏和方法重写的概念。

package test1;

class SuperClss //定义父类

{

int x;

SuperClss( ) //父类的构造方法

{

x=10;

}

void doClss( )

{

System.out.println("SuperClss.doClass()");

}

}

class SubClss extends SuperClss //定义子类

{

int x;

SubClss( ) //子类的构造方法

{

super( ) ; //调用父类的构造方法

x =100;

}

void doClss( ) //重写父类的doClss方法

{

System.out.println("SubClss.doClss()");

}

void doDemo( ) //演示super和this的方法

{

int x;

x=1000;

super.doClss( ); //调用父类的doClss方法

doClss( ); //调用本类的doClss方法

System.out.println("super.x="+super.x); //父类的x

System.out.println("this.x="+this.x); //本类的x

System.out.println("x="+x); //本方法的x

}

}

public class SuperDemo

{

public static void main(String args[ ]) //主方法

{

SubClss s = new SubClss();

s.doDemo();

}

}运行结果:

SuperClss.doClass()

SubClss.doClss()

super.x=10

this.x=100

x=1000

体会:此程序中定义了一个父类,子类SubClss继承了父类SuperClss,在主函数中定义SubClss类对象s时(即执行语句:SubClss s = new SubClss();时),自动调用类SubClss的构造函数SubClss(),再此构造函数中先执行“super( ) ;”语句,这样就调用类SuperClss的构造方法SuperClss( ),因为super来指明超类中的方法。同样在子类方法doDemo( )中,执行语句“super.doClss( );”时,则调用父类的方法doClss( )。如不用super 来指定的话,,则调用的是子类的方法doClss( ),这里子类SubClss()的成员方法doClss( )重写了父类SuperClss( )的成员方法doClss( )。

语句“System.out.println("super.x="+super.x);”中super调用的是父类SuperClss 的变量x,而语句“System.out.println("this.x="+this.x);”中this调用的子类SubClss 的变量x,关键字this和super分别用来指明子类和父类中同名的成员变量。这里父类SuperClss的成员变量x、子类SubClss的成员变量x和类方法doDemo( )中使用的局部变量x三者同名,则要使用关键字this和super来指定所要使用的变量。如不用则输出的类方法的局部变量,如语句“System.out.println("x="+x);”输出的就是类方法doDemo()的局部变量。这里子类SubClss()的成员变量x隐藏了父类SuperClss( )的成员变量x。

9、编译并运行下面的程序,分析运行结果,体会其中方法重载的用法,进一步理解方法重载的概念。

package test1;

class Father

{

void speak1()

{

System.out.println("我是方法");

}

void speak2(String s)

{

System.out.println("我是有参方法");

}

}

public class OverLoadingDemo

{

public static void main(String[] args)

{

Father f=new Father();

f.speak1();

f.speak2("music");

}

}

运行结果:

I am Father!

I like music.

第五章习题及思考题

1、什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来

什么好处?什么是单重继承?什么是多重继承?

答:

继承是面向对象程序设计中两个类之间的一种关系。当一个类获取另一个类中

所有非私有的数据和操作的定义作为它自己的部分或全部成分时,就称这两个类之间具

有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称

为子类。

面向对象程序设计中的继承,可使得程序结构更加清晰,降低了编码和维护的工作量。

如果一个类只能有一个父类,则这种继承关系称为单重继承;如果一个类可以有多个父类,则这种继承关系称为多重继承。

2、“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否

正确?为什么?

答:这种说法是错误的,因为子类不一定能继承父类的所有域和方法,它只能继承所

有非私有的域和方法。如果子类在继承之外自己定义的域和方法数目小于父类中私有成

员的数目,则子类的域和方法的数目小于父类的域和方法的数目。

3、什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同?

答:子类重新定义父类中已经存在的方法,称为方法的覆盖。注意:方法覆盖与域的隐藏不同。子类重新定义父类已有的域,并不能完全取代它从父类那里继承的同名的域,这个域仍然占用子类的内存空间,在某些情况下会被使用;而当子类重新定义父类的方法时,从父类那里继承来的方法将被新方法完全取代,不再在子类的内存空间中占一席

之地。与方法的覆盖不同,重载不是子类对父类同名方法的重新定义,而是在一个类中定义了同名的不同方法。

4、什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点?

答:一个类中存在多个同名的方法,称为多态。把抽象功能和目的相同,而具体实现

因不同情况而异的方法命名为同名方法,符合面向对象程序设计中抽象、提升概念,封装、隐藏细节的特点,从而提高了程序的简洁性和可读性,降低了类和程序模块直接的相互耦合和依赖。

5、父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?

答:一个子类对象也可以被合法地视为一个父类的对象,即一个父类对象的引用,其

指向的内存单元可能实际上是一个子类的对象。在这种情况下,可以使用强制类型转换,将父类对象的引用转换成实际的子类对象的引用

6、什么是包?它的作用是什么?

答:包是一种松散的类的集合。包的作用主要是把需要协同工作的不同的类组织在

一起,使得程序功能清楚、结构分明

7、 CLASSPATH是有关什么的环境变量?它如何影响程序的运行?如何设置

和修改这个环境变量?

答:CLASSPATH是指定缺省的包文件(字节码文件)路径的环境变量。如果

CLASSPATH设置得不正确,则程序编译、运行时可能找不到所需的类的字节码文件,从

而使程序无法正常运行。

使用如下命令设置或修改CLASSPATH:

SET classpath=,;d:\jdk1.6.0\lib\ext

8、一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象

方法?

答:使用关键字implements可以定义类实现某接口。实现某接口的类如果不是抽

象类,则需要通过重载来实现该接口中的所有抽象方法;如果这个类是抽象类,则它可以不必实现该接口中的所有抽象方法。

9、为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C,举例如下:

计算Plane的时间:"java ComputeTime Plane 20 30 40"

计算Car007的时间:"java ComputeTime Car007 23 34 45"

如果第3种交通工具为Ship,则只需要编写Ship.java,运行时输入:"java ComputeTime Ship 22 33 44"

提示:充分利用接口的概念,接口对象充当参数。

实例化一个对象的另外一种办法:Class.forName(str).newInstance();例如需要实例化一个Plane对象的话,则只要调用Class.forName("Plane").newInstance()便可。

如下:

ComputerTime.java 源程序:

import pkg1.pkg2.*;

import https://www.wendangku.net/doc/5a9230950.html,ng.*;

public class ComputerTime

{ public static void main(String args[])

{ System.out.println("交通工具: "+args[0]);

System.out.println(" 参数A: "+args[1]);

System.out.println(" 参数B: "+args[2]);

System.out.println(" 参数C: "+args[3]);

double A=Double.parseDouble(args[1]); //与valueOf()类似

double B=Double.parseDouble(args[2]);

double C=Double.parseDouble(args[3]);

double v,t;

try {

Common d=(Common) Class.forName("pkg1."+args[0]).newInstance();

v=d.runtimer(A,B,C);

t=1000/v;

System.out.println("平均速度: "+v+" km/h");

System.out.println("运行时间:"+t+" 小时");

}

catch(Exception e)

{

System.out.println("class not found");

}

}

}

包pkg1中Car007.java的源程序:

package pkg1;

import pkg1.pkg2.*;

public class Car007 implements Common //实现方法runtimer()

{ public double runtimer(double A,double B,double C)

{ System.out.println("runtime="+(A*B/C));

return A*B/C;

}

}

包pkg1中Plane.java的源程序:

package pkg1;

import pkg1.pkg2.*;

public class Plane implements Common //实现方法runtimer()

{

public double runtimer(double A,double B,double C)

{

return A+B+C;

}

}

包pkg2中Common.java的源程序接口:

package pkg1.pkg2;

public interface Common

{

double runtimer(double A,double B,double C);

}

10、编写求解几何图形(如直线、三角形,矩型,圆,多边型)的周长,面积的应用程序,要求用到继承和接口等技术。

第六章习题及思考题

a)找出以下有问题的代码

pulic int searchAccount(int[25] number){

number =new int[15];

for(int i=0;i

number[i]=number[i-1]+number[i+1];

return number;

}

答:

①数组的参数说明中不能每含有长度(25)的信息。

②for循环中,当i=0时,number[i-1]=number[-1];这表示已经越界,并产生数组下标越界例外错误。’

③return返回语句不是int类型,必须是int[]类型,因为number是数组。

2、将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母.

public class TestDemo1{

public static void main(String args[])

{

String s=new String("abcABC123");

System.out.println("开始时的"+s);

char a[]=s.toCharArray();

for(int i=0;i

{

if(Character.isLowerCase(a[i]))

{

a[i]=Character.toUpperCase(a[i]);

}

else if(Character.isUpperCase(a[i]))

{

a[i]=Character.toLowerCase(a[i]);

}

}

s=new String(a);

System.out.println("转化后字符串为"+s);

}

}

3、求若干个数的平均数,若干个数从键盘输入.

import java.io.*;

import java.util.*;

public class Main

{

public static void main(String argv[])

{

Scanner cin=new Scanner(System.in); //输入

System.out.print("一共几个数:");

int len=cin.nextInt();//请输入你要求几个数的平均数

int s=0;

System.out.println("依次输入"+len+"个数");

for(int i=0; i

s+=cin.nextInt();

System.out.println("平均数:"+(1.0*s/len));

}

}

4、将一个字符串数组按字典序重新排列.

public class PaiXu1

{

public static void main(String[] args)

{

//将一个字符串数组按字典序重新排列.

String s[]={"shen","ming","huahua","xingxing"};

for(int i=0;i

{

for(int j=0;j

{

if(s[i].compareTo(s[j])<0)

{

String temp;

temp=s[i];

s[i]=s[j];

s[j]=temp;

}

}

}

for(int k=0;k

{

System.out.println(s[k]);

}

}

}

5、编写应用程序,分析字符串,分别输出字符串的单词,并统计出单词个数.

import java.util.*;

public class StringArray

{

//编写应用程序,分析字符串,分别输出字符串的单词,并统计出单词个数

public static void main(String args[])

{

String s = "I am Good boy";

StringTokenizer fenxi = new StringTokenizer(s, " ");

// 空格和逗号做分

int number = fenxi.countTokens();

while (fenxi.hasMoreTokens())

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

(完整word版)Java试题

《Java语言程序设计》 一.选择题:本 大题共20小 题;每小题1 分,共20分。 在每小题给出 的四个选择中,只有一项是符合题目要求的,把所 选择项前的字母填在题后的括号内。 1.一个Java源程序编译后生成的文件为 Test.class,则运行该程序应该使用的命令为 ()。 (A)javac Test (B)javac Test.class (C)java Test (D)java Test.class 2. 下面数据类型的定义中错误的是()。 (A)int a = 10; (B)double d = 1.2; (C)float f = 1.2; (D)char c = ‘A’; 3. 类可以保护它的成员变量和成员函数不会被其 他对象随意访问到,这一特性属于类的()。 (A)封装性(B)继承性 (C)多态性(D)重载 4. 以下关于字符串类的说法正确的是()。 (A)String类用于字符串变量,而 StringBuffer类用于字符串常量 (B)String类用于字符串常量,而 StringBuffer类用于字符串变量 (C)String类的对象只能用“new”关键字 生成 (D)StringBuffer字符串的容量是指字符串 中字符的个数 5. 在Java的异常处理语句中对finally的描述正 确的是()。 (A)不管是否发生异常,finally中的程序 都要执行 (B)只有不发生异常时,finally中的程序 才需要执行 (C)只有异常发生时,finally中的程序才 需要执行 (D)不管是否发生异常,finally中的程序 都不会执行 6. 在子类的定义中有一个和父类同名的成员函 数,这一现象称为函数的()。 (A)继承(B)覆盖 (C)错误(D)重载 7. 下面文件操作中哪一个方法是用来一次创建多 个目录的()。 (A)createNewFiles() (B)mkdir() (C)isDirectory() (D)mkdirs() 8. 在基于Swing的图形用户界面设计中,下面哪 一个属于中间级容器()。

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基础测试题及答案

一、选择题(每题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、; B、(); C、(); D、() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小 的变化而改变? ( B ) A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C ) A.滑块 B.进度条 C.按钮 D.标签

JAVA期末考试试卷

天津城市建设学院2007~2008学年第二学期 《 java 语言程序设计A 》 试题A 卷 课程号:073101-0 试卷说明:闭卷考试,时间120分钟。 一、 填空(本题共15空,每空2分,共30分) 1.如果一个java 源程序文件中定义有4个类,使用sun 公司的JDK 编译器javac 编译该源程序文件将产生_____4___个文件名与类名相同扩展名为___.Class_____的字节码文件。 2.Java 中所有类都是类 __Object__的子类。 3.请填出在java .lang 包中与下列基本数据类型相对应的封装类: float :java .lang .Float , char : _ java .Lang.char_______, boolean : ___ java .Lang.boolean_____。 4.被关键字____final______修饰的方法是不能被当前类的子类重新定义的方法 5.线程的四种状态是__新建_____ 、_运行_ 、_中断 、__死亡___。 6.java 语言中__https://www.wendangku.net/doc/5a9230950.html,ng.Objet ___是所有类的根。 7.Swing 的事件处理机制包括__事件的监听者__、事件和事件处理者。 8.URL_____Uniform Resourse Locator_____是的缩写。 9.java 有两类应用程序java Application 和____java 10.转义字符以___\__开头。 二、选择(本题共20小题,每题2分,共40分) 1.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的 ? ( B ) A 、 ArrayList myList=new Object (); B 、 List myList=new ArrayList (); C 、 ArrayList myList=new List (); D 、 List myList=new List (); 2.paint()方法使用哪种类型的参数? ( A ) A 、 Graphics B 、 Graphics2D C 、 String D 、 Color 3.指出正确的表达式 ( C ) A 、 byte=128; B 、 Boolean=null; C 、 long l=0xfffL; D 、 double=0.9239d; 4.指出下列程序运行的结果 ( B ) public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex .change(ex .str,ex .ch); System .out .print(ex .str+" and "); Sytem .out .print(ex .ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } B 、 good and abc B 、 good and gbc C 、test ok and abc D 、 test ok and gbc 5.运行下列程序, 会产生什么结果 ( A )

Java练习题及答案

Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5

int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name

Java期末考试试卷答案A

JAVA程序设计试卷库(第5套) 一、单选题(每小题 2 分,共 20 分) 1、Java Application源程序的主类是指包含有( A )方法的类。 A. main方法 B. toString方法 C. init方法 D. actionPerfromed方法 2、分析下面的程序段,下面的哪个描述是正确的。( B ) char mychar=’c’; switch(mychar){ default: case ‘a’“a”);break; case ‘b’“b”);break; } A.switch语句块是错误的, 因为switch后面的表达式 值的类型不是整数; B.switch语句块是正确的; C.switch语句块是错误的, 因为default没有放在语 句块的最后面; D.代码运行时,没有任何输出 结果。 3、编译并运行下面的Java程序, 将产生( B )结果。 class A{ int var1=1; int var2; public static void main(String[] args){ int var3=3; A a=new A(); } } A. 0 B. 4 C. 3 D. 代码无法编译,因为var2根本 没有被初始化 4、在Java中,下面关于包的陈述 中正确的是( D )。

A. 包的声明必须是源文件的任意位置; B. 包的声明必须紧跟在import 语句的后面; C. 只有公共类才能放在包中; D. 可以将多个源文件中的类放在同一个包中 5、 在Java 语言中,当一个类的某个变量声明为protected 时下列说法正确的是( C )。 A. 只有同一类中的成员才能访问它; B. 不同包中的任何其他类都能够访问它; C. 同包中的任何其他类能够访问它; D. 不同包中的子类不可以访问该变量。 6、在Java 中,执行下面的语句后,c 的值为( D )。 String s= "Jessica "; char c=s.charAt(6); A. "c " B. "a " C. 'c ' D. 'a ' 7、设有下面两个赋值语句: a = Integer.parseInt(“1024”); b = Integer.valueOf(“1024”).int Value(); 下述说法正确的是( D )。 A .a 是整数类型变量,b 是整数类对象。 B .a 是整数类对象,b 是整数类型变量。 C .a 和b 都是整数类对象并且它们的值相等。 D .a 和b 都是整数类型变量并且它们的值相等。 8、事件剪裁类如WindowAdapter (它实现了WindowListener 接

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

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=””; C、int int = 11; D、int i= ; 5、下列代码的执行结果是: ( D ) public class Test1{ public static void main(String args[]){ float t=; int q=5; }

} A、 40 B、 C、36 D、 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"; 输出结果为:true D、String a=new String("1");String b=new String("1"); 输出结果为: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 ) A、接口和类都可以实现多重继承 B、子类可以继承多个父类 C、子类可以实现多个接口 D、一个子类不能同时继承某一个父类和实现某一个接口 12、一个非抽象子类,如果要实现某个接口,则( A ) A、必须实现该接口中的所有抽象方法 B、可以实现部分抽象方法 C、可以不实现任何抽象方法

JAVA期末考试考卷及答案

《J A V A语言程序设计》期末考试模拟试题 一、单选择题(每小题2分,共10分) 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展 名为( B )。 A. .java B. .class C. .html D. .exe 2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方 法来完成一些画图操作。 A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为 前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题(每空格1分,共20分) 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。

MyApplet必须是 Applet 类的子类并且存储该源程序文件的文件名为MyApplet 。 3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译 器编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。 4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 2 字节内存空间。 5、设 x = 2 ,则表达式 ( x + + )/3 的值是 1 。 6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和 false 。 7、抽象(abstract)方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法方法是不能被当前类的子类重新定义的方法。 8、创建一个名为 MyPackage 的包的语句是 package MyPackag , 该语句应该放在程序的位置为:应该在程序第一句。 9、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。 int s = 0 ; for ( int i = 0 ; i < ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; 10、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.wendangku.net/doc/5a9230950.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

JAVA语言复习题及答案

14年(下)程序设计(JAVA语言)复习题 第一:单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()。 (A) 12 (B) 18 (C) 9 (D) 15 2. 下列选项中,不是Java关键字的是()。 (A) double (B) Integer (C) float (D) default 3. 在成员变量与局部变量重名时,若想在方法使用成员变量,要使用的关键字是()。 (A) super (B) import (C) this(D) return 4. 下列说法中错误的是( B )。 (A) 一个类中的实例方法可以调用其他实例方法 (B) 静态方法可以调用实例方法 (C) 实例方法可以调用静态方法 (D) 静态方法可以调用静态方法 5. 下列关于super的说法中错误的是()。 (A) 用来访问父类被隐藏的成员变量 (B) 用于调用父类中被重写的方法 (C) 用于定义父类 (D) 用于调用父类的构造函数 6. 下列选项属于接口中方法默认访问控制方式的是()。 (A) public (B) private (C) protected(D) default 7. 定义一个名为key的类,下列选项中使其不能被继承的定义是()。 (A) class key{} (B) native class key{} (C) class key{ final;} (D) final class key{} 8. 若有定义String tom=""我们是学生"";则tom.length()的值是()。 (A) 5 (B) 10 (C) 6 (D) 11 9. 调用repaint()方法,会出现什么情况( C )。 (A) 清除以前pain()方法所画的容 (B) 保留原来pain()所画的容 (C) 清除pain()以前所画的容,再一次调用pain()方法 (D) 在pain()以前所画容基础上,再一次调用pain()画新的容 10. 从下面的main()调用java lyrics a kiss is but a kiss 中可以访问单词“kiss”的是()。 (A) args[0] (B) args[5] (C) args[4] (D) args[3] 11. 使一个线程放弃处理器并休眠1.5秒,应调用的方法是()。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500) 12. 如要使处于等待状态的线程恢复到运行状态,应调用的方法是()。 (A) start() (B) run() (C) resume() (D) notify() 13. 如果想获得一个InetAddress对象的主机域名,可调用的方法是()。 (A) getName() (B) getHostName() (C) getAddress() (D) getHostAddress()

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.wendangku.net/doc/5a9230950.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

JAVA复习题及答案(1)

第一章JAV A概述 1.JAV A中哪三种平台:J2ME(嵌入式平台),J2SE(标准平台),J2EE(企业级平台). 2.JAV A从第几版称为JAV A2:JAV A1.2版。 3.JAV A有否指针:无。 4.JAV A的API指的是什么:Application Programming Interface,JAV A的类库。 5.JAV A平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不 是通常的特定机器上的机器码,由平台上的Java虚拟机中的Java解释器解释执行。 6.JAV A有哪两种程序形式:Application和Applet程序。 7.Application程序运行时系统调用程序的哪个方法:main()方法。Applet程序执行时 系统自动调用程序的哪个方法:init()方法。 8.绘图程序中系统自动调用哪个方法:paint(Graphics g)方法。 9.JDK是什么:Java开发工具包(Java Development Kit)的缩写,包括JAVA类库、 JAVA编译器、JAVA解释器、运行时环境、命令行工具。 10.有哪几种主要的可视化的集成源程序编辑环境:Eclipse,JCreator,JBuilder等。 11.安装JDK的可执行文件是:jdk-1_5_0-windows-i586.exe 12.安装JDK帮助文档的是:jdk-1_5_0-doc.zip 第二章JAV A语言基础 13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JAV A中已 定义的用于特定用途的标识符。不能。 14.i++与++i有什么区别? 15.写出各种转义字符?p17。\t,\n,\r,\”,\’,\\ 16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符 的大小写如何设置?Package–名词且小写;Class--名词且第一个字母大写; Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用”-“;Variable—第一个字母小写,不用”_”,”$”(对于inner class有意义); Constants—大写并用”_” 17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。 18.标识符中可否有空格,可否有#号:不能,只能有字母、下划线、美元符、数字 19.判断合法的标识符:identifier,userName,_FH User_Name,_sys_val,$change 2mail,room#//,class,ab-cd,ac eh 20.JAV A中标识符大小写敏感吗? 21.实数类型的两种类型中哪种是默认的:double。 22.float和int型的数据各占多少位(bit)。32位 23.什么叫局部变量:方法内部的变量。 24.局部变量有默认值吗:没有。 25.局部变量出了方法体后还存在吗:不存在。 26.一个变量可以重复定义吗:不能。 27.低级类型的数据与高级类型的数据进行运算时,怎样进行类型转化:低级的类型首先 自动转化为高级类型,然后进行运算。 28.域(field)变量应该定义在方法之外还是方法之内:之外。 29.sum+=i的展开式:sum=sum+i 30.计算a+=a*=b-=(a=4)*(b=2)的结果,其中初始时a=4,b=2。 31.“&”和“&&”的区别? 32.关系运算符与逻辑运算符哪个优先级高,为什么:关系,因为关系运算的结果false

(完整版)java测试试卷(三)

JAVA语言基础内部测试题 一.单项选择题(请选择最符合题目要求的答案)(每题2分) 1、在JAVA中,以下(c )类的对象以键-值的方式存储对象 A、java.util.List B、java.util.ArrayList C、java.util.HashMap D、java.util.LinkedList 2、给定如下所示的JAVA代码,则运行时,会产生( b )类型的异常 String s = null; s.concat("abc"); A.ArithmeticException B.NullPointerException C.IOException D.ClassNotFoundException 3、给定如下Java 程序代码片段,编译运行这段代码,结果是( b )。 java.util.HashMap map = new java.util.HashMap(); map.put("name",null); map.put("name","Jack"); System.out.println(map.get("name")); A.null B.Jack C.nullJack D.运行时出现异常 4、分析如下Java代码,编译运行后将输出(b )。 public class Test{ public Test(){} static void print(ArrayList al){ al.add(2); al=new ArrayList(); al.add(3); al.add(4); } public static void main(String[]args){ Test test=new Test(); ArrayList al=new ArrayList(); al.add(1); print(al); System.out.println(al.get(1)); } } A、1 B、2 C、3 D、4

java笔试题带答案

JA V A笔试题带答案 一.选择题 1.下面关于Java语言说法错误的是:() A.java语言是完全面向对象的B。java语言支持多继承 C.java语言支持多线程D。java语言最早是为消费电子产品领域设计的2.下面标识符中正确的是:() A.*123 B。12java C.continue D。java$next 3.下列关于注释语句的描述中,正确的一项是() A。以//开始的是多行注释语句 B。以结束的是单行注释语句 C。以结束的是可以用于生成帮助文档的注释语句 D。以结束的是单行注释语句 4.为了区分重载多态中同名的不同方法,要求()。 A)形式参数个数或者类型不同B)返回值类型不同 C)调用时用类名或对象名做前缀D)形式参数名称不同 5.下面定义数组的格式中正确的是:() A.int a[10] B。int a=new int[10] C.int []a=new int[5] D.int a[] 6.下面说法中不正确的是:() A.类是对象的抽象,对象是类的实例B。类是组成java程序的最小的单位C.java语言支持多继承D。java一个程序中只能有一个public类 7.定义类时,不可能用到的保留字是()。 A)private B)class C)extends D)implements

8.为AB 类的定义一个公共的构造函数,该方法头的形式为() A.void AB( ) B。public void method( ) C.public method ( ) D。public AB( ) 9.下面说法中不正确的是:() A.java中一个类只允许实现一个接口B。抽象类中允许有非抽象方法的存在 C.类变量(实例变量)可以直接用类名调用D。通过super可以调用基类的构造函数 10.容器JFrame 默认使用的布局编辑策略是() A.BorderLayout B。FlowLayout C。GridLayout D。CardLayout 11.以下哪个表达式是不合法的() A.String x=”Hello”; int y=9; x+=y; B.String x=”Hello”; int y=9; if(x= =y) { } C.String x=”Hello”; int y=9; x=x+y; D.String x=null; int y=(x!=null)&&(x.length()>0) 12.class person { public int addvalue(int a,int b) { int s; s=a+b; return s; }

相关文档