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

Java试题

Java试题
Java试题

Java试题

一、选择题(38 X 1.5)

注意,题目有多选,也有单选。请认真作答。

1.在JAVA中,下列哪些说法是正确的(AC )

A.java源文件的扩展名为.java

B.写好的java源程序可以直接运行

C.编写的源程序必须先编译后才能运行

D.程序员可以读懂扩展名为.class的文件

2.下列标识符哪个是合法的( BD)

A.class

B.$abc

C.1234

D._name

3.下面哪些赋值语句是正确的?(ABD )

A. long test = 012;

B. float f = -412;

C. int other = (int) true;

D. double d = 0x12345678;

E. byte b = 128;

4.在Java中,下列语句不能通过编译的有( BD)

A. String s= “join”+ 3;

B. int a= “join”+3;

C. int a= …a?+5;

D. float f=5+5.5;

5.设 a = 3,则表达式 (--a )<

A. 16

B. 8

C. 24

D. 12

6.下列代码运行的结果是(C )

public static void main(String[] args) {

int x = 4;

int y = 5;

if(x++>4 & ++y>5) {

x++;

}

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

}

A. x=4,y=5

B. x=4,y=6

C. x=5,y=6

D. x=6,y=6

7.尝试运行下面的代码会发生什么?( B)

public class Test {

public static void main(String[] args) { boolean m = true;

if (m = false) {

System.out.println("true");

} else {

System.out.println("false");

}

}

}

A. 输出字符串”true”

B. 输出字符串”false”

C. 编译时错误

D. 运行时错误

8.编译并运行以下代码将发生什么?(E )

public static void main(String args[]){

char digit = 'a';

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

switch (digit)

{

case 'x' :

{

int j = 0;

System.out.println(j);

}

default :

{

int j = 100;

System.out.println(j);

}

}

}

int i = j;

System.out.println(i);

}

A. 输出11次100

B. 输出10次100,然后抛出运行期异常

C. 编译错误,因为变量i不能在main() 方法中被声明2次

D. 编译错误,因为变量j不能在main() 方法中被声明2次

E. 以上都不对

9.class Demo B

{

public static int fun(int c)

{

return c+=2;

}

public static void main(String[] args)

{

int temp = fun(2);

System.out.println(temp);

}

}

A. 2

B. 4

C. 6

D. 8

10.下面哪些函数是public void aMethod(){...}的重载函数?( BD)

A. void aMethod( ){...}

B. public int aMethod(int a, float b){...}

C. public void aMethod (){...}

D. public float aMethod (int m){…}

11.在java中,关于数组描述正确的是(BD )

A.数组中的索引下标从1开始

B.存储在数组当中的数据都属于同一数据类型

C.通过数组名.length()能获得数组的长度

D.数组的最大索引下标是数组的长度减1

12.下面程序的输出结果是什么(D )

int[] arr = new int[10];

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

A.编译不通过

B.运行时出错

C.输出null

D.输出0

13.下面哪个语句正确地声明一个整型的二维数组( CD)

A. int a[][] = new int[][];

B. int b[10][10] = new int[][];

C. int c[][] = new int[10][10];

D. int []d[] = new int[10][10];

14.以下代码输出是( D )

class Demo {

public static void main(String[] args) { int i = 0;

int sum = 0;

while (i <= 10) {

i++;

if (i % 2 != 0)

continue;

sum += i;

}

System.out.println(sum);

}

}

A. 55

B. 45

C. 35

D. 30

15.和下面代码能完成相同的选项是(B)

class Demo {

public static void main(String[] args) { int i = 1;

int sum = 0;

while (i <= 100) {

if (i % 2 == 0) {

sum = sum + i;

}

i++;

}

System.out.println(sum);

}

}

A. for (int x =1; x<=100;x++){ sum=sum+x;}

B. for (int x =0; x<=100;x+=2){ sum=sum+x;}

C. for (int x =1; x<=100;x+=2){ sum=sum+x;}

D.上述全对

16.下列有关类、对象和实例的叙述,正确的是哪一项?(D)

A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称

D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称

17.下面关于java中包的说法正确的是(ACD )

A. 在java中可以使用import语句导入包

B. 在java中可以使用package语句导入包

C. 位于同一个包中的类,不需要导包就可以直接访问

D. 不同的包中可以出现类名相同的类

18.下列有关抽象类的叙述正确的是哪项?(C)

A.抽象类中一定含有抽象方法

B.抽象类既能被实例化也能被继承

C.抽象类的声明必须包含abstract关键字

D.抽象类中不能有构造方法

19.下列有关接口的叙述错误的是哪项?(CD)

A.接口中只能包含抽象方法和常量

B.一个类可以实现多个接口

C.类实现接口时必须实现其中的方法

D.接口不能被继承

20.运行以下代码片段,输出结果是?( D )

class X {

Y b = new Y();

X() {

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

}

}

A. Z

B. YZ

C. XYZ

D. YXYZ

21.下列关于类的继承的描述,正确的有( BD )

A. 一个类可以同时继承多个父类

B. 一个类可以具有多个子类

C. 子类会自动拥有父类所有的方法

D. 一个类继承另一个类需要使用 extends 关键字

22.下列选项中关于java中this关键字的说法错误的有( D )

A. this关键字是一个对象的引用

B. this关键字可以用于引用当前类以外其他类型的对象

C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行

D. this可用于静态方法中

23.下列关于构造函数的说法正确的是( AB )

A. 方法名必须与类名相同

B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数

C. 我们在定义一个类时,必须要声明至少一个构造函数

D. 构造函数中不能使用return语句

24.编译并运行以下代码将发生什么?( D )

class MyClass {

int x;

MyClass(int i) {

x = i;

}

public static void main(String args[]) {

MyClass m1 = new MyClass(100);

MyClass m2 = new MyClass(100);

if (m1.equals(m2)) {

System.out.println("Both are equal");

} else {

System.out.println("Both are not equal");

}

}

}

A. 代码编译时报出错误提示信息“equals() 方法未定义”

B. 编译通过,抛出运行期异常.

C. 输出Both are equal.

D. 输出Both are not equal

25.运行以下的main()方法,结果是?( A )

1 public static void main(String[] args)

2 {

3 String myString;

4 int x = 100;

5

6 if (x < 100) myString = "x is less than 100";

7 if (x > 100) myString = "x is greater than 100";

8 System.out.println(myString.length());

9 }

A.编译时报出错误提示信息“变量myString没有被初始化”

B.编译通过

C.编译未能通过。但如果变量myString在第8行前的代码中被初始化,代码可以编译通过,运行时可以输出字符串myString的长度

D.以上都不对

26.有如下代码,请问哪些是正确的?(ACD)

class ClassA{}

class ClassB extends ClassA{}

class ClassC extends ClassA{}

以及

ClassA p0 = new ClassA();

ClassB p1 = new ClassB();

ClassC p2 = new ClassC();

ClassA p3 = new ClassB();

ClassA p4 = new ClassC();

A.p0 = p1;

B.p1 = p2;

C.p1 = (ClassB)p3;

D.p2 = (ClassC)p4;

27.关于继承, 以下说法正确的是: (AD)

A.Java中只支持单继承, 一个类只能继承一个类, 但是可以有多个子类

B.一个类如果没有自己写无参构造方法, 那么子类将无法继承

C.子类可以当父类用, 父类不可以当子类用

D. 子类重写父类方法时访问权限不能更低

28.编译并运行以下代码的输出结果是?( A )

String s1 = new String("amit");

System.out.println(s1.replace('m','r'));

System.out.println(s1);

String s3 = "arit";

String s4 = "arit";

String s2 = s1.replace('m','r');

System.out.println(s2 == s3);

System.out.println(s3 == s4);

A. arit

amit

false

true

B. arit

arit

false

true

C. amit

amit

false

true

D. arit

amit

true

true

29.下列哪些代码可以顺利通过编译和运行? ( ABD )

A.Integer i = new Integer('A');

B.Integer i = new Integer("7");

C.Character c = new Character("A");

D.Boolean b = new Boolean(null);

E.Integer i = new Integer("0x10");

30.在Java中,如果要在字符串类型对象s="java"中,得到字符 'v' 出现的位置,可

使用下面的那个方法?( C )

A. s.matches('v');

B. s.charAt('v');

C. s.indexOf('v');

D. s.substring('v');

31.下列关于ArrayList、Vector和LinkedList集合的说法正确是有(ACD )

A. ArrayList集合底层是数组实现,该集合线程不安全

B. Vector 集合元素的存放是无序的

C. LinkedList集合底层是链表结构,适合做元素的增删操作

D. 这三个集合都是List接口的实现类

32.下面程序的输出结果是什么( D )

Set set= new HashSet();

set.add("aaa");

set.add("bbb");

set.add("aaa");

System.out.println(set.size());

A. 编译不通过

B. 运行时出错

C. 输出3

D. 输出2

33.下列哪些方法是ArrayList和LinkedList集合中都定义的( ACD )

A. add(Object o)

B. removeFirst()

C. remove(Object o)

D. add(int index,Object o)

34.下列哪些集合属于Collection体系的子类( BD )

A. TreeMap

B. ArrayList

C. Hashtable

D. HashSet

35.下面有关Java异常处理的说法错误的是( A)

A. 一个try块只能有一条catch语句

B. 一个try块中可以不使用catch语句

C. catch块不能单独使用,必须始终与try块在一起

D. finally块不能单独使用,必须始终与try块在一起

36.下列关键字能和try语句一起使用的是( CD )

A. final

B. finalize

C. finally

D. catch

37.关于泛型的说法正确的是(ABC)

A.泛型是JDK1.5出现的新特性

B.泛型是一种安全机制

C.使用泛型避免了强制类型转换

D.使用泛型必须进行强制类型转换

38.关于方法的递归算法,说法正确的是(A)

A.递归就是方法自己调用自己

B.递归的次数不能过大,否则会导致栈内存溢出

C.使用递归算法,方法必须有返回值

D.构造方法不可以使用递归算法

二、简单题(6 X 3)

1.简述String、StringBuffer和StringBuilder之间的区别。

答:1.String由于底层是数组实现,所以一旦创建,将不可改变,而StringBuffer和StringBuilder是可变的字符序列。

2.StringBuffer是线程安全的,效率低于StringBuilder,StringBuilder是线程不安全的,效率高于StringBuffer,在多线程当中慎用。

2.简述异常框架,并做简要说明。

Error是jvm系统错误,程序员是无法解决的。

Exception分为运行时异常(运行期间)和非运行时异常(编译期间)。

3.简述集合框架,并做简要说明。

(不一定要画全,只要重要的结构画出即可)

ArrayList底层是由数组实现的,而LinkedList底层是由链表实现的。List是有序可重复,而Set是无序不可重复。

三、程序题

1.单例模式(恶汉和懒汉模式)(12分)。

public class Singleton{

//构造方法私有化

private Singleton(){

}

//懒汉模式

private static Singleton singleton = null;

public Singleton getInstance(){

if(singleton==null){

singleton = new Singleton();

}

return singleton;

}

//恶汉模式

private static final Singleton sing = null;

public Singleton newInstance(){

return sing;

}

}

2.自定义类的equals方法(7)

参照自定义类的equals方法

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)用于将一个整数转化为二进制形式的数字串。在进行位运算

javaSE选择题50道判断题30道

一、不定项选择题:(50题) 1.下列关于JDK、JRE和JVM的描述,正确的是?D A.JRE中包含了JDK,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JDK中包含了JRE,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 2.以下关于JVM的叙述,正确的是?AC A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件 D.JVM支持Java程序运行,它能够直接运行Java源代码文件 3.JVM在执行一个Java类时,大致采用以下过程?A A.装载类一>校验类一>执行类中的代码 B.装载类一>执行类中的代码一>校验类 C.校验类一>装载类一>执行类中的代码 D.执行类中的代码一>装载类一>校验类 4.以下关于Java文件名的叙述,正确的有?AD A.Java源文件的扩展名应为.java B.Java字节码文件的扩展名应为.java C.一个Java源文件中只能包含一个Java类 D.Java源文件的文件名应与文件中被public修饰的类的类名一致 5.下列哪项不是int类型的字面量?C A.20 B.077 C.\u03A6 D.0xABBC 6.下列哪项不属于Java语言的基本数据类型?B A.int B.String C.double D.boolean 7.下列哪项不是有效的标识符?AC A.2test B.userName C.$car.text D._password

8.现有如下五个声明: Line1: int _hi=6; Line2:int $dollars=8; Line3: int %opercent=9; Line4: int big=Integer.getlnteger("7"); Line5: int a_really_really_really_long_variable_name=5 ; 哪行无法通过编译?B A.Line1 B.Line3 C. Line4 D. Line5 9.表达式:double d = 1-2/5*5+2*5;d的值是哪项?D C.9 D.11 10.现有代码片段: String s="123"; String s1=s+456; 请问s1的结果是哪项?A A.123456 B.579 C.编译错误 D.运行时抛出异常 11.现有: 1.class Test4 { 2. public static void main (String [] args) { 3.boolean x=false; 4.boolean y=true; 5.short z=42; 6. 7. if((z++==42)&&(y==true))z++; 8. if((x==false)||(++z==45))z++; 9. 10. System. out.println("z="+z); 11. } 12.} 结果为:C A. z=42

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;

java100道选择题含答案

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

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填空选择题库

一、选择题(共10道题,每道题有4个选项,只有一个选项是正确的;每道题2分,共计20分) 1.下面哪一个文件包含名为HelloWorld的类的字节码(B)。 A.HelloWorld.java B.HelloWorld.class C.HelloWorld.exe D.HelloWorld.javadoc 2.JDK6.0版本成功安装后,在指定的安装位置将出现jdk1.6.0_21目录,该目录下用于存放编译器、解释器等各类工具的子目录是(C)。 A.jre B.lib C.bin D.demo 3.编译运行以下程序后,关于输出结果的显示正确的是(D)。 public class Test{ public static void main(String args[ ]){ byte b=2, e=3; //---------------1 byte f=b+e; //----------------2 System.out.println(f); } } A.编译通过,运行时打印输出5B.编译通过,运行时打印输出23 C.编译不通过,在//1处有错误,不能这样定义变量 D.编译不通过,在//2处有错误,因为此处f必须是一个int类性的变量 4.类的设计要求它的某个成员变量不能被任何外部类直接访问,则使用下面的哪个修饰符能够获得需要的访问控制(A)A.private B.default C.protected D.public 5.已知给出以下代码,则下列选项中正确的是(C)。 public interface Top{ public void twiddle(String s); } A.public abstract class Sub implements Top{ public abstract void twiddle(String s){ } } C.public abstract class Sub implements Top{ } B.public class Sub extends Top{ public void twiddle(Integer i){ } } D.public class Sub implements Top{ public void twiddle(Integer i){ 6.下列哪个选项可以计算出角度为42度的余弦值(B)。 A.double d=Math.cos(42); B.double d=Math.cos(Math.toRadians(42)); C.double d=Math.conine(42) ; D.double d=Math.cos(Math.toDegrees(42)); 7.给定一个未完成的方法,代码如下: 1: 2:{ success = connect( ); 3:if (success==-1) { 4:throw new TimedOutException(); 5:} 6:} 已知TimedOutException不属于RuntimeException,那么在第一行的位置上填写哪段代码能够完成该方法的声明?(D)A.public void method() B.public void method() throw TimedOutException C.public void method() throws RuntimeException D.public void method() throws TimedOut Exception 8.当编译并运行下列代码时其运行结果是(A)。

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

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. B. C. D. 答案: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.能指定编译结果要置于哪个目录(directory) 答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D. 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

相关文档