Java程序设计课堂练习题

Java程序设计课堂练习题
Java程序设计课堂练习题

《Java程序设计》练习题

第一章 Java编程基础

一、选择题

1、可以使用【】实用程序编译Java程序。

A.java B.javac C.javadoc D.cmd

2、可以使用【】实用程序运行java应用程序。

A.java B.javac C.javadoc D.cmd

3、可以使用【】实用程序从Java源文件代码中抽取Java文档注释,生成相应的HTML帮助文档。

A.java B.javac C.javadoc D.cmd

4、Java编译单元(源程序文件)的扩展名为【】

A..java B..class C..doc D..exe

5、编译Java源程序文件产生的字节码文件的扩展名为【】

A..java B..class C..html D..exe

6、以下Java应用程序执行入口main方法的声明中,正确的是【】

A、public static void main()

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

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

D、public void main(String[] args)

7、Java属于以下哪种语言?【】

A.机器语言 B.汇编语言C.高级语言 D.以上都不对

8、下面哪种类型的文件可以在Java虚拟机中运行?【】

A..java B..jre C..exe D..classs

9、Java程序中声明包的关键字是【】

A、java

B、package

C、javadoc

D、cmd

10、如果JDK的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?【】

A、d:\jdk;

B、d:\jdk\bin;

C、d:\jre\bin;

D、d:\jre;

11、下列说法中,不正确的是【】。

A、一个Java源文件编译通过后,得到的结果文件数也只有一个

B、一个Java源文件经过编译后,得到的文件的扩展名一定是.class

C、一个Java源文件只能有一个public类定义,其类名与源文件名相同

D、一个Java源文件可以包含多个类

12、安装好JDK后,在其bin目录下有许多exe可执行文件,其中“java.exe”命令的作用是以下哪一种?【】。

A、Java文档制作工具

B、Java解释器

C、Java编译器

D、Java启动器

13、以下关于变量的说法错误的是【】

A.变量名必须是一个有效的标识符

B.变量在定义时可以没有初始值

C.变量一旦被定义,在程序中的任何位置都可以被访问

D.在程序中,可以将一个byte类型的值赋给一个int型类型的变量,不需要特殊声明

14、假设int x=2,三元表达式x>0?x+1:5的运行结果是以下哪一个?【】A.0 B.2 C.3 D.5

15、下面的运算符中,用于执行除法运算的是哪个?【】

A./ B.\ C.% D.*

16、下面哪种写法可以实现访问数组arr的首个元素?【】

A.arr[0] B.arr(0) C.arr[1] D.arr(1)

17、以下哪个选项可以正确创建一个长度为3的二维数组?【】

A.new int[2][3] B.new int[3][]

C.new int[ ][3] D.以上答案都不对

18、关于变量的作用域,下列说法错误的是【】

A.类成员变量的作用域为类定义体

B.方法参数的作用域为方法体

C.对于for语句中定义的变量,当for语句执行完时,该变量就消亡了

D.在方法void f(int i)的for语句块中,可以声明变量“int i;”

19、Java字符类型采用的是Unicode编码方案,每个Unicode码占用的位数是【】。

A.8B.16 C.32 D.64

20、下列赋值语句中,不合法的是【】。

A.float f=1.2 B.float f2=1.2f

C.double d=1.2 D.double d2=1.2f

二、填空题

1、Java的三个技术平台分别是_java se___、__java ee__、__javame__。

2、Java程序的运行环境简称之为_jre___。

3、编译Java程序需要使用__javac__命令。

4、_____path____环境变量用来存储Java的编译和运行工具所在路径,而___classpath__环境变量则用来保存Java虚拟机要运行的“.class”文件路径。

5、在Java语言中,main()方法的参数是表示命令行参数的String数组,其中,__args[0]__表示第一个参数。

6、Java应用程序的入口方法是_____main()__,用于控制程序的开始和结束。

7、Java系统运行时,通过__自顶垃圾收集___机制周期性地释放无用对象所使用的内存,完成对象的清除。

8、Java中的程序代码都必须在一个类中定义,类使用_class__关键字来定义。

9、布尔常量即布尔类型的两个值,分别是__true__和__false___。

10、Java中的注释可分为三种类型,分别是__单行___、___多行____、____文档___。

三、判断题

1、Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。

2、Java语言的语法与C或C++类似,也支持面向过程的程序设计技术。

3、Java提供了自动垃圾收集机制进行内存管理,减小了内存出错的可能性。

4、Java语言的平台无关性使得Java程序可以跨平台运行。

5、Java虚拟机是实现Java语言平台无关性的基础。

四、简答题

1、简述JRE与JDK的区别。

JRE,它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。

它包含编译工具、解释工具、文档制作工具、打包工具等多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。

2、什么是方法重载?

方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。

第二章面向对象思想

一、选择题

1、类的定义必须包含在以下哪种符号之间?【】

A.方括号[] B.花括号{} C.双引号“” D.圆括号()

2、在以下什么情况下,构造方法会被调用?【】

A.类定义时B.创建对象时

C.调用对象方法时 D.使用对象的变量时

3、在类的继承关系中,需要遵循以下哪个继承原则?【】

A.多重B.单一 C.双重 D.不能继承

4、在Java语言中,以下哪个关键字用于在方法上声明抛出异常【】

A、try

B、catch

C、throws

D、throw

5、关于super关键字以下说法哪些是不正确的【】。

A.super关键字可以调用父类的构造方法

B.super关键字可以调用父类的普通方法

C.super与this不能同时存在于同一个构造方法中

D.super与this可以同时存在于同一个构造方法中

6、类中的一个成员方法被下面哪个修饰符修饰时,该方法只能在本类被访问?【】。

A.public B.protected C.private D.default

7、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?【】

A、inherits

B、implements

C、extends

D、modifies

8、System类位于以下哪个包中?【】。

A、java.io

B、java.util

C、java.awt

D、https://www.360docs.net/doc/c2320312.html,ng

9、以下关于继承的说法,正确的是【】。

A.继承可以避免代码复制和相关的代码维护等问题

B.Java语言中一个子类可以继承多个基类(多重继承)

C.Java语言不允许实现多个接口

D.子类可以继承父类的方法,但不能重新改写父类的方法

10、下列修饰符中,不能用来修饰类的是【】。

A.public B.abstract C.final D.static

二、填空题

1、面向对象的三大特征是__封装___、___继承___和____多态___。

2、在Java中,可以使用关键字__new___来创建类的实例对象。

3、定义在类中的变量被称为__成员变量_____,定义在方法中的变量被称为__局部变量___。

4、在非静态成员方法中,可以使用关键字_this_访问类的其他非静态成员。

5、被static关键字修饰的成员变量被称为__静态变量____,它可以被该类所有的实例对象共享。

6、在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为__内部类___。

7、在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术称为___继承__。

8、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_,否则该类就必须定义成____抽象类__。

9、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_import_关键字。

10、一个类可以从其他的类派生出来,派生出来的类称为__子类__,用于派生的类称为__父类__或者_基类__。

三、判断题

1、在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。

2、Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。

3、声明构造方法时,不能使用private关键字修饰。

4、类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。

5、方法内部类中不能访问外部类的成员变量。

四、简答题

1、构造方法和普通的成员方法有什么区别?

2、抽象类和接口的区别是什么?

3、什么叫多态?

1.构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。

2.在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。

接口可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。由于接口的特殊性,在定义时需要使用interface关键字。

3.多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。

第三章多线程

一、选择题

1、Thread类位于下列哪个包中?【】

A.java.io B.https://www.360docs.net/doc/c2320312.html,ng C.java.util D.java.awt

2、线程调用sleep()方法后,该线程将进入以下哪种状态?【】

A.就绪状态 B.运行状态C.阻塞状态 D.死亡状态

3、在以下哪种情况下,线程进入就绪状态?【】。

A.线程调用了sleep()方法时 B.线程调用了join()方法

C.线程调用了yield()方法时 D.线程调用了notify()方法

4、对于通过实现Runnable接口创建线程,下面说法不正确的是【】。

A、适合多个相同程序代码的线程去处理同一个资源的情况

B、把线程同程序代码、数据有效的分离,很好地体现了面向对象的设计思想

C、可以避免由于Java的单继承带来的局限性

D、编写简单,可以不通过Thread类直接创建线程

5、对于死锁的描述,下面四种说法不正确的是【】。

A.当两个线程互相等待对方释放同步锁时会发生死锁

B.Java虚拟机没有检测和处理死锁的措施

C.一旦出现死锁,程序会发生异常

D.处于死锁状态的线程处于阻塞状态,无法继续运行

6、下面四个选项中,不是线程进入阻塞状态的原因是【】。

A.线程试图获取某个对象的同步锁,而该锁被其他线程持有

B.线程调用了另一个线程的join()方法

C.线程调用了一个阻塞式的IO方法

D.线程调用了setDaemon(boolean b)方法

7、要创建一个线程类,可通过继承【】类。

A、Object

B、Thread

C、Runnable

D、Task

8、通过实现【】接口,可创建一个线程类

A、Object

B、Thread

C、Runnable

D、Task

9、通过重写继承的方法【】,可实现线程要执行的逻辑操作。

A.start() B.main() C.run() D.execute()

10、通过调用线程对象实例的【】方法,可以启动执行该线程。

A.start() B.main() C.run() D.execute()

二、填空题

1、一个应用程序中有多条并发执行的线索,每条线索都被称作一个__线程_,它

们会交替执行,彼此间可以进行__通信__。

2、在实现多线程的程序时有两种方式,一是通过继承__thread_类,二是通过实现__runnable___接口。

3、yield()方法只能让相同优先级或者更高优先级、处于__就绪_状态的线程获得运行的机会。

4、在Java语言中,同步方法需要用到关键字__synchronized___,对于同步方法而言无须指定同步锁,它的同步锁是方法所在的_对象__,也就是_this__(关键字)。

5、在Thread类中,start()方法用于开启一个_新线程___,当线程启动后,系统会自动调用___run()__方法。

三、判断题

1、当创建一个线程对象时,该对象表示的线程就立即开始运行。

2、如果前台线程全部死亡,后台线程也会自动死亡。

3、同步代码块中的锁对象可以是任意类型的对象。

4、静态方法不能使用synchronized关键字来修饰。

5、线程结束等待或者阻塞状态后,会进入运行状态。

四、简答题

1、在Java中创建线程有几种方式?

2、sleep()和wait()有什么区别?

五、分析题

1、阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。

class RunHandler{

public void run(){

System.out.println("run");

}

}

public class Test{

public static void main(String[] args){

Thread t=new Thread(new RunHandler());

t.start();

}

}

2、阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。

public class A extends Thread{

protected void run(){

System.out.println("this is run()");

}

public static void main(String[] args){

A a=new A();

a.start();

}

}

3、阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。

public class Test{

private Object obj=new Object();

public synchronized void a(){

try{

obj.wait();

System.out.println("waiting");

}catch(InterruptedException e){

System.out.println("Exception");

}

}

public static void main(String[] args){

new Test().a();

}

}

六、设计题

1、声明线程类TalkThread,循环打印线程名称10次(表示10次发言机会);创建测试类,创建3个对象(表示3个发言人)并启动线程,观察输出结果(3个发言人的发言顺序)。

第四章 Java API

一、选择题

1、先阅读下面的程序片段

String str="abccdefcdh"

String[] arr=str.split("c");

System.out.println(arr.length);

程序执行后,打印的结果是几?【】

A.2 B.3 C.4 D.5

2、以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个【】。A.ciel() B.floor() C.abs() D.random()

3、Random对象能够生成以下哪种类型的随机数?【】。

A.int B.String C.double D.A和C

4、String s=“abcdedcba”;则s.subString(3,4)返回的字符串是以下选项中的哪个?【】。

A、cd

B、de

C、d

D、e

5、假如indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个?【】。

A.false B.0 C.-1 D.以上答案都不对

6、以下Math类的方法中,-4.4通过哪个方法运算后,结果为-5.0【】。A.round() B.min() C.floor() D.ceil()

7、已知int i=(int)(Math.random()*100),则i不可能为【】。

A.0 B.1 C.99 D.100

8、已知String str=“abc计算机123”,则str.length()的值为【】。A.9 B.10 C.12 D.18

9、已知String a=“Hello”,String b=a.subString(0,2),则b=【】。A.Hello B.He C.Hel D.null

10、下列方法中,【】不是StringBuffer类的成员方法

A.compareTo() B.indexOf C.append D.charAt()

二、填空题

1、在Java中定义了两个类来封装对字符串的操作,它们分别是___________和_________________。

2、Java中操作日期的类有____________、_____________、_______________。

3、Math类中用于计算所传递参数平方根的方法是_______________。

4、Java中专门用于将日期格式化为字符串的类是________________。

5、Java中用于产生随机数的类是_____________,它位于_____________包中。

6、String类中用于返回字符串字符个数的方法是________________。

三、判断题

1、String对象和StringBuffer对象都是字符串变量,创建后都可以修改。

2、用运算符==比较字符串对象时,如果两个字符串的值相同,结果为true。

3、Ssytem类中的currentTimeMillis()方法返回一个long类型的值。

4、Date、Calendar以及DateFormat类都位于java.util包中。

5、String类的方法replace(CharSequence str1, CharSequence str2)返回一个新的字符串,它是通过用str2替换此字符串中出现的所有str1得到的。

四、简答题

1、String和StringBuffer有什么区别?

2、Date和Calendar类有什么区别和联系?

第五章集合类

一、选择题

1、Java语言中,集合类都位于哪个包中?【】

A.java.util B.https://www.360docs.net/doc/c2320312.html,ng C.java.array D.java.collections 2、使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?【】A.next() B.hash() C.hasPrevious D.hasNext()

3、在程序开发中,经常会使用以下哪个类来存储程序中所需的配置?【】A.HashMap B.TreeSet C.Properties D.TreeMap

4、要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用以下哪个集合?【】

A.LinkedList B.ArrayList C.HashSet D.TreeSet

5、以下哪个方法不是LinkedList集合中定义的?【】

A.getLast() B.getFirst() C.remove(int index) D.next() 6、获取单列集合中元素的个数可以使用以下哪个方法?

A.length() B.size() C.get(int index) D.add(Object obj) 7、下列集合类型中,不允许集合中存在重复项的是【】

A.Collection B.List C.Set D.Queue

8、下列关于List接口的说法,错误的是【】

A.继承Collection接口 B.不允许重复项

C.支持遍历 D.可以使用访问索引

9、下列关于Set接口的说法,错误的是【】

A.继承Collection接口 B.不允许重复项

C.支持遍历 D.可以使用访问索引

10、下列关于Collections类的静态方法binarySerach()的说法,错误的是【】

A.使用二分搜索法搜索指定列表

B.如果没有找到,则返回负值

C.查找前列表必须先排序

D.如果有多个相同元素,则返回第一个的索引

二、填空题

1、JDK中提供了一系列可以存储任意对象的类,统称为____________

2、在创建TreeSet对象时,可以传入自定义的比较器,自定义比较器需要实现_______________接口。

3、使用Iterator遍历集合时,首先需要调用______________方法判断是否存在下一个元素,若存在下一个元素,则调用_____________方法取出该元素。

4、使用Iterator遍历集合时,首先需要调用______________方法判断是否存在下一个元素,若存在下一个元素,则调用_____________方法取出该元素。

5、集合按照存储结构的不同可分为单列集合和双列集合,单列集合的根接口是________________,双列集合的根接口是___________。

6、Map集合中的元素都是成对出现的,并且都是以__________、_________的映射关系存在。

7、Iterator有一个子类,不仅可以对集合进行从前向右遍历,还可以从后向前遍历,该类是______________。

8、List集合的主要实现类有__________、__________,Set集合的主要实现类有__________、__________,Map集合的主要实现类有__________、_________。

9、Map集合中存在元素需要调用____________方法,要想根据该集合的键获取对应的值需要调用___________方法。

10、java.util包中提供了一个专门用来操作集合的工具类,这个类是________,还提供了一个专门用于操作数组的工具类,这个类是____________。

三、判断题

1.Set集合是通过键值对的方式来存储对象的。

2.集合中不能存放基本数据类型,而只能存放引用数据类型。

3.如果创建的TreeSet集合中没有传入比较器,则该集合中存入的元素需要实现Comparable接口。

4.使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素。5.LinkedList在内部维护了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元素节点的引用。

四、简答题

1、集合中的List、Set、Map有什么区别?

2、请说说Collection和Collections有什么区别?

五、分析题

1、分析下面的程序,然后写出程序的运行结果:import java.util.*;

public class Exp0719 {

public static void main(String[] args) { Map map = new LinkedHashMap();

map.put("1", "Jack");

map.put("2", "Rose");

map.put("3", "Lucy");

Set keySet = map.keySet();

Iterator it = keySet.iterator();

while (it.hasNext()) {

Object key = it.next();

Object value = map.get(key);

System.out.println(key + ":" + value);

}

}

}

2、分析下面的程序,然后写出程序的运行结果:import java.util.*;

public class Exp0720 {

public static void main(String[] args) { TreeMap tm = new TreeMap();

tm.put("1", "Jack");

tm.put("2", "Rose");

tm.put("3", "Lucy");

Set keySet = tm.keySet();

Iterator it = keySet.iterator();

while (it.hasNext()) {

Object key = it.next();

Object value = tm.get(key);

System.out.println(key + ":" + value);

}

}

}

六、设计题

1、已知学生类s6_Stud4,成员变量有no(学号,int)、name(姓名,String)、chinese(语文成绩,int)和math(数学成绩,int)。编程,要求按总成绩降序排列,若总成绩相同,按语文成绩降序排列,并编制简单的测试类。

第六章 Java IO(输入输出)

一、选择题

1、以下选项中,哪个是FileOutputStream的父类【】

A.File B.FileOutput C.OutputStream D.InputStream

2、File类中以字符串形式返回文件绝对路径的方法是【】

A.getParent() B.getName()

C.getAbsolutePath() D.getPath()

3、以下哪个不是InputStream类的方法?【】

A.int read(byte[]) B.void flush()

C.DataOutputStream D.available

4、以下选项中,哪个流中使用了缓冲区技术?【】A.BufferedOutputStream B.FileInputStream

C.DataOutputStream D.FileReader

5、以下选项中,哪个是File类delete()方法返回值的类型?【】A.boolean B.int C.String D.Integer

6、以下选项中,哪个文件操作类可以实现一次读入多个文件?【】。

A、FileReader

B、BufferedReader

C、FileInputStream

D、SequenceInputStream

7、以下对File类的public boolean isFile()方法的描述,哪个是正确的【】。

A、判断该File对象所对应的是否是文件

B、判断该File对象所对应的是否是目录

C、返回文件的最后修改时间

D、在当前目录下生成指定的目录

8、以下哪个包和Java.nio包共同提供了用于输入/输出流和文件操作的各种类型【】。

A、https://www.360docs.net/doc/c2320312.html,ng

B、java.util

C、java.io

D、java.text

9、BufferedReader的父类是【】。

A、Reader

B、FileReader

C、PipedReader

D、InputStreamReader

10、要确定磁盘分区的容量和可用空闲空间等信息,可以使用的类是【】。

A、Drive

B、Directory

C、File

D、FileOutputStream

二、填空题

1、Java中的IO流,按照传输数据不同,可分为____________和__________。

2、在Java中,__________类用于操作磁盘中的文件和目录,位于___________包中。

3、在Java中,______________________类用来把两个或更多的InputStream 输入流对象合并为单个InputStream输入流对象使用。

4、Java中提供了一个类____________________,它不但具有读写文件的功能,并且可以随机地从文件的任何位置开始执行读写数据的操作。

5、在Java中,能实现线程间通信的流是_____________。

6、InputStreamReader类是用于将____________流转换为____________。

三、判断题

1、如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。

2、装饰设计模式中,装饰对象应该包含一个被装饰对象的引用。

3、使用ObjectInputStream与ObjectOutputStream类来读取或存储的对象必须要实现Serializable接口,否则程序将出现NotSerializableException异常。

4、InputStream类的close()方法是用于关闭流并且释放流所占的系统资源。

5、一般来说,把字符转换成计算机识别的字节序列称为解码,而把字节序列转换为普通人能看懂的明文字符称为编码。

四、简答题

1、Java流被分为字节流、字符流两大流类,两者有什么区别?

六、设计题

1、创建新的文本文件myFile.txt,从控制台输入内容并写入源文件中,然后读取并显示myFile.txt内容。

2、在指定的文本文件中查找指定的关键字,并打印包含结果的行。文本文件和关键字均由命令行参数指定。

第七章 GUI(图形用户界面)

一、选择题

1、下面四个组件中哪一个不是Component的子类?【】

A.Button B.Dialog C.Label D.MenuBar

2、每个GUI程序中必须包含一个什么组件【】

A.按钮 B.标签 C.菜单 D.容器

3、当鼠标按键被释放时,会调用以下哪个事件处理器方法?【】A.mouseReleased() B.mouseUp()

C.mouseOff D.mouseLetGo

4、ActionEvent的对象会被传递给以下哪个事件处理器方法?【】A.addChangeListener() B.addActionListener()

C.stateChanged() D.actionPerformed()

5、下面哪个不是FlowLayout类中表示对齐方式的常量?【】A.FlowLayout.LEFT B.FlowLayout.CENTER

C.FlowLayout.VERTICAL D.FlowLayout.RIGHT

6、下面对Swing的描述,不正确的是【】。

A、Swing是在AWT基础上构建的一套新的图形界面系统

B、Swing提供了AWT所能够提供的所有功能

C、Swing组件是用Java代码来实现的

D、Swing组件都是重量级组件

7、下面四对AWT和Swing对应组件中,错误的是【】。

A、Button和JButton

B、Dialog和JDialog

C、MenuBar和JMenuBar

D、ComboBox和JComboBox

8、使用下面哪个组件可以接收用户的输入信息【】。

A、JButton

B、JLabel

C、JTextField

D、以上都可以

9、JFrame的默认布局管理器为【】。

A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout

10、Japplet的默认布局管理器为【】。

A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout

11、Jpanel的默认布局管理器为【】

A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout

12、将组件垂直摆放在一列或水平摆放在一行中的布局管理器是【】

A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout

13、下列事件中,不属于低级事件【】。

A.KeyEvent B.MouseEvent C.Windowevent D.ActionEvent

14、在类中若要处理ActionEvent事件,则该类需要实现的接口是【】A.Action B.Runnable C.Serializable D.ActionListener

15、下列关于事件的说法中,不正确的是【】

A.一个组件可以引发多种事件

B.一个组件可以注册多个事件监听器

C.一个监听器只能监听一个组件

D.一个监听器可以监听处理多种事件

二、填空题

1、在Java中,图形用户界面简称__________,它的组件包含在___________和____________这两个包中。

2、为了避免实现监听器中定义的所有方法,造成代码的臃肿,在JDK中提供了一些__________类,这些类实现了接口所有的方法,但是方法中没有任何代码,属于一种空实现。

3、在Java中,____________类相当于一个抽象的画笔对象,使用它可以在组件上绘制图形。

4、_____________负责监听事件源上发生的事件,并对各种事件做出响应处理。

5、在部分的Swing组件都是_____________类的直接或者间接子类,其名称都是在原来AWT组件名称前加上字母J。

三、判断题

1、容器(Container)是一个可以包含基本组件和其他容器的组件。

2、可以通过实现ActionListener接口或者继承ActionAdapter类来实现动作事件监听器。

3、CardLayout布局管理器将界面看做一系列卡片,在任何时候只有其中一张卡片是可见的。

4、非模态对话框是指用户需要等到处理完对话框后才能继续与其他窗口进行交互。

5、JFrame的默认布局管理器是FlowLayout。

四、简答题

1、简述AWT和Swing的区别。

六、设计题

1、使用JLabel 、JTextField 、JButton 控件实现摄氏温度和华氏温度的转换。运行结果如图所示:

2、编程,在程序中建立一个窗口,其中包含两个文本框和一个按钮,单击按钮,能将一个文本框中的内容复制到另一个文本框中,程序运行结果如图所示:

第八章 网络编程

一、选择题

1、使用UDP 协议通信时,需要使用哪个类把要发送的数据打包?【 】

A .Socket

B .DatagramSocket

C .DatagramPacket

D .ServerSocket

2、以下哪个是serverSocket 类用于接收来自客户端请求的方法?【 】

A .accept()

B .getOutputStream()

C .receive()

D .get()

3、以下说法不正确的是【 】

A .TCP 连接中必须要明确客户端与服务器端

B .TCP 协议是面向连接的通信协议,它提供了两台计算机之间可靠无差错的数据传输

C .UDP 协议是面向无连接的协议,可以保证数据的完整性

D .UDP 协议消耗资源小,通信效率高,通常被用于音频、视频和普通数据的传输

4、以下哪个类用于实现TCP 通信的客户端程序?【 】

A .ServerSocket

B .Socket

C .Client

D .

Server

(a) 摄氏转华氏 (b) 华氏转摄氏

5、进行UDP通信时,在接收端若要获得发送端的IP地址,可以使用DatagramPacket的哪个方法?【】

A.getAddress() B.getPort() C.getName() D.getData()

6、以下哪个方法是DatagramSocket类用于发送数据的方法?【】A.receive() B.accept() C.set() D.send()

7、在程序运行时,DatagramSocket的哪个方法会发生阻塞?【】

A.send() B.receive() C.close() D.connect()

8、TCP协议的“三次握手”中,第一次握手指的是什么?【】

A.客户端再次向服务器端发送确认信息,确认连接

B.服务器端向客户端回送一个响应,通知客户端收到了连接请求

C.客户端向服务器端发出连接请求,等待服务器确认

D.以上答案全部错误

9、TCP/IP系统中的端口号是一个多少位的数字?【】

A.8 B.16 C.32 D.64

10、要获取URL对象的端口号,可调用其成员方法是【】

A.getHost() B.getProtocol() C.getPort() D.getRef()

二、填空题

1、TCP协议的特点是_______________,即在传输数据前先在___________和____________建立逻辑连接。

2、在计算机中,端口是用__________字节,也就是16位的二进制数表示,它的取值范围是_________________。

3、TCP/IP协议被分为四个层:分别是__________、___________、_________、______________。

4、在JDK中,IP地址用________________类表示,该类提供了许多和IP地址相关的操作。

5、使用UDP协议开发网络程序时,需要使用两个类,分别是_______________、__________________。

6、URL一般由3部分组成:______________、主机地址和资源路径。

7、Socket(套接字)由一个IP地址和____________唯一确定。

8、可以通过Socket对象的成员方法______________获取其对应的输入流。

9、可以通过Socket对象的成员方法______________获取其对应的输出流。

10、Java类库https://www.360docs.net/doc/c2320312.html,包中实现数据报套接字的类是_______________。

三、判断题

1、由于UDP是面向连接的协议,可以保证数据的完整性,因此在传输重要数据

时建议使用UDP协议。

2、在网络通信中,对数据传输格式、传输速率、传输步骤等作了统一规定,只有通信双方共同遵守这个规定才能完成数据的交互,这种规定称为网络传输协议。

3、在创建发送端的DatagramPacket对象时,需要指定发送端的目标IP地址和端口号。

4、IPv4版本的IP地址使用4个字节来表示,IPv6版本的IP地址使用8个字节来表示。

5、使用TCP协议通信时,通信的两端以IO的方式进行数据的交互。

四、简答题

1、TCP协议和UDP协议有什么区别?

2、Socket类和ServerSocket类各有什么作用?

第九章数据库及其它

一、选择题

1、下列数据库产品中,哪个为适合于个人用户的桌面DBMS【】

A.Oracle B.Microsoft SQL Server

C.IBM DB2 D.Microsoft Access

2、Microsoft SQL Server的数据库模型属于【】

A.层次模型 B.网状模型 C.关系模型 D.面向对象的数据模型

3、要删除数据库表,可以使用的SQL命令是【】

A.DELETE TABLE B.REMOVE TABLE C.ERASE TABLE D.DROP TABLE 4、在Java编程语言中,JDBC是指【】

A.Java类编译程序 B.访问关系数据库的编程接口标准

C.Java类库名称 D.与浏览器交互的一种机制

二、填空题

1、每个数据表中通常都有一个____________,用于唯一确定一条记录。

2、JDBC的相关类都位于_______________包中。

3、通常可以采用Class类的______________静态方法显示地加载一个驱动程序类。

4、使用DriverManager类的_______________静态方法实现与URL所指定的数据源建立连接并返回一个Connection类的对象。

5、_______________________对象是对应于预编译SQL语句的Statement。

6、ResultSet对象具有指向其当前数据行的游标,使用_____________方法可以

将游标移动到下一行。

三、判断题

1、一个数据表中可以设定多个主关键字。

2、重复执行相同结构的SQL语句时,Statement比PreparedStatement具有更高的效率。

3、executeQuery()方法获得的结果集ResultSet对象的游标默认指向第一行数据。

4、默认的ResultSet对象不可更新,仅有一个向前移动的光标。

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

Java编程规范试题

姓名: ____________ 工号:_______________ 部门:____________ 成绩: 一. 判断题(共15题,每题2分,直接在括号内打“/或“X”) 1、任何时候都不要使接口可以序列化。x 2、相对独立的程序块之间、变量说明之后必须加空行。V 3、当程序需要释放对象的时候,应该手工调用fin alize 方法以释放对象。x 4、公司的规范要求注释率是20%以上,并且必须有助于对程序的阅读理解。x 5、为了程序更加简洁,我们应该尽量使用下面的方式来赋值: a = b = 1 。x 6、每个类都需要定义构建器。x 7、类名、方法名、属性名的命名,都应该使用意义完整的英文描述。V 8、main() 方法的定义是public static void main(String args[]) 。x 9、常量名应该使用全大写,英文单词之间用下划线或者-分隔开。并且,常量应该使用final static 修饰。x 10、公有方法参数名可以和属性名相同,但局部变量不能和属性名相同。V 11、一两行代码就能完成的功能没有必要编写方法实现。x 12、对于模块间接口方法的参数的合法性检查,调用者和被调用者都应该对参数进行合法性检查。 x 13、运行期异常使用RuntimeException的子类来表示,必须在方法声明上加throws子句。x非运行 期异常是从Exception继承而来的,不用在可能抛出异常的方法声明上加throws子句。x 14、使用Objectstream 的方法后,调用release(),释放对象。X 15、减小单个方法的复杂度,使用的if, while, for, switch 语句要在10个以内。V 二、单项选择题(共23题,每题2分) (c ) 1、排版时,代码缩进应该采用的方式是: (A)Tab缩进 (B)2个空格缩进

JAVA程序设计习题

JAVA程序设计习题1 一、单选题 1.编译Java Application源程序文件将产生相应的字节码文件,扩展名为哪一个? A.java B.class C.html D.exe 2.下面哪一个特性不是面向对象编程主要体现的? A.封装性 B.继承 C.多态 D.类 3.设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x的值是哪一个? A.3 B.3.5 C.4 D.5 4.以下标识符中,哪个是无效的标识符? A.IDoLikeTheLongNameClass B.$byte C.ok D. const 5.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点? A.安全性B.多线性C.跨平台D.可移植 6.Applet可以做下列哪些操作? A.读取客户端文件B.在客户端主机上创建新文件 C.在客户端装载程序库D.读取客户端部分系统变量 7.以下声明合法的是哪一个? A.default String s;B.public final static int w( ) C.abstract double d;D.abstract final double hyperbolicCosine( ) 8.以下选项中循环结构合法的是哪一个? A. while (int i<7) { i++; System.out.println(“i is “+i); } B. int j=3; while(j) { System.out.println(“ j is “+j); } C. int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D. int j=0;

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

《JAVA程序设计》试卷含答案

《JAVA 程序设计》试卷 《JAVA 程序设计》试卷 第1页,共6页 第2页,共6页 Java 程序设计 一、 填空题(要求将答案写在空白处,共11道小题,每空1分,共20分) 1、Java 的三大体系分别是______、______、______。 2、Java 程序的运行环境简称之为______。 3、Java 中的程序代码都必须在一个类中定义,类使用______关键字来定义。 4、布尔常量即布尔类型的两个值,分别是______和______。 5、在Java 中,byte 类型数据占______个字节,short 类型数据占______个字节,int 类型数据占______个字节,long 类型数据占______个字节。 6、若x = 2,则表达式 ( x + + )/3 的值是______。 7、若int a =2; a+=3;执行后,变量a 的值为______。 8、若int []a={12,45,34,46,23}; ,则a[2]= ______。 9、若int a[3][2]={{1,1},{2,2},{3,3}},则a[2][1]= ______。 10、 面向对象的三大特征是______、______和______。 11、 定义在类中的变量被称为______,定义在方法中的变量被称为______ 二、 选择题(将正确答案写在括号内,注意没有在题目中特别说明的均为单选题, 共10题,每题2分,共20分) 1、以下选项中,哪个用来编译源程序 A 、Javadoc B 、Java 运行工具 C 、Java 编译器 D 、Java 打包工具 2、Java 属于以下哪种语言? A 、机器语言 B 、 汇编语言 C 、高级语言 D 、以上都不对 3、下面哪种类型的文件可以在Java 虚拟机中运行? A 、.java B 、.jre C 、class D 、.exe 4、以下选项中,switch 语句判断条件可以接收的数据类型有哪些? (多选) A 、int B 、byte C 、char D 、short 5、假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个? A 、0 B 、2 C 、3 D 、5 6、下面的运算符中,用于执行除法运算是哪个? A 、% B 、\ C 、/ D 、* 7、下列语句哪些属于循环语句?(多选) A 、for 语句 B 、if 语句 C 、while 语句 D 、switch 语句 8、下面哪种写法可以实现访问数组arr 的第1个元素? A 、arr[0] B 、arr(0) C 、arr[1] D 、arr(1) 9、以下哪个选项可以正确创建一个长度为3的一维数组? A 、 new int [2]; B 、 new int[3][]; C 、 new int[3]; D 、 以上答案皆不对 10、请先阅读下面的代码。 int x = 1; int y = 2; if (x % 2 == 0) { y++; } else { y--; } System.out.println("y=" + y); 上面一段程序运行结束时,变量y 的值为下列哪一项? A 、3 B 、2 C 、1 D 、switch 语句 三、程序阅读题(要求将分析结果写在答题纸上,共4道小题,每题5分,共20分) 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。 代码一: public class Test01 {

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B ) 。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A)0 B) 1 C) 2 D) 3 2.设i 、j 为int 型变量名, a 为int 型数组名,以下选项中,正确的赋值语句是( B ) 。 A)i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是(B )。 A)多重的B) 单重的C) 线程的D) 不能继承 4.设有定义int i = 6 ; ,则执行以下语句后,i 的值为( C ) 。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。 A) interface B) package C) extends D) class 6.若已定义byte[ ] x= {11,22,33,-66} ; 其中O W k<3,则对x数组元素错误的引用是(C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后, ch1 的值是( B ) 。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B

JAVA语言程序设计期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题 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、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

Java程序设计期末考试试题

Java程序设计期末考试试题、试卷、习题A卷 一、选择题。本题共20小题,每题2分,满分40 分。 1、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行……… () A)init() B)start() C)destroy() D)stop() 2、有以下方法的定义,请选择该方法的返回类型() ReturnType method(byte x, double y) { return (short)x/y*2; } A)byte B)short C)int D)double 3、以下哪项可能包含菜单条()。 A)Panel B)Frame C)Applet D)Dialog 4、Java application中的主类需包含main方法,main方法的返回类型是什么?()A)int B)float C)double D)void 5、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A)String args B)String ar[] C)Char arg D)StringBuffer args[] 6、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A). java B) .class C) . html D) .exe 7、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。 A)3 B)3. 5 C)4 D)5 8、不允许作为类及类成员的访问控制符的是( )。 A)public B)private C)static D)protected 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A)static void method( ) B)public void method( ) C)final void method( ) D)abstract void method( ) 10、以下哪一个不是JAVA的标准数据流( )。 A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流 11.设有下面两个赋值语句:( ) a = Integer.parseInt(“123”); b = Integer.valueOf(“123”).intValue(); 下述说法正确的是()。 A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。 12、下列代表十六进制整数的是( ) A)0123 B)1900 C)fa00 D)0xa2

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application得入口方法main()得检验: main()方法得参数名就是否可以改变? main()方法得参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗? 参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? bytei =127; bytej = 128; longl1 = 999999; long l2= 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 =3、5; float f2 = 3.5f; 参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1)4+5 == 6*2 ?(2) (4=5)/6?? (3)9%2*7/3>17(4)(4+5)<=6/3 ? (5) 4+5%3!=7-2????(6)4+5/6〉=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得. 7、下列()就是合法得Java标识符。 (1)Counter1 ??(2)$index, (3) name-7 ??(4)_byte

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

Java程序设计试卷及答案

Java程序语言试卷(A) 答题卡: 一题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________ 6.___________________________________________________________ 四题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________五题:

Java程序设计试卷及答案

XXXX大学2006 /2007学年第一学期考试试卷课程名称:Java程序设计考试方式:闭卷完成时限:120分钟班级名称:学号:姓名: 一、选择题(每题2分,共30分) 1、Java程序的执行过程中用到一套JDK工具,其中java.exe是指。 A.Java文档生成器 B.Java解释器 C.Java编译器 D.Java类分解器 2、Java语言中,下列标识符错误的是。 A.—sys1 B.&—m C.I D.40name 3、下列语句执行后,变量a、c的值分别是。 int x=182; int a,c; c=x/100; a=x%10; A) 1,2 B) 2,1 C) 1.82, 2 D) 100,82 4、应用程序的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” 5、下列程序段执行后的结果是。

String s=new String("abcdefg"); for(int i=0;i

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

Java程序设计-习题参考答案

参考答案 第1章 3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用? 一台计算机由硬件和软件组成。一台典型的计算机由五大部分组成。这五大部分是:运算器,控制器,存储器,输入设备和输出设备。 运算器是执行算术运算和逻辑运算的部件。 控制器是向计算机其他部分发送命令的部件。 存储器是计算机用来存储数据、信息的部件。 输入设备就是外界向计算机输入信息设备。 输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。 9、将以下十进制数转换为对应的二进制数 (1)32 (2)97 (3)256 (4)500 (1)100000 (2)1100001 (3)100000000 (4)111110100 第2章 1.Java语言有哪些主要特点。 平台独立性 安全性 多线程 网络化 面向对象 3.Java Application的开发步骤有哪些。 Java Application的开发步骤: (1)下载JDK软件并安装; (2)配置相应的环境变量(path和classpath); (3)编写Java源程序(文本编辑器或集成开发环境IDE); (4)编译Java源程序,得到字节码文件(javac *.java); (5)执行字节码文件(java 字节码文件名)。

4.什么是环境变量,设置环境变量的主要目的是什么。 环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。 第3章 1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法标识符。 a a2 3a *a _a $a int a% 在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。 合法的标识符: a a2 _a $a 5.数据类型强制转换的原则是什么?如何转换? 对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char 到short等,则需要进行强制转换。 float f = 11.5; short b ; b = (short)f; (强制转换) 第4章 5.用穷举法求出3位数中百、十、个位数的立方和就是该数的数。 public class Test { public static void main(String[] args) { int a,b,c,x=100; while(x<1000){ a=x%10; b=(x%100-a)/10; c=(x-x%100)/100; if(a*a*a+b*b*b+c*c*c==x) System.out.println(x); x+=1;

JAVA程序设计题库

JAVA程序设计题库 第一部分 JAVA语言概论 一、选择题 1. 下列不属于java语言鲁棒性特点的是: A. java能检查程序在变异和运行时的错误 B. java 能运行虚拟机实现跨平台 C. java 自己操纵内存减少了内存出错的可能性 D. java 还实现了真数组,避免了覆盖数据的可能 2. java语言的执行模式是: A. 全编译型 B. 全解释型 C. 半编译和半解释型 D. 同脚本语言的解释模式 3. 下列关于虚拟机说法错误的是: A. 虚拟机可以用软件实现 B. 虚拟机部可以用硬件实现 C. 字节码是虚拟机的机器码 D. 虚拟机把代码程序与各操作系统和硬件分开 4. java语言是1995年由()公司发布的 A. Sun B. Microsoft C. Borland D. Fox Software 5. 下列不是虚拟机执行过程特点的是 A. 双线程 B. 多线程 C. 动态链接 D. 异常处理 6. java以JVM为基础,最下层是移植接口,由适配器和()组成 A. 网卡 B. Java os C. Java基本类 D. Java 应用程序和applet小程序 7. java程序的执行过程中用到一套JDK工具,其中javac.exe指 A. java语言编译器 B. java字节码解释器 C. java文档生成器 D. java类分解器 8. java的API结构中,不属于类库主要包括的核心包的是 A. java包 B. javax C. javadoc包 D. org扩展包 9. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的 A. 一个 B. 两个

相关文档
最新文档