搜档网
当前位置:搜档网 › java练习题答案

java练习题答案

java练习题答案
java练习题答案

第1章java语言概述习题

一、填空题

1、面向对象程序的主要特征:继承,__封装___,___多态_____。

2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是

因为它使代码可以__重用或复用___.

3、java语言中,为将源代码翻译成__字节码__文件时产生的错误称为编译错误,

而将程序在运行中产生的错误称为运行错误。

4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java是java

语言中的解释执行器,基本语法是:java[选项]___类名___.

5、java语言的主要贡献者是谁James gosling

二、单选题

1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的

扩展名为( B)。

A、java

B、.class

C、html

D、.exe

2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,

以下(B)项是合法的。

A、public static void main()

B、public static void main(String args[])

C、public static int main(String[] arg)

D、public void main(String arg[])

三、判断

1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√

2、Java语言的源程序不是编译型的,而是编译解释型的。√

四、问答题

1、编写、运行java程序需要经过哪些主要步骤?

答:1.编写源文件,扩展名必须是.java

2.编写java源程序,使用java编译器编写源文件,得到字节码文件

3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字节码

文件。

2、阅读下列java源代码文件,并回答问题

public class Speak{

void speakHello(){

System.out.println("I'm glad to meet you");

}

}

class Xiti8{

public static void main(String args[]){

Speak sp=new Speak();

sp.speakHello();

}

}

(1)上述源文件的名字是什么?Speak.java

(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?Speak.class Xiti8.class

第2章(1)基本数据类型练习题

一、填空题

1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.

2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_

float__和__double__两种具体类型。

3、Java中的浮点类型有两类,分别是float和double类型,其中float取7___位有

效数据,double取_15__位有效数据。

4、布尔类型常量只有两个__true___和__false____,其中前者表示逻辑真,后者表

示逻辑假。

5、浮点型常量又称实型常量,用于表示有小数部分的十进制数,它有两种表示形

式:__小数形式____和__指数形式______。

6、java语言中的各种数据类型之间提供自动转换,如第一种操作数为byte,而第

二种操作数为float,则其结果是__float___类型。

7、java语言的各种数据类型之间提供两种转换,分别是__自动转换__和_强制转换

____。

8、开发与运行Java程序需要经过的三个主要步骤为编写源程序、编译生

成字节码文件和解释运行字节码文件。

9、Java程序中的单行注释符是(// ),多行注释符是(/* */ )。

10、Java中布尔类型的常量有两种,它们是(true)和(false)。

11、Java中用于定义小数的关键字有两个:(float)和(double ),后者

精度高于前者。

二、多选

1、下面有关char类型数据的定义中,正确得是_BE_______?

A. char ch = “a”;

B. char ch = ‘\’‘;

C. char ch = ‘cafe’;

D. char ch = “cafe”;

E. char ch = ‘\ucafe’;

F. char ch = ‘\u10100’;

G. char ch = (char) true;

三、判断

1、Java语言使用的是Unicode字符集,每个字符在内存中占8位。×,16位

2、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。√

四、单选

1、以下哪个不是Java的基本数据类型(B)

A、int

B、Boolean

C、float

D、char

2、如下哪个是Java中有效的关键字( c )

A、name

B、hello

C、false

D、good

第2章(2)数组练习题

一、填空题

1、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是

(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0-4)。

二、多选

1、定义如下的二维数组b,下面的说法正确的是(ACD )。

int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};

A)b.length的值是3。B)b[1].length的值是3。

B) C)b[1][1]的值是5。D) 二维数组b的第一行有3个元素

三、单选

1、以下哪项是main方法的正确形参?(B)

A、String args

B、String ar[]

C、Char arg

D、StringBufferargs[]

2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是(A ).

A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2

3、应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c,回车后输出的结果是( A)。

public class Test {

public static void main(String args[]) {

int k1=args.length;

int k2=args[1].length();

System.out.print(k1+" "+k2);

}

}

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

4、关于下面代码的说法(C)是正确的?

public class Example{

public static void main(String[] args){

int[] arr= new int[10];

System.out.println(arr[1]);

}

}

A、编译时产生错误

B、编译时正确,运行时将产生错误

C、输出零

D、输出空(null)

第3章(1)运算符&表达式&if语句练习题

一、填空

1、Java中,除了_字符型____和___布尔型__外,其他的所有的基本数据类型都支持加,减,乘,除四则运算。

2、短路逻辑运算符包括___&&___和___||___。

3、Java提供了&,&&和|,||运算符,除了一点外,&运算符和&&运算符在使用中

完全相同,|运算符和||运算符也相同。它们的不同点在于:__&__运算符和___|运算符中的两个运算对象都要运算。

4、顺序执行以下两个语句的输出结果是:__10_____。

String s=”我喜欢学习java!”;

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

5、下面代码定义了两个整型变量和一个字节型变量,则将num1+num2的值赋给num3变量的语句是______num3=(byte)(num1+num2)_______。

int num1 = 53;

int num2=47;

byte num3;

6、下面代码中,“Type”应该换成什么类型__double______?

public class ReturnIt {

return Type methodA(byte x, double y) {

return (long)x / y * 2;

}

}

7、Java语言提供了两条基本的分支选择语句:_if___语句和switch____语句

8、以下程序段的输出结果为Message four

int x=0,y=4, z=5;

if ( x>2){

if (y<5){

System.out.println("Message one");

}

else {

System.out.println("Message two");

}

}

else if(z>5){

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

}

else {

System.out.println("Message four");

}

二、单选

1、下面选项中,__D___的值与3*4的值相等?

A. 3/2

B. 3<2

C. 3*2^2

D. 3<<2

2、下面选项中,D_____的值与16/2^12的值相等?

A. 16>4

B. 16/2

C. 16*4

D. 16>>2

E.

16>>>2

3、有以下方法的定义,请选择该方法的返回类型(D)。

ReturnType method(byte x, double y) {

return (short) x/y*2;

}

A、byte

B、short

C、int

D、double

第3章(2)switch&循环语句练习题

一、填空题

1、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几

个语句后的输出结果是120 。

int s = 0 ;

for (int i = 0 ; i < MyIntArray.length ; i + + )

if ( i % 2 = = 1 )

s += MyIntArray[i] ;

System.out.println(s); //s=20+40+60

2、下面程序段的执行结果是(6 5 4 3 2 )

int a[] = { 2, 3, 4, 5, 6 };

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

System.out.print(a[i] + ""); //从大到小排序

3、以“java Sub 3”运行以下程序的结果是:3th season __。

public class Sub{

public static void main(String[] args) {

int i=Integer.parseInt(args[0]);

switch(i) {

case 1: System.out.println("First season"); break;

case 2: System.out.println("Second season"); break;

case 3: System.out.println("3th season"); break;

case 4: System.out.println("Last season"); break;

}

}

}

4.switch(X)中,X可以接受的类型有_byte____,____char___,short,int。

5、以下程序段的输出结果为

_value is two_

value is three ______。

int j=2;

switch ( j ) {

case 2: System.out.print(“Value is two.”);

case 2+1 : System.out.println(“Value is three.”); break;

default: System.out.println(“value is “+j); break;

}

6.如果x=2;则下面程序执行后的结果是_34_____?

switch (x) {

case 1: System.out.println(1);

case 2: case 3: System.out.print(3);

case 4: System.out.println(4);

}

7、下面代码执行结束后l和j的值分别是___5,6___?

public static void main(String[] args) {

int j=10;

int l=1;

do{

if(l++>--j) continue;

}while(l<5);

}

8、下面程序序的运行结果为(20)

class test{

public static void main(String args[]){

int sum=0;

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

if(i%2==0)

sum+=i;

else continue;

}

System.out.println(sum);

}

}

二、单选

1、应用程序的main方法中有以下语句,则输出的结果是 (B )。

int b[][]={{1}, {2,2}, {2,2,2}};

int sum=0;

for(int i=0;i

for(int j=0;j

sum+=b[i][j]; } }

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

A) 32 B)11 C) 2 D) 3

2、应用程序的main方法中有以下语句,则执行后输出的结果是(D)

int[] x={125,21,5,168,98};

int max=x[0];

for(int i=1;i

if(x[i]> max) max =x[i];

}

System.out.println(max);

A) 125 B) 5 C) 98 D) 168

第4章(1)类和对象练习题

一、填空

1、面向对象程序的主要特征:继承,____封装___________,___多态___________。

2、____构造方法_是类中的一种特殊方法,用来定义对象的初始状态。

3、构造方法在__创建对象__时被调用。

4、系统类Math的random()方法可用来产生0-1.0之间的实数,则产生一个50 -100之间的整数的程序语句是_(int)Math.random()*50+50______。

5、下面代码执行结束之后,打印出来的结果是__4____?

public class Happy {

public static void main(String args[]) {

int i=4; int j=2; methodA(i,j);

}

System.out.println(i);

}

static public void methodA(int i,int j) {

i<<=j;

}

}

☆6、在java语言中,有一个类是所有类和接口的父类,这个类的名称是

https://www.sodocs.net/doc/b312128581.html,ng.Object(Object)_____。

7、构造方法在__创建对象__时被调用。

8、java运行系统通过垃圾回收机制/GC____周期性的释放无用对象所占用的内存,

以完成对象的消除。

9、阅读以下程序,输出结果为_1.23___。

class Q1{

public static void main(String args[ ]){

double d=1.23;

Dec dec=new Dec( );

dec.decrement(d);

System.out.println(d);

}

}

class Dec{

public void decrement(double decMe){

decMe = decMe -0.1;

}

}

10、阅读程序

public class Test{

int x=12; public void method1(int x){

x+=x;

System.out.println(x);

}

}

如果有如下的代码段:

Test t=new Test();

t.method1(5);

程序执行到这个地方,代码输出结果是__10___?

11、定义在类中的变量为_成员变量___,它不需要进行显式的初始化,

定义在方法中的变量为__局部变量__,它需要进行显式的初始化。

12、面向对象的模型中,最基本的概念是__类_和_对象__。

二、多选题

13、下面选项中,__AC_______是合法的构造方法的重载?//无返回值public class ConstOver {

public ConstOver (int x, int y, int z) { }

}

A. ConstOver ( ) { }

B. Protected int ConstOver ( ) { }

C. Private ConstOver (int z, int y, byte x) { }

D. Public Object ConstOver (int x, int y, int z) { }

E. Public void ConstOver (byte x, bytey, byte z) { }

14、下面说法中___AC___是对方法setVar()重载的方法。

public class MethodOver {

public void setVar (int a, int b, float c) { }

}

A. Private void setVar (int a, float c, int b) { }

B. Protected void setVar (int a, int b, float c) { }

C. Public int setVar (int a, float c, int b) {return a;}

D. Public int setVar (int a, int b, float c) {return a;}

E. Protected float setVar (int a, int b, float c) {return c;}

第4章(2)可变参数,static与this练习题

一、填空题

1、在下面程序划线处填入适当的内容。

class MyClass{

static int var=100;

____static

public static___

int getVar() { return var;

}

}

2、以下程序段的输出结果为int version______ 。

class Cruncher{ void crunch( int i ){

System.out.println(“int version”);

}

void crunch(String s){

System.out.println(“String version”);

}

public static void main(String args[ ]){

Cruncher crun=new Cruncher ( );

char ch=’p’;

crun.crunch(ch);

}

}

3、以下程序段的输出结果为_Integer String____。

class IntORString{ void iosM( int i ){

System.out.print(“Integer ”);

}

void iosM(String s){

System.out.print(“String ”);

}

public static void main(String args[ ])

{

IntORString ios=new IntORString ( );

ios.iosM(‘a’);

ios.iosM(“1”);

}

}

4、如果有个类A,该类中有成员变量b和成员方法c(),则在创建该类得对象a

后,对该对象的成员变量和成员方法的调用方式分别是a.b___,__a,c()__。

5、以下代码段创建了__2_个对象,声明了_3____个变量。

Thing item, stuff;

item = new Thing();

Thing entity = new Thing();

6、通过类MyClass中的不含参数的构造函数象obj,可通过以下语句实现:_MyClass obj=new MyClass()________。

7、下面____AD_____情况下,系统会为类A自动产生构造函数?

A. class A { }

B. class A { public A() {} }

C. class A { public A(int x) {} }

D. class Z {} class A extends Z { void A() {} }

8、请问构造函数、成员变量初始化以及静态成员变量初始化三者的先后顺序是__

静态成员变量初始化,成员变量初始化,构造函数_____。

9、划线处应填的一句代码:_ this (a) _______。

public class Example{

int x,y;

public Example(int a){

x = a;

}

public Example(int a, int b){

_this (a) __________;//调用上面的一个参数的构造方法

y = b;

}

}

10.关键字___final____表明一个对象或变量在初始化后不能被修改。

11、类是对象的抽象,是属性和操作的封装体,其中属性是事物静态特征的抽象,

在程序中用数据成员描述,操作是事物动态特征的抽象,在程序中用成员方法描述。

第4章(3)包_访问权限_基本数据类型封装练习题

一、填空题

1、请填出在https://www.sodocs.net/doc/b312128581.html,ng包中与下列基本数据类型相对应的封装类:

float:https://www.sodocs.net/doc/b312128581.html,ng.Float,char:_https://www.sodocs.net/doc/b312128581.html,ng.Character________ ,boolean:

_https://www.sodocs.net/doc/b312128581.html,ng.Boolean __________.

2、java中提供了四种访问控制符,分别是:

public__________,___protected________,_private________,____缺省(friendly)________

3、以下程序段的输出结果为_true ,false_________。

public class EqualsMethod {

public static void main(String[] args) {

Integer n1 = new Integer(47);

Integer n2 = new Integer(47);

System.out.print(n1= =n2);

System.out.print(“,”);

System.out.println(n1! =n2);

}

}

4、在java中,将具有相同属性的对象抽象成_类___。然后将它按照程序设计所需要的常用方法和接口封装成__包_。

5、创建一个名为MyPackage 的包的语句是package Mypackage ,

该语句应该放在程序的位置为:放在程序的第一句。

6、导入mypackage包中的所类的命令是import mypackage.*;

二、单选题

1、不允许作为类及类成员的访问控制符的是( C )。

A. public

B. private

C. static

D. protected

2、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A. static void method( )

B. public void method( )

C. final void method( )

D. abstract void method( )

3、下列修饰符中与访问控制无关的是( D)

A.private B.Public C.protected D.final

4、void的含义:( A)

A.方法没有返回值B.方法体为空

C.没有意义 D. 定义方法时必须使用

5、关于对象成员占用内存的说法哪个正确?( B)

A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

C.对象的方法不占用内存

D.以上都不对

6、定义一个类,必须使用的关键字是( B)

A、public

B、class

C、interface

D、static

第5章(1)继承与多态练习题答案

一、选择题

1、关于继承的说法正确的是:( B )

A、子类将继承父类所有的属性和方法。

B、子类将继承父类的非私有属性和方法。

C、子类只继承父类public方法和属性

D、子类只继承父类的方法,而不继承属性

2、this和super:( B )

A、都可以用在main()方法中

B、都是指一个内存地址

C、不能用在main()方法中

D、意义相同

3、关于super的说法正确的是:( B )

A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址

C、是指当前对象的父类

D、可以用在main()方法中

4、覆盖与重载的关系是( A )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

5、定义一个类,必须使用的关键字是( B )

A、public

B、class

C、interface

D、static

6、如果有如下这样一段代码

class A {

A() { }

}

class B extends A {

}

请在下面项中,正确的说法是:____________ B D

A、类B的构造函数的访问权限是public

B、类B的构造函数没有参数

C、类B的构造函数中包含this()方法的调用;

D、类B的构造函数中包含super()的调用

7、下面(AD)情况下,系统会为类A自动产生构造函数?

A. class A { }

B.class A {

public A() {} }

C. class A {

public A(int x) {} }

D. class Z {}

class A extends Z {

void A() {} }

二、填空题

1、java中提供了两种用于多态的机制重载,覆盖.

2、this代表了当前对象的引用,super表示的是当前对象的父类对象。

3、如果子类中覆盖了父类中的同名方法,则在子类中调用父类中的同名方法是使用关键字super。

在一个类的内部可以直接调用本类的对象,也可以使用关键字this来调用。

4.子类可以继承父类的成员变量和成员方法,但是不能继承父类的构造函数。

5、下面代码执行后的结果是2

class Super {

public int i = 0;

public Super(String text) {

i = 1;

}

}

public class Sub extends Super {

public Sub(String text) {

super(text);

i = 2;

}

public static void main(String args[]) {

Sub sub = new Sub("Hello");

System.out.println(sub.i);

}

}

6、如果在一个文件中有package,import以及class的定义,请给出三者在文件中的先后顺序。package,import ,class .

7.父类的final方法可以被子类重写吗?答案:不可以

第5章(2)接口练习题答案

一、选择题

1、定义一个接口必须使用的关键字是( C )

A、public

B、class

C、interface

D、static

2、抽象方法:( C )

A、可以有方法体

B、可以出现在非抽象类中

C、是没有方法体的方法

D、抽象类中的方法都是抽象方法

3、关于接口哪个正确?( A )

A、实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口

C.接口间不能有继承关系D.接口和抽象类是同一回事

二、填空题

1、抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。final方法是不能被当前类的子类重新定义的方法。

2、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。

3、接口由两部分组成接口声明以及接口体。

4、接口可以看作是仅容纳抽象法以及常量,而又不能直接生成对象的特殊类。

5、用于将一个类修饰为最终类的关键字是final。用于声明一个类为抽象类的关键字是abstract。

6、abstract不能和final 共同修饰一个类。

7、java中用extends 关键字指明继承关系.用implements关键字指明对接口的实现。

8、如果Alpha类继承Beta类,Alpha类被称为子(基)类,Beta类被称为父(超)类。

9、子类可以继承父类的成员变量和成员方法,但是不能继承父类的构造函数。

10、下面程序的输出结果是:_ Art constructor , Drawing constructor , Cartoon constructor 。class Art {

Art() {

System.out.println("Art constructor");

}

}

class Drawing extends Art {

Drawing() {

super();

System.out.println("Drawing constructor");

}

}

class Cartoon extends Drawing {

Cartoon() {

super();

System.out.println("Cartoon constructor");

}

public static void main(String[] args) {

Cartoon x = new Cartoon();

}

}

11、写出以下程序的运行结果__4 ____

import java.io.*;

public class ATest{

public static void main(String args[]) {

SubClass sb = new SubClass( );

System.out.println(sb.fun( ));

}

}

class SuperClass{

int a =24 , b =5 ;

}

class SubClass extends SuperClass{

int fun( ) { return a%b;}

}

三、多项选择题

1、与第2行等价的定义方式是_____。A B

1. public interface Foo {

2. int k = 4;

3. }

A. final int k = 4;

B. public int k = 4;

C. abstract int k = 4;

D. volatile int k = 4;

E. protected int k = 4;

2、下面几个方法中,_____可以放在接口(interface)中。A B

A.void methoda();

B. public double methoda();

C. public final double methoda();

D. static void methoda(double d1);

E. protected void methoda(double d1);

3、请问如下选项中,_____可以使得以上代码编译没有错误。E

1. public abstract class Test {

2. public abstract void methodA();

3.

4.public abstract void methodB()

5. {

6. System.out.println(“Hello”);

7. }

8.}

A 给methodA加上方法体;

B 将第5-7行的代码用“;”代替

C 将类Test前面的修饰符abstract去掉

D 将方法methodA前面的修饰符abstract去掉

E 将方法methodB前面的修饰符abstract去掉

4、下面选项中,_____可以是合法的方法重写的形式。BD

class BaseClass {

private float x = 0f;

protected float getVar() { return x; }

}

class SubClass extends BaseClass {

private float x = 0f;

____________________

}

A. float getVar() { return x; }

B. public float getVar() { return x; }

C. public double getVar() { return x; }

D. protected float getVar() { return x; }

E. public float getVar(float f) { return f; }

5、如果有如下这样一段代码

class A { A() { } }

class B extends A { }

请在下面项中,正确的说法是:B D

A.类B的构造函数的访问权限是public

B、类B的构造函数没有参数

C、类B的构造函数中包含this()方法的调用;

D、类B的构造函数中包含super()的调用

三、课后习题答案

3.什么类中可以有abstract方法?

答案:abstract类。

4.什么叫对象的上转型对象?

答案:假设B类是A类子类或间接子类,当我们用子类B创建一个

对象,并把这个对象的引用放到A类的对象中时,称这个A类对象

是子类对象的上转型对象。父引用指向子对象。

5.什么叫接口的回调?

答案:可以把实现某一接口的类创建的对象的引用赋给该接口声明

的接口变量中。那么该接口变量就可以调用被类实现的接口中的方

法。

6.下列叙述哪些是正确的?AD

A. final类不可以有子类

B. abstract类中只可以有abstract方法。

C. abstract类中可以有非方法,但该方法不可以用final修饰。

D.不可以同时用final和abstract修饰一个方法。

9.写一个类A,该类创建的对象可以调用方法f输出英文字母表,

然后再编写一个该类的子类B,要求子类B必须继承A类的方法f

(不允许重写),子类创建的对象不仅可以调用方法f输出英文字

母表,而且可以调用子类新增的方法g输出希腊字母表。

class A {

public final void f() {

char cStart = 'a', cEnd = 'z';

for (char c = cStart; c <= cEnd; c++) {

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

}

}

}

class B extends A {

public void g() {

char cStart = 'α', cEnd = 'ω';

for (char c = cStart; c <= cEnd; c++) {

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

}

}

}

public class Xiti9 {

public static void main(String args[]) {

B b = new B();

b.f();

b.g();

}

}

10.写一个类,该类有一个方法public int f(int a,int b),该

方法返回a和b的最大公约数。然后再编写一个该类的子类,要求子类

重写方法f,而且重写的方法将返回a和b的最小公倍数;要求在重写

的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将

乘积(a*b)/m返回;要求在应用的程序的主类中分别使用父类和子类

创建对象,并分别调用方法f计算两个正整数的最大公约数和最小公倍

数。

class A {

public int f(int a, int b) {

if (b < a) {

int temp = 0;

temp = a;

a = b;

b = temp;

}

int r = b % a;

while (r != 0) {

b = a;

a = r;

r = b % a;

}

return a;

}

}

class B extends A {

public int f(int a, int b) {

int division = super.f(a, b);

return (a * b) / division;

}

}

public class Xiti9 {

public static void main(String args[]) {

A a = new A();

B b = new B();

System.out.println("最大公约数:" + a.f(36, 24));

System.out.println("最小公倍数:" + b.f(36, 24));

}

}

第6章内部类与异常类练习题

一、填空题

1、Throwable类有两个子类,分别是Error和Exception.

2、所有异常的根类是Throwable类,throw关键字的作用是引发异常。

3、try关键字负责定义处理异常的程序,再来由catch关键字来捕获异常。

4、补足代码;调用两个函数,要求用匿名内部类

interface Inter {

void show(int a,int b);

void func();

}

class Demo {

public static void main(String[] args) { Inter in=new Inter(){

Void show(int a,int b){}

Void func(){}};

in.show(4,5);

in.func();

}

}

5.、下面程序的输出结果是:BCD

class Demo {

public static void func() throws Exception { try{

throw new Exception();

}

finally{

System.out.println("B");

}

}

public static void main(String[] args){

try{

func();

System.out.println("A");

}

catch(Exception e){

System.out.println("C");

}

System.out.println("D");

}

}

6.在java中所有的异常类都继承自https://www.sodocs.net/doc/b312128581.html,ng.Throwable类,它有两个直接子类,一个是Error类,另一个是Exception类。

7、Java语言中,可以用throw语句和throws语句抛出异常,其中throws语句的作用是用来改变程序的执行流程,使程序跳到相应的异常处理语句中执行。throw语句把异常向上移交给调用这个方法的方法来处理。

8.下述代码执行后的结果是ACD

class X {

public static void main(String [] args) {

try {

badMethod();

System.out.print("A");

}

catch (Exception ex) {

System.out.print("B");

}

finally {

System.out.print("C");

}

System.out.print("D");

}

public static void badMethod() {}

}

单选题:

1、下面选项中,C不能用在throw语句中?

A. Error

B. RuntimeException

C. Object

D. Throwable

E. Exception

第9章String类练习题答案

一、填空

1、程序执行后的显示结果是abcdefabcDEF。

public class Question {

public static void main (String args[]) {

String s1 = "abc";

String s2 = "def";

String s3 = s1.concat(s2.toUpperCase());

System.out.println(s1+s2+s3);

}

}

2.

String s1 = "ab";

String s2 = "abcd";

System.out.print("s1 "+ (( s1== s2)? "==": "!=") + " s2"); 这个代码段显示的结果是s1 != s2?

3.下面程序段输出结果的第一行是rtrme,第二行是r。

String s="false()rtrme";

String s2=s.substring(7);

String s3=s2.replace('m','u');

System.out.println(s2);

System.out.println(s3.charAt(2));

System.out.println(s3.toUpperCase());

第三行输出结果为RTRUE。

4.第5行的时候foo的值是baseball

String foo = "base";

foo.substring(0,3);

foo.concat("ket");//是返回 foo + "ket",但foo本身的值并不必变, foo+="ball";//改成foo = foo.concat("ket"),结果就是baseketball了System.out.println(foo);

5、如下这段代码执行后,字符串s的值是hellothere

String s="hello";

s.concat("mrs");

s.toUpperCase();

s+="there";

System.out.println(s);

6.下面这段程序执行后,屏幕上显示的是:true。

public class Exam{

public static void main(String[] args){

char char1[]={'t','e','s','t'};

char char2[]={'t','e','s','t','1'};

String s1=new String(char1);

String s2=new String(char2,0,4);//提取字符数组char2[],从索引0开始,提取个数为4个。

System.out.println(s1.equals(s2));//s1与s2中的实体(即内容)是

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、在现实生活中,对象是指客观世界的实体

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语言练习题库(含答案)

单选题 1. 为了保证方法的线程安全,声明方法的时候必须用哪个修饰符? (A) new (B) transient (C) void (D) synchronized 2. 编译Java源文件使用哪个? (A) javac (B) jdb (C) javadoc (D) junit 3. 哪一种类的对象中包含有Internet地址。 (A) Applet (B) Datagramsocket (C) InetAddress (D) AppletContext 4. 有关GUI容器叙述,不正确的是? (A) 容器是一种特殊的组件,它可用来放置其它组件 (B) 容器是组成GUI所必需的元素 (C) 容器是一种特殊的组件,它可被放置在其它容器中

(D) 容器是一种特殊的组件,它可被放置在任何组件中 5. 使用javadoc生成的文档的文件格式是? (A) XML格式 (B) 自定义格式 (C) 二进制格式 (D) HTML格式 6. 下列有关类、对象和实例的叙述,正确的是哪一项? (A) 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 (B) 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 (C) 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 (D) 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 7. 在事件委托类的继承体系中,最高层次的类是哪项? (A) java.util.EventListener (B) java.util.EventObject (C) java.awt.AWTEvent (D) java.awt.event.AWTEvent 8. Java语言中异常的分类是哪项? (A) 运行时异常和异常 (B) 受检异常和非受检异常

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习题及答案第1章 习题参考答案

第1章习题解答 1.Java语言有那些特点? 答:Java语言的特点包括:平台无关性、面向对象、简单性、安全性、分布式、健壮性、解释型、多线程。 2.为什么说Java是结构中立的,具有跨平台特性? 答:无论哪种编程语言编写的程序最终都需要操作系统和处理器来完成程序的运行,平台无关性是指软件的运行不因操作系统、处理器的变化导致程序无法运行或出现运行错误。 以C++程序为例,C++编译器针对源程序所在平台进行编译、连接,然后生成机器指令,这样就无法保证C++编译器产生的可执行文件在所有平台上都被正确执行。如果更换了平台,可能需要修改源程序,并针对新的平台重新编译源程序。 相反,Java源代码不会针对一个特定平台进行编译,而是生成一种字节码中间文件(class 文件),这种文件是平台无关且体系结构中立的。也就是说,无论一个Java程序是在Windows、Solaris、Linux还是其他具有Java编译器的操作系统下编译,作为编译结果的字节码文件都是相同的,都可以在任何具有Java虚拟机(JVM)的计算机上运行。JVM能够识别这些字节码文件,JVM将字节码文件进行转换,使之能够在不同平台上运行。任何操作系统只要安装了JVM,就可以解释并执行这种与体系结构无关的字节码文件,实现了跨平台。 跨平台特性保证了Java的可移植性,任何Java源程序都可以移植到其他平台上。除此之外,Java的数据类型与机器无关,原始数据类型存储方式是固定的,避开了移植时可能产生的问题。例如,在任何机器上,Java的整型都是32位的,而C++中整型的存储依赖于目标计算机。另外Java的字符串采用标准的Unicode格式保存,也保证了Java的可移植性。 3.简述Java的3种主要平台,这些适合开发那种应用? 答:Java的开发平台(JDK)是开发人员用来构建Java应用程序的软件包,它包括:Java 虚拟机(JVM)、Java编译器(javac)、Java归档(jar)实用程序、Java文档(javadoc)实用程序等。目前,Java的运行平台主要分为下列3个版本。 (1)Java标准版 Java标准版即Java SE,曾被称为J2SE。Java SE提供了标准的JDK开发平台,利用该平台可以开发桌面应用程序、低端的服务器应用程序以及Java Applet程序。学习Java应当从Java SE开始,本书主要介绍Java SE。

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笔试题及答案

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笔试题及答案.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.(×)接口和类一样也可以有继承关系,而且都只能支持单继承 2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数 3.(×)A subclass inherits all methods ( including the constructor ) from the superclass 4.(×)Java中所有的类都是https://www.sodocs.net/doc/b312128581.html,ng的子类 5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址 6.(×)abstract方法不一定要声明在abstract类中 7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误 8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号 9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目 10.(×)最终方法只能存在于最终类中 二、单选题 1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B (A)安全性(B)多线性(C)跨平台(D)可移植 2、下列选项中不是JAVA语言特点的是()D (A)面向对象(B)平台无关(C)安全性高(D)单线程 3、异常包含下列那些内容?()D (A)程序中的语法错误(B)程序的编译错误 (C)程序执行过程中遇到的事先没有预料到的情况 (D)程序事先定义好的可能出现的意外情况 4、JAVA语言中的语句是以()为结尾的。B

Java复习题及答案

一、判断题(每题1分,共15分) 1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。( 1 ) 2、接口和类一样也可以有继承关系,而且都只能支持单继承。(0 ) 3、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。(0 ) 4、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。(0 ) 5、Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。( 1 ) 6、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。(0 ) 7、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。( 1 ) 8、我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号。 ( 1 ) 9、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(0 ) 10、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(0 ) 11、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。 (1 ) 12、如果f是父类Flower的对象,而r是子类Rose的对象,则语句f=r是正确的。(1 ) 13、Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。 (1 ) 14、final类中的属性和方法都必须被final修饰符修饰。(0) 15、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。(0 ) 二、单项选择题(每题2分,共30分) 1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( c )。 A、本地方法 B、解态方法 C、最终方法 D、抽象方法 2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( b )。 A、p ublic static void main() B、public static void main(String[ ] args) C、public static int main(String[ ] args) D、p ublic void main(String arg[ ]) 3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。

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.sodocs.net/doc/b312128581.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试题及答案

一、单项选择填空(每小题2分,共50分) 1.下列不属于main方法的修饰词的是() A.public B.void C.static D.final 2.Java源程序经过编译后的文件类型是() A.字节码文件 B.可执行文件C.目标文件D.中间文件 3.下列关于运算符的结合性说法正确的是() A.算术运算符和条件运算符都是左结合(即从左至右)算术不一定++ 的前缀和后缀不一样 B.单目运算符是左结合C.关系运算符是左结合 D.赋值运算符是左结合 4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?() A.继承性B.抽象性C.封装性D.多态性 5.下面哪个是合法的布尔值() A.”false”B.false C.0 D.f 6.下面哪个是Java语言中的关键字?() A.sizeof B.abstract C.InstanceOf D.Native 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?() A.do-while循环B.for循环C.while循环D.以上都不是 8.以下哪个选项用以确定字符串的长度?() A.size B.length C.max_value D.length() 9.下面的语句哪个是正确的?() A.char=?abc?; B.long l=0xfff; C.float f=0.23 需加上f; D.double=0.7e-3; 10.下列哪个类的声明是错误的?() A.final abstract class A B.final class A C.protected class A D.public class A 11.下面程序段的执行结果是什么?() public class Foo{ public static void main(String[] args){ try{ return;} finally{System.out.println(“Finally!”);} }} A.程序正常运行,但不输出任何结果B.程序正常运行,并输出 Finally C.编译能通过,但运行时会出现例外D.因为没有catch语句块,所 以不能通过编译 12.设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为() A.1 B.2 C.0 D.-3 13.Java语言中,下列常量中是字符型常量的为() A.?\0xFFFF?B.?\u?C.?\\?转义字符D.”ABC” 14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____ 个比特位。()若是字节就是2个

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.sodocs.net/doc/b312128581.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、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、J AVA2 Card C、J AVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是( A ) A、JAVA程序的main方法必须写在类里面 B、J AVA程序中可以有多个main方法 C、J AVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括 号)括起来 3、变量命名规范说法正确的是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字;

4、下列javaDoc注释正确的是(C) A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、b oolean a = (9 >= 10); C、b oolean a="真"; D、boolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、v oid D、de$f 7、表达式(11+3*8)/4%3的值是( D ) A、31 B、0 C、1

D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、b Equal = str.equals("q"); D、count = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int 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笔试题带答案

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; }

相关主题