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(){

"I'm glad to meet you");

}

}

class Xiti8{

public static void main(String args[]){

Speak sp=new Speak();

();

}

}

(1)上述源文件的名字是什么

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

}

第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程序需要经过的三个主要步骤为编写源程序、编译生

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

Java程序中的单行注释符是(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)的值是3。 B)b[1].length的值是3。

B).

C) 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};,则调用方法(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、应用程序的源程序如下,在命令行键入:java Test aaa bb c,回车后输出的

结果是 ( A)。

public class Test {

public static void main(String args[]) {

int k1=;

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

" "+k2);

}

}

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

4、)

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

public class Example{

public static void main(String[] args){

int[] arr= new int[10];

}

}

A、编译时产生错误

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

C、输出零

D、输出空(null)

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

一、填空

1、Java中,除了_字符型____和___布尔型__外,其他的所有的基本数据类型

都支持加,减,乘,除四则运算。

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

~

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

完全相同,|运算符和||运算符也相同。它们的不同点在于:__&__运算符和___|

运算符中的两个运算对象都要运算。

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

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

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){

"Message one");

}

else {

"Message two");

[

}

}

else if(z>5){

"Message three");

}

else {

"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 < ; i + + )

if ( i % 2 = = 1 )

s += MyIntArray[i] ;

;

case 2+1 : is three.”); break; default: is “+j); break;

}

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

switch (x) {

|

case 1: case 2: case 3:

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

}

}

}

二、单选

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

*

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

int sum=0;

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

for(int j=0;j

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

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

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

}

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

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

.

一、填空

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

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

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

4、系统类Math的random()方法可用来产生之间的实数,则产生一个50

-100之间的整数的程序语句是_(int)()*50+50______。

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

public class Happy {

public static void main(String args[]) {

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

}

}

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

i<<=j;

}

}

·

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

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

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

存,以完成对象的消除。

9、阅读以下程序,输出结果为。

class Q1{

public static void main(String args[ ]){

double d=;

Dec dec=new Dec( );

"

(d);

}

}

class Dec{

public void decrement(double decMe){

decMe = decMe ;

}

~

}

10、阅读程序

public class Test{

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

x+=x;

}

}

如果有如下的代码段:

~

Test t=new Test();

(5);

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

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

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

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

二、多选题

13、下面选项中,__AC_______是合法的构造方法的重载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 ){

version”);

}

void crunch(String s){

version”);

}

public static void main(String args[ ]){

Cruncher crun=new Cruncher ( );

char ch=’p’;

(ch);

}

}

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

;

class IntORString{ void iosM( int i ){

”);

}

void iosM(String s){

”);

}

public static void main(String args[ ])

{

IntORString ios=new IntORString ( );

(‘a’);

(“1”);

}

}

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

后,对该对象的成员变量和成员方法的调用方式分别是,__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) __________;

2、·

3、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);

=n2);

=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.方法没有返回值 B.方法体为空

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

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

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

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

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

D.以上都不对

6、》

7、定义一个类,必须使用的关键字是( 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 { }

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");

,

}

}

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() {

"Art constructor");

}

}

~

class Drawing extends Art {

Drawing() {

super();

"Drawing constructor");

}

}

class Cartoon extends Drawing {

Cartoon() {

super();

"Cartoon constructor");

}

public static void main(String[] args) { Cartoon x = new Cartoon();

}

}

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

`

import .*;

public class ATest{

public static void main(String args[]) { SubClass sb = new SubClass( );

));

}

}

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

methoda();

B. public double methoda();

C. public final double methoda();

D. static void methoda(double d1);

E. protected void methoda(double d1);

3、'

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

1. public abstract class Test {

2. public abstract void methodA();

3.

4.public abstract void methodB()

5. {

6. 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++) {

" " + c);

}

}

(

}

class B extends A {

public void g() {

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

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

" " + c);

}

}

,

}

public class Xiti9 {

public static void main(String args[]) {

B b = new B();

();

();

}

}

?

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 = (a, b);

return (a * b) / division;

}

}

public class Xiti9 {

public static void main(String args[]) {

A a = new A();

B b = new B();

"最大公约数:" + (36, 24));

"最小公倍数:" + (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(){}};

(4,5);

();

}

}

&

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

class Demo {

public static void func() throws Exception {

try{

throw new Exception();

[

}

finally{

"B");

}

}

public static void main(String[] args){

try{

func();

"A");

}

catch(Exception e){

"C");

}

"D");

}

}

!

6.在java中所有的异常类都继承自类,它有两个直接子类,一个是Error类,另一个是Exception类。

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

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

class X {

public static void main(String [] args) {

try {

badMethod();

"A");

}

catch (Exception ex) {

"B");

}

finally {

"C");

}

"D");

(完整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期末考试试卷

天津城市建设学院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.360docs.net/doc/4b5055344.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、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

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笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用

10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;} 10. } A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=3 12.关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2.private static int x=100; 3.public static void main(String args[ ]){ 4.HasStatic hs1=new HasStatic( ); 5.hs1.x++; 6.HasStatic hs2=new HasStatic( ); 7.hs2.x++; 8.hs1=new HasStatic( ); 9.hs1.x++; 10.HasStatic.x- -; 11.System.out.println(“x=”+x); 12.} 13.} A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 13.以下选项中循环结构合法的是( C ) A、while (int i<7) { i++;

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经典面试题 带答案

职业技能题库&在线云笔试平台https://www.360docs.net/doc/4b5055344.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.360docs.net/doc/4b5055344.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.360docs.net/doc/4b5055344.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/4b5055344.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.360docs.net/doc/4b5055344.html, 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.形式参数不可以是对象

JAVA笔试题--Java选择题100道

1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用 10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;}

(完整版)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经典面试题大全_带答案

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.360docs.net/doc/4b5055344.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的有()

2017年最新Java经典笔试面试题笔试题目及答案

2017年最新Java经典笔试面试题 2017年最新Java经典笔试面试题 想要成为java程序员可不是容易的事情,下面YJBYS小编为大家精心搜集了关于Java 经典笔试的面试题,欢迎大家参考借鉴,希望可以帮助到大家! 一.选择题(共50题,每题1.5分,共75分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{

public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(https://www.360docs.net/doc/4b5055344.html,); } } A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用super 和this关键字时,以下描述正确的是(A) A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B) super()和this()不一定要放在构造方法内第一行 C) this()和super()可以同时出现在一个构造函数中

D) this()和super()可以在static环境中使用,包括static方法和static语句块 4. 以下对封装的描述正确的是(D) A) 只能对一个类中的方法进行封装,不能对属性进行封装 B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用 C) 封装的意义不大,因此在编码时尽量不要使用 D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性 5. 以下对继承的描述错误的是(A) A) Java中的继承允许一个子类继承多个父类 B) 父类更具有通用性,子类更具体 C) Java中的继承存在着传递性 D) 当实例化子类时会递归调用父类中的构造方法 6. 以下程序的运行结果是(D) class Person{ public Person(){ System.out.println(“this is a Person”);

Java考试试卷

Java笔试经典题库 1.下列选项对Java中的继承描述错误的是()。 A.子类至少有一个基类 B.子类可作为另一个子类的基类 C.子类除了包含其直接定义的属性外,还包含其父类的私有属性 D.子类继承父类的方法访问权限保持不变 2.如果try {}中有一个return语句,那么紧跟在此try后的finally {}中的代码会不会被执行,什么时候被执行()。 A.不会执行 B.会执行,在return前执行 C.会执行,在return后执行 D.会执行,可能在return前执行,也可能在return后执行 3.构造方法是否可以被重写和重载()。 A.不能重写,可以重载 B.可以重写,不能重载 C.不能重写,不能重载 页脚内容1

D.可以重写,可以重载 4.下列选项属于方法重载的优势的有()。【选两项】 A.实现多态 B.方法名的复用 C.提高程序运行速度 D.使用方便,提高可读性 5.面向对象方法的多态性是指()。 A.一个类可以派生出多个特殊类 B.一个对象在不同的运行环境中可以有不同的变体 C.拥有相同父类或接口的不同对象可以以适合自身的方式处理同一件事 D.一个对象可以是由多个其他对象组合而成的 6.Dog是Animal的子类,则下列代码错误的是()。 A.Animal a = new Dog(); B.Animal a = (Animal )new Dog(); C.Dog d = (Dog)new Animal(); D.Object o = new Dog() ; 7.下列定义Java的常量,错误的是()。 页脚内容2

A.public static final double PI = 3.14; B.public final static double PI = 3.14; C.final public static double PI = 3.14; D.static public double final PI = 3.14; 8.如下代码段的输出结果是()。 try{ System.out.print("try,"); return; } catch(Exception e){ System.out.print("catch,"); } finally { System.out.print("finally"); } A.try, B.try,catch, C.try,finally D.try,catch,finally 页脚内容3

Java面试经典试题和答案

Java面试经典试题和答案 Java面试经典试题和答案 常见的Java问题 1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。 2.JDK和JRE的区别是什么? Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。 3.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。 Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。 4.是否可以在static环境中访问非static变量?

static变量在Java中是属于类的,它在所有的实例中的值是一 样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会 报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。 5.Java支持的数据类型有哪些?什么是自动拆装箱? Java语言支持的8中基本数据类型是: byte short int long float double boolean char 自动装箱是Java编译器在基本数据类型和对应的对象包装类型 之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。 6.Java中的方法覆盖(Overriding)和方法重载(Overloading)是 什么意思? Java中的方法重载发生在同一个类里面两个或者是多个方法的 方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重 新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和 返回类型。覆盖者可能不会限制它所覆盖的方法的访问。 7.Java中,什么是构造函数?什么是构造函数重载?什么是复制 构造函数?

java期末考试试题(含答案)

模拟B卷 考试说明: 1.使用Eclipse编写程序。项目名称为:班级_姓名_学号_卷号。注意:卷号为A或B 2.在项目文件夹下新建一个文本文件,文件名为:答案.txt 3.将编程题外的所有题目写在文本文件中,答案要标明题号。 注意:考试期间遇到死机等问题,需要请示老师,切勿自行解决。否则后果自负。 一、单项选择题:共20题,每小题1分,满分20分 1、下列选项中,不属于Java语言特点的一项是。( D ) A、安全性 B、分布式 C、面向对象 D、编译执行 2、Java语言和c++语言相比,哪一项是Java有的,而c++没有?( C ) A、面向对象 B、有类库 C、跨平台 D、动态链接 3、如下哪个不是Java中有效的变量名。( A ) A、 if B、hello C、name D、good 4、下列不属于Java保留字的一个是( B )。 A、else B、Unicode C、if D、static 5、现有2个char,类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应 该是( C )。 A、’a’ B、12 C、’c’ D、语句在编译时出错 6、下列关于int类型和long类型的说法中,正确的一个是( A )。 A、int类型可以自动转换为long类型 B、long类型可以自动转换为int类型 C、long类型占的存储空间比int类型的小 D、long类型和int类型数据能表示整数的范围一样 7、下列类的定义中,错误的是( B )。 A、class y{ .... } B、public x extends y{ .... } C、public class x extends y{ .... } D、class x extends y implements y1{ .... } 8、执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。 A、1与1 B、2与1 C、1与2 D、2与2 9、为了区分重载多态中同名的不同方法,要求( C )。 A、调用时用类名或对象名做前缀 B、返回值类型不同 C、形式参数个数或者类型不同 D、形式参数名称不同 10、定义类头时能使用的修饰符是( C )。 A、private B、static C、protected D、abstract 11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,错误是( D )

java面试题集(面霸必备)

Java选择题测试 试题1 指出下面语句没有编译错误的是()。 A. long n = 999999999999; B.int n = 999999999999L; C. long n = 999999999999L; D. double n = 999999999999; 试题2 完成代码计算10的阶乘并输出,应该填入的代码是()long result = 1; for(int i = 2; i <= 10; i++) { < 填入代码> } System.out.println(“result= ” + result); ……… A. result = result * i; B. result = i*i; C. result = i*(i+1); D. reslut = i*(i-1); 试题3 下列关于数组的声明错误的是( ) A.int[] arry = new int[100]; B. int[3] arry = {1,2,3} C. int[] arry = new int[]{1,2,3} D. int[][] arry = new int[3][] 试题4 实现对数组arry的冒泡排序,应填入的代码是( )

public static void bubbleSort(int[] arry) { int len = arry.length; for (int i = 1; i < len; i++) { boolean asc = true; < 填入代码> if (asc) return; } } private static void swap(int[] arry, int i, int j) { int temp = arry[i]; arry[i] = arry[j]; arry[j] = temp; } A. for (int j = len-1; j > i; j–) { if (arry[j] < arry[j - 1]) { swap(arry, j, j – 1); asc = false; } } B. for (int j = len – 1; j >= i; j–) { if (arry[j] < arry[j - 1]) { swap(arry, j, j – 1); asc = false; } } C. for (int j = len – 1; j >= i; j–) {

java第一阶段测试题(答案)分析

JA V A基础测试题-CORE JA V A部分1.在main(String[] args)方法内是否可以调用一个非静态方法? 答:main方法是静态方法,不能直接去访问非静态成员(成员可以是成员变量或是成员方法)2.请简述java程序运行的过程 答: .java程序----编译---→.class----运行---→显示结果 3.java中的控制台输出内容换行方式有几种? 答:第一种:System.out.println(); 第二种:System.out.print(“\n”); 4.java中的注释有哪几种?分别用来注释什么? 答:有三种注释分别为: 单行注释: //常用来注释变量 多行注释:/* *用来注释变量,方法,类 */ 文档注释:/** *用来注释变量,方法,类 */ 5.请简述java 中标识符命名规则. 答:必须是字母,数字,下划线,$组成 不能以数字开头;不能是java中的保留字,最好见名知义

6.请举例说明Scanner这个类的常用方法 答:next() nextLine() nextInt() nextFloat() nextDouble() hasNextInt() 7.java中的数据类型分为哪两类? 答:数据类型分八个基础数据类型(byte,short,int ,long ,float,double,char,boolean) 和引用数据类型(包括类,接口和数组) 8.java中全局变量和局部变量的区别? 答:位置的区别:java中全局变量就是类中的属性,而局部变量是方法中或代码块中定义的变量; 初始值不一样:全局变量不赋值,系统会给默认值,也不会报错,而局变部量必须要赋初始值; 作用域不一样:全局变量在整个类所有方法中可以访问,局部变量只能在定义它的那一对括号中才可以访问 9.同一个文件里是否可以有两个public类? 答:不可能,一个java文件中只能有一个类是public的,而必须是public的类才可以作为java文件的类名. 10.方法名是否可以与构造器的名字相同? 答:可以。 11.初始化了一个没有run()方法的线程类,是否会出错? 答:不会出错 第一种方法:直接继承Thread类。 public class Test{ public static void main(String[] args){

相关文档
最新文档