文档库 最新最全的文档下载
当前位置:文档库 › Java试题

Java试题

Java试题
Java试题

极客营十营第三周考试试卷

总分:100分时间:120分钟

单选题( 共25题)

第1题(分值:2分)

编译并运行以下程序,以下描述哪个选项是正确的()

1. class Y{

2. protected String toString(){

3. return super.toString();}

4. }

A:编译通过运行无异常

B:编译通过但运行时出错

C:行2出错,不能成功编译

D:不能成功编译,行3出错

第2题(分值:2分)

public class Test{

public static void stringReplace(String text){

text=text.replace('j','L');

}

public static void bufferReplace(StringBuffer text){

text=text.append("c");

}

public static void main(String args[]){

String textString=new String("java");

StringBuffertextBuffer=new StringBuffer("java");

stringReplace(textString);

bufferReplace(textBuffer);

System.out.println(textString+textBuffer);

}

}

A:编译并运行输出Lava javac

B:编译并运行输出java java

C:编译并运行输出java javac

D:编译并运行输出Lava java

第3题(分值:2分)

以下关于final关键字说法错误的是()

A:final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性

B:final修饰的类肯定不能被继承

C:final修饰的方法不能被重写

D:final修饰的变量不允许被再次赋值

第4题(分值:2分)

当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情?public class MyAr{

public static void main(String argv[]) {

MyAr m = new MyAr();

m.amethod();

}

public void amethod(){

int i;

System.out.println(i);

}

}

A:编译并输出0

B:编译错误

C:编译并输出null

D:运行错误

第5题(分值:2分)

以下对继承的正确描述是()。

A:在Java中类只允许单一继承

B:在Java中一个类只能实现一个接口

C:在Java中一个类不能同时继承一个类和实现一个接口

D:在Java中接口只允许单一继承

第6题(分值:2分)

以下代码运行输出是()

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.wendangku.net/doc/7510966561.html,);

}

}

A:输出:Person

B:没有输出

C:编译出错

D:运行出错

第7题(分值:2分)

类A、B定义如下:

1. public class A

2.{ public float aFun(float a, float b) { }

4.}

5.public class B extends A{

6.

7.}

将以下哪种方法插入行6是不合法的。()

A:float aFun(float a, float b){ }

B:public intaFun(int a, int b) { }

C:public float aFun(float p, float q){ }

D:public intaFun(int a, float b) { }

第8题(分值:2分)

应使用哪种修饰符定义一个类域或类方法?()

A:static

B:package

C:private

D:public

第9题(分值:2分)

假设类X是类Y的父类,下列声明对象x的语句中不正确的是()。A:X x = new X() ;

B:X x = new Y() ;

C:Y x = new Y() ;

D:Y x = new X() ;

A:public intaddvalue(intI,int j)

B:public void addvalue()

C:public void addvalue(double i)

D:public intaddvalue(int a)

第11题(分值:2分)

在使用super 和this关键字时,以下描述正确的是()

A:在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过

B:super()和this()不一定要放在构造方法内第一行

C:this()和super()可以同时出现在一个构造函数中

D:this()和super()可以在static环境中使用,包括static方法和static语句块

第12题(分值:2分)

覆盖与重载的关系是()

A:覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

B:覆盖方法可以不同名,而重载方法必须同名

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

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

第13题(分值:2分)

给出如下代码:

class Test{

private int m;

public static void fun() {

// some code...

}

}

如何使成员变量m 被函数fun()直接访问?()

A:将private int m 改为protected int m

B:将private int m 改为public int m

C:将private int m 改为static int m

D:将private int m 改为int m

A:1 2 3

B:Compilation fails because of an error in line 12.

C:Compilation fails because of an error in line 13.

D:Compilation fails because of an error in line 14. E:A ClassCastException is thrown at runtime.

第15题(分值:2分)

关键字supper的作用是

A:用来访问父类的成员变量

B:用来调用父类中被重写的方法

C:用来调用父类的构造函数

D:以上都是

A:Alpha a = x;

B:Foo f= (Delta)x;

C:Foo f= (Alpha)x;

D:Beta b = (Beta)(Alpha)x;

第17题(分值:2分)

在java 中,下列() 类不能派生出子类.

A:public class MyClass{ }

B:class MyClass{ }

C:abstract class MyClass{ }

D:final class MyClass { }

第18题(分值:2分)

给定如下java代码,编译时会在()出现错误。

class Parent{

}

class Child extends Parent{

public static void main(String args[]){

Parent p1=new Child() ;//第一行

Parent p2=new Parent () ;//第二行

Child c1=new Child() ;//第三行

Child c2=new Parent () ;//第四行

}

A:第一行

B:第二行

C:第三行

D:第四行

第19题(分值:2分)

给定如下java代码,以下()代码行编译会报错。

class MyClass{

void myMethod(final int p){

final intil;

final int i2=p;

i1=20;

i2=20;

}

}

A:final intil;

B:final int i2=p

C:il=20

D:i2=20;

第20题(分值:2分)

关于被私有访问控制符protected修饰的成员变量,以下说法正确的是()

A:可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B:可以被两种类访问和引用:该类本身、该类的所有子类

C:只能被该类自身所访问和修改

D:只能被同一个包中的类访问

第21题(分值:2分)

在下面程序的第6行补充上下列哪个方法,会导致在编译过程中发生错误?

1) class Super{

2) public float getNum(){

3) return 3.0f;

4) }

5) public class Sub extends Super{

6)

7) }

A:public float getNum(){return 4.0f;}

B:public void getNum(){}

C:public void getNum(double d){}

D:public double getNum(float d){return 4.0d;}

第22题(分值:2分)

What will be printed when you execute(执行) the following code?

class X {

Y b = new Y();

System.out.print("X");

}

}

class Y {

Y(){

System.out.print("Y");

}

}

public class Z extends X {

Y y = new Y();

Z() {

System.out.print("Z");

}

public static void main(String[] args) {

new Z();

}

}

Choices( )

A:Z

B:YZ

C:XYZ

D:YXYZ

第23题(分值:2分)

下列代码的输出结果是:()

class Parent {

void printMe() {

System.out.println("parent");

}

}

class Child extends Parent {

void printMe() {

System.out.println("child");

}

void printall() {

super.printMe();

this.printMe();

printMe();

}

}

public class Test_this {

public static void main(String args[]) {

Parent myC=new Child();

myC.printMe();

myC.printall();

}

}

A:child parent child child

B:parent child parentchild

C:parent child childchild

D:编译错误

第24题(分值:2分)

设有下面两个赋值语句:

a = Integer.parseInt(“12”);

b = Integer.valueOf(“12”).intValue();

下述说法正确的是()。

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且值相等。

D、a和b都是整数类型变量并且值相等。

第25题(分值:2分)

Given:

22. StringBuilder sb1 = new StringBuilder("123");

23. String s1 = "123";

24. //insert code here

25. System.out.println(sb1 + " " + s1);

下面代码插入24行,输出“123abc 123abc”?

A. sb1.append("abc"); s1.concat("abc");

B. sb1.concat("abc"); s1.append("abc");

C. sb1.append("abc"); s1 = s1.concat("abc");

D. sb1.append("abc"); s1 = s1 + s1.concat("abc");

E. sb1.concat("abc"); s1 = s1 + s1.concat("abc");

多选题( 共5题)

第26题(分值:3分)

给定JAVA程序Test.java,如下:

package com;

public class Test{

public void talk( ) { }

protected void walk( ) { }

void climb( ) { }

private void jump( ) { }

给定Test的子类Test2,代码如下:

Package com.util;

Public class Test2 extends Test

{

Public static void main(String[] args)

{

Test2 tt=new Test2( ) ;

//A

}

}

可以在Test2的A处加入的代码是()。

A:tt.talk( ) ;

B:tt.walk( ) ;

C:tt.climb( ) ;

D:tt.jump( ) ;

第27题(分值:3分)

(方法覆盖)有如下代码

class Super{

private void method(){}

}

class Sub extends Super{

//1

}

在//1 处,能编译通过的代码为:

A:public int method(){return 0;}

B:void method(){}

C:void method(int n){}

D:private void method(){}

第28题(分值:3分)

(多态)有如下代码

class Animal{}

class Dog extends Animal{}

class Cat extends Animal{}

public class TestAnimal{

public static void main(String args[]){

//主方法代码省略

}

public Animal getAnimal(){

//1

}

}

问:下列几个选项中,有哪几个放在//1 位置能够编译通过?

B:return new Animal();

C:return new Dog();

D:return new Cat();

第29题(分值:3分)

编译并运行下面的程序,下面描述正确的有( ).

public class A {

public static void main (String[] args) {

A a=new B( );

a.test();

}

void test() {

System.out.print ("A");

}

}

class B extends A {

void test() {

super.test();

System.out.println("B");

}

}

A:子类B定义了与父类A中同名的方法test,java中称为方法的覆盖。B:代码可以编译运行,并输出结果:AB。

C:代码可以编译运行,并输出结果:A。

D:子类B定义了与父类A中同名的方法test,java中称为方法的重载。

第30题(分值:3分)

下面关于构造方法的说法正确的是()

A:构造方法不能被继承

B:构造方法不能被重写

C:构造方法不能被重载

D:构造方法不能声明为private

填空题( 共4题)

第31题(分值:3分)

(继承、对象构造过程)有以下代码

class Vegetable {

public Vegetable(){

System.out.print("Vegetable()");

}

}

class Potato extends Vegetable{

public Potato(){

System.out.print("Potato()");

}

}

class Tomato extends Vegetable{

public Tomato(){

System.out.print("Tomato()");

}

}

class Meat{

public Meat(){

System.out.print("Meat()");

}

}

class Sandwich{

Potato p = new Potato();

Meat m = new Meat();

Tomato t = new Tomato();

public Sandwich(){

System.out.print("Sandwich()");

}

}

public class TestSandwich{

public static void main(String args[]){

Sandwich s = new Sandwich();

}

}

写出这段代码的输出结果________________________________________________

第32题(分值:3分)

class Exp1 {

public static void main(String[] args) {

String s,s1="";

char c;

s=args[0];

for(int i=0;i

c=s.charAt(i);

if(c>='a' && c<='z'){

s1=s1+Character.toUpperCase(c);

}else{

s1=s1+Character.toLowerCase(c);

}

}

System.out.println(s1);

}

}

若在dos命令行输入:javaExp1abcDEF,则输出为___________________

第33题(分值:3分)

class IntORString{

void iosM(inti){

System.out.print(“integer”);

}

voidiosM(Strings){

System.out.print(“String”);

}

Publicstaticvoidmain(Stringargs[]){

IntORString ios=newIntORString ( );

ios.iosM(‘a’);

ios.iosM(“1”);

}

}

运行结果为:_________________________

第34题(分值:3分)

Given:

1. public class KungFu{

2. public static void main(String[] args){

3. Integer x = 400;

4. Integer y = x;

5. x++;

6. StringBuilder sb1 = new StringBuilder("123");

7. StringBuilder sb2 = sb1;

8. sb1.append("5");

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

10. }

11. }

运行结果为:_________________________

第35题(分值:3分)

11. public enum Title{

12. MR("Mr."), MRS("Mrs."), MS("Ms.");

13. private final String title;

14. private Title(String t){title = t;}

15. public String format(String last, String first){

16. return title + " " + first + " " + last;

17. }

18. }

119.public static void main(String[] args){

200. System.out.println(Title.MR.format("Doe", "John"));

201.}

运行结果为:_________________________

问答题( 共2题)

第36题(分值:10分)

定义一个交通工具类(Transport)和它的两个子类;汽车类(Vehicle)和飞机类(Airplane)

说明一:关于Transport

两个属性,速度(speed,int)载重量(load,float)

两个get方法,能够取得两个属性的值

一个构造方法,能够初始化这两个属性

一个show()方法,取得两个属性的值并打印

说明二:关于Vehicle

继承Transport

添加4个属性,车轮数(wheels,int),车重量(weight,float) 发动机类型(enginertype,String)发动机数量(enginers,int)

添加get方法,能够取得新添加属性的值

一个show()方法,获取其属性的值并打印

说明三:关于Airplane

和说明二的要求一致,只要求新添加的两个属性为发动机类型(enginertype,String)发动机数量(enginers,int)

最后,在测试类方法中生成汽车类和飞机类的对象

第37题(分值:10分)

定义两个类Dog,SmallDog,SmallDog继承Dog

说明一:关于Dog

两个属性,狗的名字(dogName,String),狗的年龄(dogAge,int)

一个方法,dogWalk(),打印一句话简单描述狗走路的样子

一个构造方法,无参数

添加两个set方法分别能够设置属性dogName和dogAge的值

重写Object类方法获取对象信息

说明二:关于SmallDog

继承Dog,添加属性狗的颜色(color,String)

在测试类中的方法中生成SmallDog类的对象并赋值给Dog对象对其操作,并查看其信息

调用dogWalk(),看看效果

现在可能要对狗对象的age数据进行修改,定义方法实现对Dog、SmallDog的修改操作

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/7510966561.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模拟试题附答案(一)

scjp模拟试题(一) Question No: 1 1.public class test ( 2. public static void main (String args[]) { 3. int i = 0xFFFFFFF1; 4. int j = ~i; 5. 6. } 7. ) What is the decimal value of j at line 5? A. 0 B. 1 C. 14 D. –15 E. An error at line 3 causes compilation to fail. F. An error at line 4 causes compilation to fail. 答案: C Question No: 2 Given: Integer i = new Integer (42); Long 1 = new Long (42); Double d = new Double (42.0); Which two expressions evaluate to True? (Choose Two) A. (i ==1) B. (i == d) C. (d == 1) D. (i.equals (d))

E. (d.equals (i)) F. (i.equals (42)) 答案: D, E Question No: 3 Exhibit : 1. public class test ( 2. private static int j = 0; 3. 4. private static boolean methodB(int k) ( 5. j += k; 6. return true; 6. ) 7. 8. public static void methodA(int i) { 9. boolean b: 10. b = i < 10 | methodB (4); 11. b = i < 10 || methodB (8); 12. } 13. 14. public static void main (String args[] ) ( 15. methodA (0); 16. system.out.printIn(j); 17. ) 18. ) What is the result? A. The program prints “0” B. The program prints “4” C. The program prints “8”

java经典编程题二及详细答案

2.1上机练习 ?基本题 1)编程观察如下输出语句: System.out.println("hello test escape char"); 在“escape”处换上各种转义字符测试输出效果。如何实现如下输出: Hello "test" Hello ‘\test’ 2)设有如下代码段,考虑赋值转换问题: int a=234; byte b=a; System.out.println("a=" a ",b=" b); 将a,b的类型以及数据进行各种替换,观察什么时候能赋值,什么时候需要使用强制转换,什么时候不能强制转换,什么时候强制转换会丢失数据。 3) 编写一个程序求半径R为10的圆的面积,结果保留2为有效小数。公式为:S=πR2 注:π可用Math类的常量PI表示(即Math.PI)。保留小数请查阅DecimalFormat类?提高题 1)设有一个边长为30的等边三角形,三角形内有一个内切圆,计算除内切圆外三角形内其它部分的面积。 【提示】先算三角形面积,再计算圆的面积,其差即为结果。h是等边三角形的高,内切圆的半径r=h/3,面积s=πh?/9。 2)调试分析以下程序的运行结果: public class test { public static void main(String a[]) { int m=10,n=517; System.out.println(n % m); System.out.println(n / m); System.out.println(m >> 2); System.out.println(m & n); System.out.println(Integer.toBinaryString(m)); System.out.println(Integer.toBinaryString(m >> 2)); } } 注意:Integer.toBinaryString(int)用于将一个整数转化为二进制形式的数字串。在进行位运算

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

java模拟试卷3与答案

复习题 3 一、选择题 1. JDK 提供的编译器是(B)。 (A ) java.exe(B ) javac.exe (C) javap.exe( D) javaw.exe 2.以下作为 Java 程序入口的 main 方法声明正确的( C)。 (A ) public void main(String args[]) (B ) public int main(String args[]) (C) public static void main(String args[]) (D ) public static int main(String args[]) 3.以下标识符错误的是( C )。 (A )Public( B)张三( C) class(D ) main 4.java 中定义字符串 String s= ”pzhu”,下面操作可以取得字符串长度的是( A )。 (A ) s.length()( B) s.length( C)s.size()( D) length(s) 5.如下定义数组,操作正确的是(D)。 int a[]={1,2,3}; (A ) a[3]=100(B ) a[0].length( C)a++( D) a.length 6.如下定义二维数组操作错误的是()。 int a[][]={{1,2},{3}}; (A ) a[0][1]=200( B) a[0].length( C) a[1][1]=100( D) a.length 7. 以下数据类型存储空间最大的是(B)。 (A ) byte( B) long(C) float(D ) char 8. 面向对象的三大特性,不包括如下( A)。 (A )异常( B)封装(C)继承(D )多态 9、关于类的定义以下说法错误(B)。 (A )类定义使用class 关键字( B)每个类中必须有一个main 方法 (C)一个包可以包含多个类( D) java 中所有类都是Object 类的子类 10. 关于构造方法以下说法错误的是(D)。 (A)构造方法名必须与类名一致(B)构造方法可以重载 (C)构造方法是通过new 来调用(D)每个类都必须编写构造方法代码 11.关于继承如下说法错误的是(C)。 (A) Java 是单继承的(B)通过extends 来定义继承 (C)所有父类方法都可以被override的(D)继承呈现的是 is a 的关系 12.以下代码执行的结果是 ( C )。 System.out.println(" 攀枝花学院 pzhu".length()); (A)编译错误(B)运行错误(C) 9(D) 14 13. 用来存储键值对的容器是 ()。 (A )ArrayList( B ) LinkedList(C) HashSet( D) HashMap 14、 java 中用来抛出异常的关键字是( C )。 (A) try(B) catch(C) throw(D) throws 15.关于 finally块中的代码,以下说法不正确的是(A)。 (A ) try 块中的 return 语句会中断finally 块中语句的执行 (B )无论 finally 块前的语句运行是否产生异常,其中的语句都会执行 (C) finally 块中的语句通常中用作资源的清理 - 1 -

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经典试题

1. public class ReturnIt{ returnType methodA(byte x, double y){ //line 2 return (short)x/y*2; } } what is valid returnType for methodA in line 2? 答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型. 2. 1) class Super{ 2) public float getNum(){return 3.0f;} 3) } 4) 5) public class Sub extends Super{ 6) 7) } which method, placed at line 6, will cause a compiler error? A. public float getNum(){return 4.0f;} B. public void getNum(){} C. public void getNum(double d){} D. public double getNum(float d){return 4.0d;} Answer:B A属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下: Sub.java:6: Sub 中的getNum() 无法覆盖Super 中的getNum();正在尝试使用不 兼容的返回类型 找到:void 需要:float public void getNum(){} ^ 1 错误 B既不是重写也不是重载,重写需要一样的返回值类型和参数列表,访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private); 重载:必须具有不同的参数列表; 可以有不同的返回类型,只要参数列表不同就可以了; 可以有不同的访问修饰符; 把其看做是重载,那么在java中是不能以返回值来区分重载方法的,所以b不对. 3. public class IfTest{ public static void main(String args[]){ int x=3;

Java期末考试题

2010年——2011年Java期末考试题 一、判断题。 1.Java语言是平台无关的语言。T 2.类的静态方法中可以访问该类的非静态数据成员.F 3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不 会变的。T 4.覆盖方法所抛出的异常不能比原方法更多。T 5.Final 方法不能被覆盖。T 6.抽象类中一定包含抽象方法。F 7.接口中的方法必须是抽象方法。T 8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。F 9.Java支持多重继承。F 10.Final修饰的类不能派生子类。T 11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T 12.不能在静态方法中使用this.T 13.抽象类中不能创建对象。T 14.一个类可以实现多接口。T 15.接口中可以包含非静态成员。F 16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。T 17.一个类实现一个接口,则该类必须实现接口中的所有方法。F 18.线程使用sleep方法去休眠后可以使用notify方法唤醒。F 19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。F 20.Final类中的属性和方法都必须是final的。F 二、选择题 1、Java中复合数据类型不包括(D) A.类类型 B.数组 C.接口类型 D.指针 2、请从四个选项中选择答案,下列代码的执行结果是:(C) Public class Test{ Public static void main(String args[]){ Float t=9.0f; Int q=6; System.out.println((t++)*(--q)); } } A.40 B.40.0 C.45.0 D.36.0 3、下列关于修饰符混用的说法,错误的是(D) A.abstract 不能与final 并列修饰同一个类 B.abstract类中可以有非abstract的方法 C.普通类(非abstract类)中不能有abstract方法 D.static方法中能处理非static的属性 4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A) A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问 C.只能被该类自身所访问 D.只能被同一个包中的类访问 5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A) A.12 B.24 C.16 D.3 6、以下赋值语句正确的是(D) A.char c1=”a” B.float f1=3.22 C.byte b1=266 D.long L1=0xAC8L 7、Java不支持多重继承,但我们可以通过(B)实现 A.多态 B.接口 C.覆盖 D.抽象类 8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A) A. person p[]=new person[3]; p[1]=new student(); B .student s[]=new person[3]; s[1]=new person(); C .person p[]= new student[3];p[1]= new person(); D .student s[]=new student[3];s[1]=new person; 9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C) A.MyClass类中的两个方法:little和1 B. MyClass.Java中有三个类:MyClass、little和1 C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1 D. MyClass、little和1,这三者没什么关系 10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。 A.public static void main() B.public static void main(String arg[]) C.public static int main(String[] arg) D. B.public void main(String arg[]) 11、当编译和运行下面的代码会出现什么情况?(A)

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模拟试题(含答案)

一、请分别写出下面程序的运行结果,将答案添在每道题后的空格处 1. public class Test1 { public static void main(String[] args) { int x=10,y=20; System.out.print("x="+(x++)+" y="+(++y)+" sum="+(x+y)); } } 运行结果:x=10 y=21 sum=32 2. public class Test2 { public static void main(String[] args) { boolean end; for(int i=2;i<20;i++){ end=true; for(int j=2;j<=i;j++){ if(i%j==0&&j

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

相关文档
相关文档 最新文档