当前位置:文档之家› java习题Ver2.0

java习题Ver2.0

java习题Ver2.0
java习题Ver2.0

练习一

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

一、选择题

1.下列语句哪一个正确()

A.Java程序经编译后会产生machine code

B.Java程序经编译后会产生byte code

C.Java程序经编译后会产生DLL

D.以上都不正确

2.下列说法正确的有()

A.class中的constructor不可省略

B.constructor必须与class同名,但方法不能与class同名

C.constructor在一个对象被new时执行

D.一个class只能定义一个constructor

3.提供Java存取数据库能力的包是(a)

A.java.sql B.java.awt C.https://www.doczj.com/doc/891354966.html,ng D.java.swing

4.下列运算符合法的是(a)

A.&& B.<> C.if D.:=

5.执行如下程序代码

a=0;c=0;

do{

--c;

a=a-1;

}while(a>0);

后,C的值是()

A.0 B.1 C.-1 D.死循环

6.下列哪一种叙述是正确的()

A.abstract修饰符可修饰字段、方法和类

B.抽象方法的body部分必须用一对大括号{ }包住

C.声明抽象方法,大括号可有可无

D.声明抽象方法不可写出大括号

7.下列语句正确的是()

A.形式参数可被视为local variable

B.形式参数可被字段修饰符修饰

C.形式参数为方法被调用时,真正被传递的参数

D.形式参数不可以是对象

8.下列哪种说法是正确的()

A.实例方法可直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法

D.实例方法可直接调用本类的类方法

9.下列标识符合法的是()

A.new B.$Usdollars C.1234 D.Car.taxi

10.下列说法正确的是()

A.数组是一种对象

B.数组属于一种原生类

C.int number=[]={31,23,33,43,35,63}

D.数组的大小可以任意改变

11.下列说法正确的是()

A.在类方法中可用this来调用本类的类方法

B.在类方法中调用本类的类方法时可直接调用

C.在类方法中只能调用本类中的类方法

D.在类方法中绝对不能调用实例方法

12.下列说法正确的是()

A.Java面向对象语言容许单独的过程与函数存在

B.Java面向对象语言容许单独的方法存在

C.Java语言中的方法属于类中的成员(member)

D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同

13、以下关于java语言继承的说法正确的是()

A.Java中的类可以有多个直接父类

B. 抽象类不能有子类

C. Java中的接口支持多继承

D. 最终类可以作为其他类的父类

14 关于构造函数说法错误的是 ( )

A 构造函数名与类相同

B 构造函数无返回值 可以使用void 修饰

C 构造函数在创建对象时被调用

D 在一个类中如果没有明确的给出构造函数 编译器会自动提供一个构造函数

15 在Java 中 关于static关键字的说法错误的是 ( )

A static 可以修饰方法

B static 可以修饰变量

C static 可以修饰代码块

D static 修饰的方法 在该方法内部可以访问非静态的类成员变量

16、(16-1、编译和运行下面的应用程序,屏幕输出的结果是( )。

public class Test {

public static void main(String args[]) {

A a=new A("aaaaa");

A.B b=a.new B();

System.out.println(a.outStr+b.inStr);

}

}

class A {

String outStr;

public A(String s) {

outStr=s;

}

public class B {

public String inStr="bbbbb";

}

}

A) aaaaa B)ababa C) bbbbb D) aaaaabbbbb

17、(16-5、下面的程序编译运行后,输出的结果是( ).

import java.util.Arrays;

public class Test {

public static void main(String[] unused) {

String[] str = {"ZZZ", "AAA","BBB","CCC"};

Arrays.sort(str);

int index=Arrays.binarySearch(str,"ZZZ");

System.out.println(index);

}

}

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

18、(16-7、下面的程序编译运行后输出的结果是( )。

public class Test {

public static void main(String args[]) {

X a=new X( ) {

public void showX() {

System.out.println(a*b);

}

};

a.showX();

}

}

class X {

int a=5,b=3;

public void showX() {

System.out.println(a+b);

}

}

A) 15 B) 8 C) 5 D) 3

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

String s="xxxxxxxxxxxxxxx#123#456#zzzzz";

int n=s.indexOf("#");

int k=s.indexOf("#",n+1);

String s2=s.substring(n+1,k);

System.out.println(s2);

A)123456 B)123 C) xxxxxxxxxxxxxxx D) zzzzz

20、(16-9、关于下面的程序Test.java说法正确的是( )。

public class Test {

String x="1";

int y;

public static void main(String args[]) {

int z=2;

System.out.println(x+y+z);

}

}

A)3 B)102 C) 12 D)程序有编译错误

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

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

int sum=0;

for(int i=0;i

for(int j=0;j

sum+=b[i][j];

}

}

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

A) 10 B)6 C) 9 D) 13

22、(16-12、下面的程序段执行后输出的结果是( )。

String s="Test.java";

boolean b=s.startsWith("test");

System.out.print(b);

boolean b1=s.endsWith("java");

System.out.println(b+" "+b1);

A) true true B) true false C) false true D) false false

23、(16-13、应用程序的main方法中有以下语句,则执行后输出的结果是( )。

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

int min=x[0];

for(int i=1;i

if(x[i]

min=x[i];

}

System.out.println(min);

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

24、(16-15、下面程序段执行后b的值是( )。

String str = "java";

boolean b = str instanceof Object;

A) 0 B) true C) 1 D) false

二、填空题(16-31)根据程序中的注释,将下面的应用程序补充完整。

public class A {

public static void main (String[] args) {

A a=new B( );

a.test();

}

void test() {

System.out.print ("A");

}

}

class B ____(1)_____ A{

void test() {

____(2)____;//调用父类的同名方法

System.out.println("B");

}

}

三、编程题

1、假如要编写一个地址簿的程序,设计一个能存储姓名、E-mail地址,并能显示一个地址的Address类。

2、以第一题中的Address类作为超类,定义一个子类,他拥有另一个成员变量来存贮电话号码

练习二

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

31 32

一、选择题

1.分析下列代码

Class Super{

Public int i=0;

Public Super( String text){

i=1;

}

}

Public class sub extends Super{

Public Sub (String text){

I=2;

}

Public static void main(String args{}){

Sub sub=mew Sub(“hello”);

System.out.println(sub.i);

}

}

执行结果()

A.编译失败

B.编译成功且输出0

C.编译成功且输出1

D.编译成功且输出2

2 .定义一个类名为”MyClass.java”的类,并且该类可被一个工程中的所有类访问那么该类的正确声明应为()。

A.private class MyClass extends Object

B.class MyClass extends Object

C.Public class MyClass

D.Public class MyClass extends Object

3.分析下列代码

Public class Text12{

Public static void main(String args[]){

final class Foo{

Public int I =3;

}

Object o =(object ) new Foo();

System.out.println(o,tostring());

System.out.println(o.i);}

}

执行结果()

A.编译在第六行失败

B.编译成功且输出3

C.编译在第七行失败

D.编译在第八行失败

4.分析下列代码

class Super{

Public int getlength(){return 4;}

}

Public class Sub extends Super{

Public int getlength(){return 5;}

Public static void main(string args[]){

Super sooper = new Super();

Sub sub = new Sub();

System.out.println(sooper.getlength()+”,”+sub.getlength() );

}

}

程序的输出是()

A.4,4

B.4,5

C.5,4

D.5,5

5.分析下列代码

class A {

Public byte getNember(){

return 1;

}

}

Class B extend A{

Public short getNember(){

return 2;}

}

Public static void main(String args[]){

B b=new B();

System.out.println();

}

}

该程序的结果是()

A.编译成功且输出1

B.编译成功且输出2

C.编译成功但执行时在第十四行抛出异常

D.编译在十四行引起错误

6.分析下列代码

class A

{

Public int getNumber(int a){

return a+1;}

}

class B extends A{

Public int getNumber(int a,char c){//第七行

return a+2;}

}

Public static void main(String args[]){

B b=new B();

System.out.println(b.getNumber(0))//第14行

}

}

程序执行结果( )

A.编译成功并输出1

B.编译成功并输出2

C.在第七行出现编译错误

D.在第十四行出现编译错误

7.分析下列代码

Public class SuperClass{

Class SubClassA extends SuperClass{}

Class SubClassB extends SuperClass{}

Public void test(ClasssA foo){

SuperClass bar = foo;}

}

}

下述对该程序的陈述哪一条是正确的()

A.第五行的赋值语句是非法的

B.第五行的赋值语句是合法的,但执行时抛出一个ClassCastException异常

C.程序语句是正确的,使用时不会抛出异常

D.程序语法不正确,不允许内部类继承外部类

8.分析下列程序

class A {

Public int getNumber(int a){

return a+1;

}

}

class B extends A{

Public int getNumber(int a){

return a+2;

}

Public static void main(String args{}){

A a=new B();

System.out.println(b.getNumber(0)) }

}

改程序的执行结果()

A.编译成功并输出1

B.编译成功并输出2

C.在第八行出现编译错误

D.在第十三行出现编译错误

E.在第十四行出现编译错误

9.分析下列代码

1 Class person{

2 Public void printValue(int i,int j){//…}

3 Public void printValue(int i){//…}

4 }

5 Public class Teacher extends Person{

6 Public void printValue (){//…}

7 Public void printValue (int i){//…}

8 Public static void main(String args[]){

9 Person t= new Teacher();

10 t.printValue(10);

11 }

12}

在第十行将调用哪一条语句()

A.第二行

B.第三行

C.第六行

D.第七行

10.分析下列代码

interface Foo{

int k=0;

}

Public class Tesst implements Foo{

Public static void main(string args[]){

int i;

Test test =new Test();

i=test.k;

i=Test.k;

i=Foo.k;

}

}

该程序的执行结果()

A.编译成功

B.编译时在第二行出现错误

C.编译时在第八行出现错误

D.编译时在第九行出现错误

E.编译时在第十行出现错误

11.分析下列代码

1 Class super{

2 Public float getNum(){return 3.0f;}

3 }

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)

{return 4.0f}

D.Public double getNum(float d)

{return 4.0d}

12.下面的说法正确的是()

A.JAVA语言里面的线程不是对象

B.JAVA中任何可执行的类都需要main方法

C.JAVA语言中的类都是https://www.doczj.com/doc/891354966.html,ng.Object的子类

D.double是java语言的合法标识符

13.下述哪些想可以创建一个数组实例?()

A.int[] ia=new int [15];

B.float fa=new float[20];

C.char[] ca=”Some String”;

D.Object oa=new float[20];

E.int ia[][]=(4,5,6)(1,2,3);

14.假设有如下程序段。

class BaseClass{

private float x=1.0f;

protected float getVar()

}

class Subclass extends BaseClass{

private float x=2.0f;

//此处插入代码

}

下面哪些方法是对父类方法的有效覆盖?()

A.float get Var(){return x;}

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

C.double getVar(){return x;}

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

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

15. 假如有程序段:

Public interface Foo{

Int k=4;

}

下面哪几项与接口的第二行等价?()

A. protected int k=4;

B. Public int k=4;

C. static int k=4;

D. private int k=4;

E.final int k=4;

16、(17-1)、下列程序段执行后的结果是( )。

String s=new String("abcdefg");

for(int i=0;i

System.out.print(s.charAt(i));

}

A) aceg B) ACEG C) abcdefg D) abcd

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

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

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

18、(17-3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。

File f=new File(填代码处);

file=new FileReader(f);

in=new BufferedReader(file);

A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt"

D) "c:\ my\1.txt"

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

String s1=new String("abc");

String s2=new String("abc");

boolean b1=s1.equals(s2);

boolean b2=(s1==s2);

System.out.print(b1+" "+b2);

A)true false B) false true C) true true D)false false

20、(17-6、下面的程序编译运行后输出的结果是( )。

public class Test {

public static void main(String args[]) {

X a=new X( ) {

public void showX() {

System.out.println(a-b);

}

};

a.showX();

}

}

class X {

int a=5,b=3;

public void showX() {

System.out.println(a+b);

}

}

A) -2 B) 8 C) 5 D) 3

21、(17-7、下面语句的功能是( )。

RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" );

A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。

B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。

C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。

D) 以上说法都不对。

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

String s="12345#aaa#bbb#67890";

int n=s.indexOf("#");

int k=s.indexOf("#",n+1);

int m=s.indexOf("#",k+1);

String s2=s.substring(m+1);

System.out.println(s2);

A)123456 B)67890 C) aaa D) bbb

23、(17-9、下面程序段执行后b的值是( )。

Integer integ =new Integer(9);

boolean b = integ instanceof Object;

A) 9 B) true C) 1 D) false

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

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

25、(17-12、下面的程序编译运行后,输出的结果是( ).

import java.util.Arrays;

public class Test {

public static void main(String[] unused) {

String[] str = {"xxx", "yyy","aaa","bbb"};

Arrays.sort(str);

int index=Arrays.binarySearch(str,"aaa");

System.out.println(index);

}

}

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

26、(17-13、下列语句序列执行后,num的值是( )。

Random rd1=new Random();

int num=Math.abs(rd.nextInt())%4+1;

A)1~4之间的随机值B) 0~3之间的随机值C) 0 D)4

27、(17-14、应用程序的main方法中有以下语句,则执行后输出的结果是( )。

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

28、(17-15、程序Test.java编译运行后输出的结果是( )。

public class Test {

String s1="java";

public static void main(String args[]) {

int z=2;

Test t=new Test();

System.out.println(t.s1+z);

}

}

A) java2 B)2 C)没有输出结果D)java

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

String s1="0.5",s2="12";

double x=Double.parseDouble(s1);

int y=Integer.parseInt(s2);

System.out.println(x+y);

A) 12.5 B) 120.5 C) 12 D) “12.5”

30、(17-17、下面的程序段执行后输出的结果是( )。

StringBuffer buf=new StringBuffer("Beijing2008");

buf.insert(7,"@");

System.out.println(buf.toString());

A) Beijing@2008 B) Beijing2@008

C) Beijing2008@ D) Beijing20@08

31、(17-18、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。

import java.io.*;

public class Test {

public static void main(String args[]) {

try {

String s="ABCDE";

byte b[]=s.getBytes();

FileOutputStream file=new FileOutputStream("test.txt",true);

file.write(b);

file.close();

}

catch(IOException e) {

System.out.println(e.toString());

}

}

}

A) ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE

32、(17-20、关于下面的程序的说法不正确的是()。

1: public class Test implements Runnable {

2: String name;

3: public Test(String s){

4: name=s;

5: }

6: public static void main (String[] args) {

7: Thread thread1=new Thread (new Test("111"));

8: Thread thread2=new Thread (new Test("222"));

9: thread1.start();

10: thread2.start();

11: }

12: public void run () {

13: System.out.print(name);

14: }

15: }

A)程序第12~14行的run方法是Runnable接口中的方法。

B)程序第9、10行的方法调用的功能是分别启动两个线程对象thread1和thread2。

C)程序能编译运行,输出结果:111222。

D)程序能编译运行,但没有任何结果输出。

二、编程题

1.举一个包含静态变量与非静态变量的例子,说明静态成员变量的特征。

2.以矩形的面积计算为例,编写一个方法将引用类型作为参数。

3.3.已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。

本题无输入。

输出示例:

math = 87, eng = 72, comp = 93

average = 84

练习三

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20

一、选择题

1.分析以下程序。

Public class Test{

Public static void replace(String text){

Text.replace('j','i');

}

Public static void main(String args[]){

String text=new String("java");

Replace(text);

System.out.println(text);

}

}

以上程序的结果是(B)。

A.程序输出:iava B .程序输出:java

C.第7行有错引起编译错误

D.编译成功但程序执行时抛出异常

2.分析以下程序。

Public class X{

Public static void main(Sdtring args[]){

String s1=new String("true");

Boolean b1=new Boolean(true);

If(s1.equals(b1)){

System.out.println("Equal");

}

}

}

一上程序的结果是()

A.无输出

B.输出equal

C.在第5行出现编译失误 C.程序执行后产生异常

3.下述哪一种声明防止该类产生子类?(B)

A.static class FooBar{}

B.private class FooBar{}

C.abstract class FooBar{}

D.final Public class FooBar{}

E.final abstract class FooBar{}

4.分析一下程序。

Public class X{

Public Object m(){

Object o=new Float(3.14F);

Oa[0]=o;

O=null;

Oa[0]=null;

Return o;

}

}

当第三行的Float对象产生后,在哪一行会作为垃圾被回收?(B)A.在第5行 B.在第6行之后

C.在第7行之后

D.不会在该方法中进行

5.分析以下程序。

Public class Test5{

pubic int aMethod(){

Static int i=0;

i++;

Return i;

}

Public static void main(String args[]){

Test5 test=new Test5();

test.aMethod();

int j=test.aMethod();

System.out.println(j);

}

}

该程序执行结果为()。

A.编译将失败

B.编译成功,执行后输出0

C.编译成功,执行后输出1 C.编译成功,执行后输出2

6.分析一下程序。

Public class Test1{

private static int j=0;

Public static boolean methodB(int k){

j+=k;

return true;

}

Public static void methodA)(int i){

boolean b;

b=i>10&&methodB(1);

b=i>10&&methodB(2);

}

Public static void main(String []args){

methodA(0);

System.out.print(j);

}

}

该程序执行后,输出的是(B)。

A.0

B.1

C.2

D.3

E.代码编译不能通过

7.分析以下程序。

Public class X{

Public static void main(String []args){

String s=new String("Hello");

modify(s);

System.out.println(s)

}

Public static void modify(String s){

S+="world!";

}

}

该程序执行结果为(A)

A.编译成功,执行后输出Hello

B.编译失败

C编译成功,执行后输出Hello world!

D.编译成功,执行后引起异常

8.如果想限制在当前类之外对某个成员的访问,应选择如下哪一种修饰符(B)

A. Public

B.private

C.protected .

D.不需要任何修饰符

9.分析一下程序

Public class X{

Public static void main(String []args){

String o1=new String(ABV);

String o2=new String("ABV");

If(o1.equals(o2)){

System.out.println("Equal");

}

}

}

该程序的输出结果是()

A.程序执行后无输出

B.程序执行后输出Equal

C.程序在第5行出现编译失误

D.程序执行后出现异常

10.下面那一声明的方法迫使它的子类去实现(implements)它()

A. Public double method();

B.static void method(double d1){}

C. Public native double method();

D.abstract Public void method();

E.protectde void method(double d1){}

11. 分析一下程序段

abdsract class AbstractIt{

Abstract float getFloat();

}

Public class AbstractTest extends AbstractIt{

private float f1=1.0f;

private float getFloat(){

return f1;

}

}

下面哪一个结果正确()

A.可编译成功

B.在第6行运行失败

C.在第6行编译失败

D.在第2行编译失败

12. 分析一下程序段

Integer i=new Integer(42);

Long l=new Long(42);

Double d=new Double(42.0);

下面哪个表达式的值为真()

A.(i==l)

B.(i==d)

C.(d==l)

D.(i.equals(d))

E.(d.equals(i))

F.(i.equals(42))

13. 分析下面的两个java程序

//ClassOne.java

package com.ab.pkg1;

Public class ClassOne{

private char var='a';

Char getVar(){return var;}

}

//ClassTest.java

package com.ab.pkg2;

import com.ab.pkg1.ClassOne;

Public class ClassTest extends ClassOne{

Public static void main(String []args){

char a=new ClassOne().getVar();

char b=new ClassTest().getV ar();

}

}

ClassTest.java程序的执行结果是()

A.程序编译时Class.java的第3行出错

B.程序编译成功,程序执行后无异常抛出

C.程序编译时在ClassTest.java的第5行出错

D.程序编译成功,程序执行时在Class.java的第5行出现异常

14. 分析以下程序

class Aclass{

void go(){

System.out.println("Aclass");

}

Public class Bclass extends Aclass{

void go(){

Java集合类知识点总结

Java集合类 Java集合类 (1) 1.Map (3) 1.1.HashMap (3) 1.1.1.底层实现 (3) 1.1.2.特点 (3) 1.1.3.源码分析 (4) 1.1.4.多线程可能出现的问题 (5) 1.2.ConcurrentHashMap (6) 1.2.1.底层实现 (6) 1.2.2.源码分析 (7) 1.3.HashTable (9) 1.3.1.HashTable是线程安全的,因为所有方法上都加了synchronized关键 字。9 1.3.2.HashTable的key和value都不可以为null。 (9) 1.3.3.扩容时,capacity=2*capacity+1 (9) 1.3.4.数组默认大小为11 (9) 1.3.5.查找下标时,没有使用hash&length-1,而是直接进行计算的 (9) 1.4.TreeMap (9) 1.4.1.底层实现为红黑树 (9) 1.4. 2.TreeMap是一个有序的key-value集合,基于红黑树实现。该映射根据 其键的自然顺序进行排序,或者根据创建时提供的Comparator进行排序 (10) 1.4.3.接口实现 (10) 1.4.4.Entry (11) 1.5.LinkedHashMap (11) 1.5.1.底层是数组+链表+红黑树+双向链表 (11) 1.5.2.维护链表顺序和访问顺序 (11) 1.5.3.LinkedHashMap 可以通过构造参数 accessOrder 来指定双向链表是否在 元素被访问后改变其在双向链表中的位置。 (11) 1.5.4.当accessOrder为true时,get方法和put方法都会调用recordAccess 方法使得最近使用的Entry移到双向链表的末尾;当accessOrder为默认值 false时,recordAccess方法什么也不会做。 (11) 1.5.5.LRU实现 (11) 2.Collection (11) 2.1.List (12) 2.1.1.ArrayList (12) 2.1.2.LinkedList (13) 2.1.3.CopyOnWriteArrayList (13) 2.2.Set (14) 2.2.1.HashSet (14)

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.(×)接口和类一样也可以有继承关系,而且都只能支持单继承 2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数 3.(×)A subclass inherits all methods ( including the constructor ) from the superclass 4.(×)Java中所有的类都是https://www.doczj.com/doc/891354966.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中常用的集合类型

JAVA常用的高级数据类型——集合类型 一、JAVA语言中的集合类型主要有三种形式:Set(集)、List(列表)、Map(映射),每种类型的集合都包括三部分:接口、实现和算法。 a)集合接口实现集合的操作和集合的具体功能实现细节的相互分离—— Set接口、List接口、Map接口 b)集合的具体功能实现类实质上是各种可重用的数据结构的具体表示 List接口的实现类有ArrayList、LinkedList、Stack和Vector等 集合类,Vector 类提供了实现可增长数组的功能,随着更多元素加 入其中,数组变的更大。在删除一些元素之后,数组变小。 Set接口的实现类有HashSet、LinkedHashSet和TreeSet等集合类 Map接口的实现类有HashMap、Hashtable、LinkedHashMap、Properties和TreeMap等集合类。 c)集合的算法指可以对实现集合接口的各个集合的功能实现类提供如排 序、查找、交换和置换等方面的功能实现。 二、List接口 1.List接口代表有序的集合,可以对List接口代表的有序集合中每个元素 的插入位置进行精确地控制,并利用元素的整数索引(代表元素在集合中的位置)访问元素中的各个成员,List接口代表的集合是允许出现重复元素的。 2.List接口主要成员方法: 1)void add(int index,E element)在列表指定位置插入指定元素 2)E get(int index) 返回结合中指定位置的元素 3)E remove(int index) 移除集合中指定位置的元素 4)E set(int index,E elment) 用指定元素替换集合中指定位置的元素 5)boolean add(E o) 向列表的尾部追加指定的元素 6)boolean contains(Object o) 如果列表包含指定的元素,则返回true。 7)boolean isEmpty() 如果列表不包含元素,则返回 true。 8)int size() 返回列表中的元素数 9)Iterator iterator()返回以正确顺序在列表的元素上进行迭代的迭代器。 3.List的实现类 List在数据结构中分别表现为数组(ArrayList)、向量(Vector)、链表(LinkedList)、堆栈(Stack)和队列等形式。 Vector集合和ArrayList集合都是采用数组形式来保存对象,区别在于ArrayList集合本身不具有线程同步的特性,不能用在多线程的环境下,可以使用ArrayList集合能够节省由于同步而产生的系统性能的开销。而Vector集合实现了对线程同步的支持,因此在多线程并发访问的应用环境下,该集合本身能够保证自身具有线程安全性。在多线程的并发访问中,可以将Vector集合的对象实例设计为类中的成员属性,而应该将ArrayList 集合的对象实例设计为局部对象。 public class UserInfo{ List oneVector=new Vector(); public void execute(){

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集合类总结

1.本讲内容:集合collection (数组和集合90%功能相似,但是最大的区别是,数组在初始化的时候必须确定大小,而集合不用,而且集合是一堆的类,使用起来非常方便。) 讲集合collection之前,我们先分清三个概念: 1colection 集合,可用来存储任何对象的一种数据结构(容器)。 2Collection 集合接口,指的是,是Set、List 和Queue 接口的超类接口 3Collections 集合工具类,指的是类。 SCJP考试要求了解的接口有:Collection , Set , SortedSet , List , Map , SortedMap , Queue , NavigableSet , NavigableMap, 还有一个Iterator 接口也是必须了解的。 SCJP考试要求了解的类有:HashMap , Hashtable ,TreeMap , LinkedHashMap , HashSet , LinkedHashSet ,TreeSet , ArrayList , Vector , LinkedList , PriorityQueuee , Collections , Arrays 下面给出一个集合之间的关系图: 上图中加粗线的ArrayList 和HashMap 是我们重点讲解的对象。下面这张图看起来层级结构更清晰些。 我们这里说的集合指的是小写的collection,集合有4种基本形式,其中前三种的父接口是Collection。 4List 关注事物的索引列表 5Set 关注事物的唯一性 6Queue 关注事物被处理时的顺序 7Map 关注事物的映射和键值的唯一性 一、Collection 接口 Collection接口是Set 、List 和Queue 接口的父接口,提供了多数集合常用的方法声明,包括add()、remove()、contains() 、size() 、iterator() 等。 add(E e) 将指定对象添加到集合中 remove(Object o) 将指定的对象从集合中移除,移除成功返回true,不成功返回false contains(Object o) 查看该集合中是否包含指定的对象,包含返回true,不包含返回flase size() 返回集合中存放的对象的个数。返回值为int clear() 移除该集合中的所有对象,清空该集合。 iterator() 返回一个包含所有对象的iterator对象,用来循环遍历 toArray() 返回一个包含所有对象的数组,类型是Object toArray(T[] t) 返回一个包含所有对象的指定类型的数组 我们在这里只举一个把集合转成数组的例子,因为Collection本身是个接口所以,我们用它的实现类ArrayList做这个例子:例子1: package edu.xjfu;

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.作图. 2. 输出101--500之间的所有奇数,奇数之和. 3. 输出100--200间不能被3整除的数. 4. 输入初值 ,输出100个不能被3整除的数. 5. 求S=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值. 6. 设S=1*2*3*...*n,求S不大于400000时的最大n. 7. 设S=11*22*33*...*n n,求S不大于400000时的最大n. 8. 找出1~1000间的全部”同构数”.如果一个数出现在其平方数右端,则称此数为同构数,如1在12=1的右端,5在52=25的右端,25在252=625的右端等. 9. 百鸡问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?” 10.利用一维数组,统计一个班学生0-9,10-19,..90-99及100各分数段的人数.

11.插入法排序.排序方法: 设有10个数存放在数组A中,分别用A[1],A[2],..,A[10]表示. 先将A[1]与A[2]比较,若A[2]j) System.out.print(" "); else if(i<=j&&j-i<=7) System.out.print("*"); } System.out.println(); } } } (2) public class Ex1_2 { public static void main(String[] args){ for(int i=1;i<=5;i++) { for(int j=1;j<=16;j++) { if(i>j) System.out.print(" ");

Java中的集合类

Java中的集合类 (Collection framework)我们在前面学习过java数组,java数组的程度是固定的,在同一个数组中只能存放相同的类型数据。数组可以存放基本类型的数据,也可以存入对象引用的数据。 在创建数组时,必须明确指定数组的长度,数组一旦创建,其长度就不能改变,在许多应用的场合,一组数据的数目不是固定的,比如一个单位的员工数目是变化的,有老的员工跳槽,也有新的员工进来。 为了使程序方便地存储和操纵数目不固定的一组数据,JDK中提供了java集合类,所有java集合类都位于java.util包中,与java数组不同,java集合类不能存放基本数据类型数据,而只能存放对象的引用。 Java集合类分为三种 Set(集合):集合中对象不按特定的方式排序。并且没有重复对象,但它有些实现类中的对象按特定方式排序。--无序,不能重复 List(列表):集合中的对象按照检索位置排序,可以有重复对象,允许按照对象在集中的索引位置检索对象,List和数组有些相似。--有序,可以重复 Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复,它的有些实现类能对集合中的键对象进行排序。 Java的主要集合类的框架图 Collection和Iterator接口 在Collection接口中声明了适用于java集合(只包括Set和List)通用方法。 Collection接口的方法 方法描述

boolean add(Object o) 向集合中加入一个对象的引用 void clear( ) 删除集合中所有对象,即不再对持有对象的引用boolean contains(Object o) 判断在集合中是否含有特定对象的引用 boolean isEmpty() 判断集合是否为空 Iterator iterator( ) 返回一个Iterator对象,可用它来遍历集合中的元素boolean remove(Object o) 从集合中删除一个对象的引用 int size( ) 返回集合中元素的数目 Object [ ] toArray() 返回一个数组,该数组包含集合中的所有元素 Set接口和List即可都继承了Collection接口,而Map接口没有继承Collection接口,因此可以对Set对象和List对象调用以上方法,但是不能对Map对象调用以上方法。Collection接口的iterator()和toArray()方法多用于获得集合中的所有元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。 Iterator隐藏底层集合的数据结构,向客户程序提供了遍历各种类型的集合的统一接口。Iterator接口中声明了如下方法: ●hasNext():判断集合中的元素是否遍历完毕,如果没有,就返回true。 ●next():返回下一个元素 ●remove():从集合中删除上一个由next()方法返回的元素。 注意:如果集合中的元素没有排序,Iterator遍历集合中元素的顺序是任意的,并不一定与像集合中加入的元素的顺序一致。 Set(集) Set是最简单的一种集合,集合中的对象不按特定方式排序,并没有重复对象。Set接口主要有两个实现类:HashSet类还有一个子类LinkedHashSet类,它不仅实现了哈希算法,而且实现了链表数据结构,链表数据结构能提高插入核算出元素的性能。TreeSet类实现了SortedSet接口中,具有排序功能。 List(列表) List的主要特征使其元素已先行方式存储,集合中允许存放重复对象。List接口主要的实现类包括: ●ArrayList—ArrayList代表长度可变的数组。允许对元素进行快速的随机访问,但是向 ArrayList中插入与删除元素的速度较慢。 ●LinkedList—在实现中采用链表数据结构。对顺序访问进行了优化,向List中插入和 删除元素的速度较快,随机访问速度则相对较慢,随机访问是指检索位于特定索引位置元素。 Map(映射) Map(映射)是一种吧键对和值对象进行映射的集合。它的每一个元素都包含一对键对象和值对象,而之对象仍可以是Map类型。以此类推,这样就形成了多级映射。向Map集合中加入元素时,必须提供一对键对象和值对象,从Map集合上检索元素只要给出键对象,就会返回值对象。 实例1 CollectionAll.java

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

Java中集合类用法总结

帮助 | 留言交? | 登录 首页我的图书馆主题阅读精彩目录精品文苑Tags 会员浏览好书推荐 以文找文 如何对文章标记,添加批注? Java 中集合?用法总结(转载) wade0564 收录于2010-07-08 阅读数:查看 收藏数:7 公众公开 原文来源 tags : java 集合类 欢迎浏览 wade0564 个人图书馆中收藏的文章,想收藏这篇好文章吗,赶快 吧,1分钟拥有自己的个人图书馆! 我也要收藏 举报 Java 中集合?用法总结 收藏 Collection ├List │├LinkedList │├ArrayList (异步,线程不安全,空间用完时自动增长原容量一半)│└Vector (同 步,线程安全,空间用完时自动增长原容量一倍)│ └Stack └Set ├HashSet └TreeSet Map ├Hashtable ├HashMap ├WeakHashMap └TreeMap Map 接口: | + -- WeakHashMap: 以弱键 实现的基于哈希表的 Map 。在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条 | 目。更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为 可终止的,被终 | 止,然后被回收。丢弃某个键时, 其条目从映射中有效地移除,因此,该类的行为与其他的 Map 实现有所不同。此实现 | 不是同步的。 | + -- TreeMap:该映射根据其键的自然顺序进行 排序,或?根据创建映射时提供的 Comparator 进行 排序,具体取决于使用的 | 构造方法。此实现不是同步的。 | + -- HashMap:基于哈希表的 Map 接?的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了 | 非同步和允许 使用 null 之外,HashMap 类与 Hashtable ?致相同。)此类不保证映射的顺序,特别是它不保证该顺 | 序恒久不变。此实现不是同步的。 | +-- SortedMap: 进一步提供关于键的总体排序 的 Map 。该映射是根据其键的自然顺序进 行排序的,或?根据通常在创建有 序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet 、keySet 和 values 方法返回 )进行迭代时,此顺序就会反映 出来。要采用此排序方式,还需要提供一些其他操作(此接?是 SortedSet 的对应映 射)。 Collection 接口: | 热点推荐 中国经典汤品——广东汤常用多音字汇总 如果你失恋。。。这些话...影响世界的100个管理定律汽车发动机?作过程和原理分析温家宝总理答中外记?问女人味,有多少男人可以读懂?珍稀的白头叶猴(组图)三鹿门事件之——中国,...国家公务员职务与级别当代古筝四美 付娜《渔...生活?秘方 真的很实用...哲理?品:守护梦想聚会时可以玩的?游戏依赖型人格障碍的表现和治疗经典妙语,十分精彩江边施救[贴图]李一男2003年在港湾...电脑速度慢的解决方法 ...重装系统后必须做的10件?事

Java集合知识测试

集合部分测试题 考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.单列集合的顶层接口是( B ) a)java.util.Map b)java.util.Collection c)java.util.List d)java.util.Set 2.ArrayList类的底层数据结构是( A ) a)数组结构 b)链表结构 c)哈希表结构 d)红黑树结构 3.LinkedList类的特点是( B ) a)查询快 b)增删快 c)元素不重复 d)元素自然排序 4.Vector类的特点是( A ) a)线程同步 b)线程不同步 c)增删快

d)底层是链表结构 5.关于迭代器说法错误的是( D ) a)迭代器是取出集合元素的方式 b)迭代器的hasNext()方法返回值是布尔类型 c)List集合有特有迭代器 d)next()方法将返回集合中的上一个元素. 6.在我们所学知识中,下面哪几项是接口( ABCD ) a) java.util.Map b) java.util.Collection c) java.util.List d) java.util.Set 7.实现下列哪个接口,可以启用比较功能( D ) a)Runnable接口 b)Iterator接口 c)Serializable接口 d)Comparator接口 8.下面代码运行的结果是( A ) ArrayList al = new ArrayList(); al.add(true); al.add(123); al.add(“abc”); System.out.println(al); a)编译失败 b)[true,123] c)[true,123,abc]; d)[abc]; 9.按照课堂要求重写equals和hashCode后,下面关于这两个方法说法正确的是 ( BC ) a) 两个对象的hashCode值相同,那么他们调用equals()方法返回值一定为true b) 两个对象的hashCode值相同,那么他们调用equals()方法返回值可以为false c) hashCode值一般与对象的成员变量有关 d) 只要重写equals方法,就一定要重写hashCode方法 10.将Map集合中的键存储到Set集合的方法是( C ) a)entrySet()

JAVA编程习题与答案_完全版

1.test10001显示短句 //程序填空. //在屏幕上显示一个短句“Programming in Java is fun!” import java.io.*; public class Test10001{ public static void main(String args[]){ /*------------------------*/ System.out.println("Programming in Java is fun!"); } } 2.test10002显示网格 /*程序填空。 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ */ import java.io.*; public class Test10002{ public static void main(String args[]){ /*------------------------*/ System.out.println("+---+---+"); System.out.println("| | |"); System.out.println("| | |"); System.out.println("+---+---+"); } } 3.test10095显示hello world! import java.io.*; public class Test10095{ public static void main(String args[]){ /*---------------------------*/

System.out.println("Hello world!"); } } 4.test10097求两个数的和 /*输入n表示做n次下面的操作: 输入两个正整数,输出它们的和. 例: 输入: 2 //表示n=2,做两次操作 10 11 20 30 输出: sum=21 sum=50 */ import java.util.Scanner; public class Test10097{ public static void main(String args[]){ int n,a,b,i,sum; Scanner in=new Scanner(System.in); n=in.nextInt(); //输入n for(i=1; i<=n; i++){ /*------------*/ a=in.nextInt(); b=in.nextInt(); sum=a+b; System.out.println("sum="+sum); } } } 5.test20001求两个数的和与差 /*程序填空,不要改变与输入输出有关的语句。 输入整数a和b,计算并输出a、b的和与差。 例: 输入

java集合-练习题解析

1. 填空 Collection 接口的特点是元素是___无序可重复______; List 接口的特点是元素__有__(有|无)顺序,_可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,____不可以__(可以|不可以)重复;Map 接口的特点是元素是__key、value映射______,其中__value__可以重复,_key___不可以重复。 2. (List)有如下代码 import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 for(int i = 0; i< list.size();i++){ System.out.println(list.get(i)); } for(Object o : list) { System.out.println(o); } Iterator itor = list.iterator(); while(itor.hasNext()){ System.out.println(itor.next()); } } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容 2) 写出程序执行的结果Hello Java Learn World 3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪里?ArrayList 和LinkedList 使用上有什么区别?实现上有什么区别? 4) 如果要把实现类由ArrayList 换为Vector,应该改哪里?ArrayList 和Vector 使 用上有什么区别?实现上有什么区别? 3. (List)写出下面程序的运行结果

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 5) 在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型(选择一项) a)jFrame.setLayout(new FlowLayout() ); b) jFrame.addLayout(new FlowLayout() ) c)jFrame.setFlowLayout() d)jFrame.addFlowLayout() 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList

相关主题
文本预览
相关文档 最新文档