《java程序设计》作业及答案
- 格式:doc
- 大小:117.50 KB
- 文档页数:17
《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 、JavadocB 、Java 运行工具C 、Java 编译器D 、Java 打包工具 2、Java 属于以下哪种语言?A 、机器语言B 、 汇编语言C 、高级语言D 、以上都不对 3、下面哪种类型的文件可以在Java 虚拟机中运行? A 、.java B 、.jre C 、class D 、.exe4、以下选项中,switch 语句判断条件可以接收的数据类型有哪些? (多选) A 、int B 、byte C 、char D 、short5、假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个? A 、0 B 、2 C 、3 D 、56、下面的运算符中,用于执行除法运算是哪个? 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、请先阅读下面的代码。
Java程序设计习题附答案(一)java程序设计题库第一部分是引言1、下列关于java语言的特点,描述错误的是(c)a、 Java是一种跨平台编程语言。
java支持分布式计算。
java是一种面向过程的编程语言。
java支持多线程2、java语言具有许多优点和特点,下列选项中,哪个反映了java程序并行机制的特点?(b)a、安全性b、多线性c、跨平台d、可移植3、javajdk中调试器的命令是(c)。
a、javacb、javac、jdbd、avah4.在jar文件中运行类文件需要在Java命令之后添加的参数是(a)。
a、-cpb-gc-dd-verbose5、下面哪项在java中是不合法的标识符?(c)a、$userb、pointc、you&med、 _uuline6、下面关于java语言说法正确的是(abcd)。
a、 Java语言是一种面向对象、解释和执行的网络编程语言。
b、 Java语言是可移植的、独立于平台的编程语言。
c、 Java语言可以自动收集内存垃圾。
d、java语言编写的程序虽然是“一次编译,到处运行”,但必须要有java的运行环境。
7、在java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。
(b)a、源代码,htmlb,源代码,字节码C,字节码,源代码D,HTML,字节码8,Java JVM指的是(b)。
a、由java操作的家用设备(通常是一个漂亮的小烤箱)b、java字节代码的解释程序c、java源代码的编译器d、运行Java所需的硬件设备9、在java中,关于classpath环境变量的说法不正确的是(a)。
a、一旦设置了类路径,就不能对其进行修改,但可以将目录添加到环境变量中。
b、编译器使用它来搜索各自的类文件。
c、类路径是一个目录列表。
d、解释器使用它来搜索相应的类文件。
10.一个可以独立运行的Java应用程序(d)。
a、可以有一个或多个main方法。
《JAVA程序设计》练习题一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B)。
A.javaB. .classC.html D。
exe2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A ).A。
3 B. 3。
5C. 4 D。
53、不允许作为类及类成员的访问控制符的是(C)。
A. public B。
privateC。
static D。
protected4、为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、设有数组定义:intMyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70};则执行以下几个语句后的输出结果是120 。
Java程序设计各章习题及其答案第一章习题及思考题1、Java程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名规则是怎样的?答:一个Java源程序是由若干个类组成。
一个Java程序不一定需要有public类:如果源文件中有多个类时,则只能有一个类是public 类;如果源文件中只有一个类,则不将该类写成public也将默认它为主类。
源文件命名时要求源文件主名应与主类(即用public修饰的类)的类名相同,扩展名为.java。
如果没有定义public类,则可以任何一个类名为主文件名,当然这是不主张的,因为它将无法进行被继承使用。
另外,对Applet小应用程序来说,其主类必须为public,否则虽然在一些编译编译平台下可以通过(在BlueJ下无法通过)但运行时无法显示结果。
2、怎样区分应用程序和小应用程序?应用程序的主类和小应用程序的主类必须用public修饰吗?答:Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行。
在源程序代码中两者的主要区别是:任何一个Java Application 应用程序必须有且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类,即该类头部分以extends Applet结尾。
应用程序的主类当源文件中只有一个类时不必用public修饰,但当有多于一个类时则主类必须用public修饰。
小应用程序的主类在任何时候都需要用public来修饰。
3、开发与运行Java程序需要经过哪些主要步骤和过程?答:主要有三个步骤(1)、用文字编辑器notepad(或在Jcreator,Gel, BuleJ,Eclipse, Jbuilder等)编写源文件;(2)、使用Java编译器(如Javac.exe)将.java源文件编译成字节码文件.class;(3)、运行Java程序:对应用程序应通过Java解释器(如java.exe)来运行,而对小应用程序应通过支持Java标准的浏览器(如Microsoft Explorer)来解释运行。
目录一、判断题................................................. - 1 -二、选择题................................................. - 3 -三、填空题................................................ - 15 -四、写出下列程序完成的功能.................... 错误!未定义书签。
五、写出下面程序的运行结果.................... 错误!未定义书签。
六、使用Java语言编写程序................................. - 24 -七、简答题.................................... 错误!未定义书签。
Java程序设计习题集一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
( F )2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。
( T ) 4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。
( F )(应该是左上角)5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
( F) 6.Final类中的属性和方法都必须被final修饰符修饰。
( F )(静态的必须被静态的修饰符修饰)7.最终类不能派生子类,最终方法不能被覆盖。
(T )8.子类要调用父类的方法,必须使用super关键字。
( T )9.一个Java类可以有多个父类。
( F )10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p 是正确的。
( F )11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
( T ) 12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
java程序设计试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. enumD. struct答案:A2. Java中的“==”操作符用于比较什么?A. 引用是否相同B. 引用所指向的对象的值是否相同C. 基本数据类型的值是否相同D. 引用所指向的对象的内存地址是否相同答案:C3. 下列哪个是Java的合法标识符?A. 2variableB. variable-nameC. #variableD. variable$name答案:B4. Java中,哪个关键字用于实现多态?A. abstractB. finalC. overrideD. implements答案:C5. 在Java中,以下哪个是正确的数组初始化方式?A. int[] array = new int[5] = {1, 2, 3};B. int array[] = {1, 2, 3, 4, 5};C. int array = new int[5] = {1, 2, 3, 4, 5};D. int[] array = {1, 2, 3, 4, 5};答案:D二、填空题根据题目要求,填空题需要根据题目所给的上下文,填写正确的信息。
1. Java是一种______语言。
答案:面向对象2. 在Java中,所有的类都是从______类直接或间接继承的。
答案:Object3. Java中的集合框架中,List接口的实现类ArrayList是______的。
答案:有序4. Java中的异常处理机制是通过______关键字实现的。
答案:try-catch5. Java中的包是用来组织类和接口的,使用______关键字来声明一个包。
答案:package三、简答题1. 简述Java中接口和抽象类的区别。
答案:接口(interface)是一种完全抽象的类型,它可以包含抽象方法和默认方法,但不能有具体实现。
java程序设计试题及答案在这里,我将按照试题和答案的格式为您回复题目为“java程序设计试题及答案”的文章。
Java程序设计试题及答案一、选择题1. 下列关于Java程序设计语言的说法,正确的是()。
A. Java是编译执行的语言;B. Java程序只能运行在Windows操作系统上;C. Java程序可以在任何操作系统上运行;D. Java程序只能由JDK编译。
答案:C. Java程序可以在任何操作系统上运行。
2. 在Java程序中,用于接收用户输入的类是()。
A. Scanner;B. Integer;C. Double;D. String。
答案:A. Scanner。
3. 以下代码的输出结果是()。
```javaint x = 5;int y = 2;System.out.println(x / y);```A. 2.5;B. 2;C. 2.0;D. 2.50。
答案:B. 2。
二、填空题1. Java程序的入口函数是()。
答案:main。
2. 以下代码中,用于定义整型变量的关键字是()。
```java_____________ x = 10;```答案:int。
三、简答题1. 请简要解释Java程序的编译执行过程。
答案:Java程序的编译执行过程包括以下几个步骤:1) 编写Java源代码文件,以`.java`为扩展名;2) 使用JDK中的`javac`命令编译源代码文件,生成字节码文件,以`.class`为扩展名;3) 使用JDK中的`java`命令解释执行字节码文件。
2. 请简述Java中的面向对象编程特性。
答案:Java中的面向对象编程特性包括封装、继承和多态。
- 封装:将数据和操作数据的方法封装在一起,形成类的概念,隐藏内部实现细节;- 继承:通过继承机制,实现代码的重用和扩展性,子类可以继承父类的属性和方法;- 多态:通过多态性,同一类型的对象可以具有不同的行为,提高代码的灵活性和可扩展性。
java程序设计(答案)《JA V A程序设计》作业一、选择题1、 C2、A3、 C4、D5、C6、D7、 C8、 C9、C10、B 11、E 12、A13、A 14、A15、D16、B 17、A 18、D 19、C 20、C 21、C 22、C23、B 24、B25、C26、D 27、C 28、C 29、C 30、C 31、B 32、A33、D 34、B35、A36、B 37、D 38、A 39、B 40、B 41、B 42、A43、B 44、E45、D46、A 47、D 48、D 49、A 50、B 51、B 52、B53、B 54、A55、C56、A 57、C 58、C 59、B 60、C 61、4 62、2 63、1 64、2 65、1 66、2 67、2 68、1 69、3 70、21、编译HelloWorld.java的正确命令是:A)java HelloWorld.class B)java HelloWorld.java C)javac HelloWorld.java2、正确运行HelloWorld.java的正确命令是:A)java HelloWorld B)javac HelloWorld.java C)javac HelloWorld.class3、下面程序代码,使用多行注释正确的是:A)// int k=9;// int j=8;// k = k + j;B)*/ int k=9;int j=8;k = k + j;/*C)/* int k=9;int j=8;k = k + j; */D)/** int k=9;int j=8;k = k + j;/*4、long型的取值范围是:A)-27~27-1 B)-215~215-1 C)-231~231-1 D)-263~263-15、下面不属于Java保留字的是:A)abstract B)if C)malloc D)this6、下面属于非法的Java标识符的是:A)abc_xyz B)$abc C)_abc_ D) abc-d7、对与System.out.println()语句解释合理的是:A)执行后什么都不输出B)执行后输出一个空格C)执行后输出一个空行D)语法错误8、阅读下面的代码,回答问题,for( m = 0 ; m > -2 ; m -- ){….}For循环执行多少次:A)0 B)1 C)2 D)39、阅读下面的代码,回答问题,for( m = 0; m < 5; m++ ){System.out.print( m + "," );if( m == 3 )break;}执行结果是:A)0,1,2,3,4,5 B)0,1,2,3,4 C)0,1,2,3 D)0,1,2 10、阅读下面的代码,回答问题,public class Ex{int x = 1;void m(){int x = 3;System.out.print( "x= " + x);}public static void main( String[] args ){Ex ex = new Ex();ex.m();}}执行结果是:A)没有结果输出B)x=3 C)x=1 D)编译错误11、下面语句在编译时不会出现错误信息的是:A.float f = 1.3; B.char c = "a"; C.byte b = 257; D.boolean b = null; E.int i = 10;12、编译和运行下面的代码,会有什么结果产生:public class MyClass {public static void main(String arguments[]){amethod(arguments);}public void amethod(String[] arguments){System.out.println(arguments);System.out.println(arguments[1]);}}A.错误,静态方法不能直接引用非静态方法B.错误,主方法有错误C.错误,数据定义有错误D.方法amethod必须被声明为String型13、编译期间会出错的是:A.import java.awt.*;package Mypackage;class Myclass {}B.package MyPackage;import java.awt.*;class MyClass{}C./*This is a comment */package MyPackage;import java.awt.*;class MyClass{}14、byte型的变量的表示范围为:A.-128 to 127 B.(-2 power 8 )-1 to 2 power 8C.-255 to 256 D.依赖Java虚拟机而定15、在命令行运行命令:java myprog good morning会有什么结果显示出来:public class myprog{public static void main(String argv[]){System.out.println(argv[2])}}A.Myprog B.Good C.morningD.Exception raised:"/doc/79fd2430b90d6c85ec3ac6eb.html ng.ArrayIndexOutOfBoundsException: 2"16、下面不是Java保留字的是:A.If B.then C.Goto D.while17、下面属于非法的标识符的是:A.2variable B.variable2 C._whatavariableD._3_ E.$anothervar18、编译下面的代码,会有什么结果产生:public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A.错误,变量i 没有初始化B.Null C.1 D.019、编译运行下面的代码,会有什么结果产生:public class Q {public static void main(String argv[]){int anar[]= new int[]{1,2,3};System.out.println(anar[1]);}}A.1 B.3 C. 2 D.错误,数组anar的长度没有定义.20、编译运行下面的代码,会有什么结果产生:public class Q {public static void main(String argv[]){int anar[]= new int[5];System.out.println(anar[0]);}}A.编译错误B.Null C.0 D.521、编译运行下面的代码,会有什么结果产生:abstract class MineBase {abstract void amethod();static int i;}public class Mine extends MineBase{public static void main(String argv[]){int[] ar = new int[5];for(i = 0;i < ar.length;i++)System.out.println(ar[i]);}}A.五个0被输出B.错误,ar使用前没有初始化C.错误,类Mine 必须要被声明为抽象的类D.IndexOutOfBoundes Error i 22、编译运行下面的代码,会有什么结果产生:int i = 1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}A.One B.one, default C.one, two, default D.Default23、编译运行下面的代码,会有什么结果产生:int i = 9;switch (i) {default:System.out.println("default");case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");}A.Default B.default, zeroC.error default clause not defined D.no output displayed 24、下面不会在编译时出错的是:A.int i=0;if(i){System.out.println("Hello");}B.boolean b = true;boolean b2 = true;if(b==b2)System.out.println("So true");C.int i=1;int j = 2;if(i ==1&j==2)System.out.println("OK");D.int i=1;int j = 2;if(i ==1 &| j==2)System.out.println("OK");25、编译运行下面的代码,会有什么结果产生,注意,在当前目录里没有文件Hello.txt:import java.io.*;public class Mine{public static void main(String argv[]){Mine m = new Mine();System.out.println(m.amethod());}public int amethod(){try {FileInputStream dis = new FileInputStream("Hello.txt");}catch (FileNotFoundException fne) {System.out.println("No such file found");return -1;}catch(IOException ioe) {} finally{System.out.println("Doing finally");}return 0;}}A.No such file found B.No such file found ,-1 C.No such file found, doing finally, -1 D.026、建立一个HTML去显示一个applet时,必须要定义的tags 是:A.name, height, width B.code, name C.codebase, height, width D.code, height, width 27、编译运行下面的代码,会有什么结果产生:class Base {}class Sub extends Base {}public class CEx{public static void main(String argv[]){Base b = new Base();Sub s = (Sub) b;}}A.Compile and run without error B.Compile time ExceptionC.Runtime Exception28、用下面的HTML去显示applet:MgAp,控制台会有什么结果显示:import java.applet.*;import java.awt.*;public class MgAp extends Applet{public void init(){System.out.println(getParameter("age"));}}A.Error no such parameter B.0 C.Null D.30 29、Math 类包含在哪个包里:A.java.io B.java.awt C./doc/79fd2430b90d6c85ec3ac6eb.ht ml ng D.java.applet 30、编译运行下面的代码,会有什么结果产生://Code startimport java.awt.*;public class Butt extends Frame{public static void main(String argv[]){Butt MyBut= new Butt();}Butt(){Button HelloBut = new Button("Hello");Button ByeBut = new Button("Bye");add(HelloBut);add(ByeBut);setSize(300,300);setVisible(true);}}//Code enda) 两个按钮并列占据整个frame b) Hello按钮占据整个framec) Bye按钮占据整个frame31、Java程序是否可以在除了Windows的其他平台上运行:A)不可以B)可以32、对于一个Java源文件,import, class定义以及package正确的顺序是:A)package, import, class B)class, import, packageC)import, package, class D) package, class, import33、那个方法可以不能被String型对象调用:Which methods can be legally applied to a string object?A)equals(String) B)toString() C)trim() D)round()34、main方法中的参数正确的定义是:A)String[] args [] B)String [] argsC)float args [] D)String args35、在命令行执行:java Example 12 3e you 45.6那么main方法的参数args数组的第一个元素args[0]的内容是:A)java B)Example C)12 D)3e36、下面那个不是Java的关键字:A)goto B)malloc C)extends D)while37、编译下面的代码,结果是:public class Test {public static void main (String args []) {int age;age = age + 1;System.out.println("The age is " + age);}}A)编译运行都没有结果输出B)编译运行后输出The age is 1C)编译通过,但运行时会出错D)编译不通过38、下面合法的char型值是:A)‘a’B)"a" C)new Character(a) D)\000a39、能够给一个byte型变量赋值的范围是:What is the legal range of a byte integral type?A)0 - 65, 535 B)(–128) –127 C)(–32,768) –32,767 D)(–256) –255 40、下面哪个是非法的:Which of the following is illegal:A)int i = 32; B)float f = 45.0; C)double d = 45.0; D)charc = ‘u’41、编译下面的代码,其结果是:public class Test {static int age;public static void main (String args []) {age = age + 1;System.out.println("The age is " + age);}}A)编译运行都没有结果输出B)编译运行后输出The age is 1C)编译通过,但运行时会出错D)编译不通过42、下面正确的是:Which of the following are correct?A)128 >> 1 为64 B)128 << 1为64 C)128 >> 1为–64 D)128 << 1为–64 43、下面返回true的是:A)"john" != "john" B)"john". equals("john")C)"john" = "john" D)"john".equals(new Button("john"))44、下面哪条语句不会导致运行时错误:A)"john" + " was " + " here" B)"john" + 3 C)3 + 5D)5 + 5.5 E)以上四个都不会导致运行时错误45、下面哪个是位运算符:A)>= B)|| C)&& D)|46、下面那个是可以被接受的:A)Object o = new Button("A");B)Boolean flag = true;C)Panel p = new Frame();D)Frame f = new Panel();47、编译运行下面代码,其结果是:public class Test {static int total = 10;public static void main (String args []) {new Test();}public Test () {System.out.println("In test");System.out.println(this);int temp = this.total;if (temp > 5) {System.out.println(temp);}}}A)此类不会被编译B)编译出错在第2行C)编译出错在第9行D)编译通过,运行后输出:1048、下面正确的是:A)String temp [] = new String {"j" "a" "z"};B)String temp [] = { "j " " b" "c"};C)String temp = {"a", "b", "c"};D)String temp [] = {"a", "b", "c"};49、下面定义了一个抽象方法add,正确的是:What is the correct declaration of an abstract method that is intended to be public:A)public abstract void add();B)public abstract void add() {}C)public abstract add();D)public virtual add();50、在什么情况下,你会获得一个缺省的构造方法:A)当你定义任何类的时候B)当类没有其他构造方法的时候C)当你至少定义了一个构造方法的时候51、阅读下面的代码:public class Test {…}那个是这个类的合法构造方法:A)public void Test() {…}B)publi c Test() {…}C)public static Test() {…}D)public static void Test() {…}52、Java编译器不能接受的是:A)if (2 == 3) System.out.println("Hi");B)if (2 = 3) System.out.println("Hi");C)if (true) System.out.println("Hi");D)if (2 != 3) System.out.println("Hi");53、若一个方法包含了一段可能引起异常的代码,那么此方法想要调用他的方法去处理这个潜在的异常的正确方法是:A)throw ExceptionB)throws ExceptionC)new ExceptionD)Don't need to specify anything54、若给参数a传递4,给b传递0,那么下面程序的结果是:public void divide(int a, int b) {try {int c = a / b;} catch (Exception e) {System.out.print("Exception ");} finally {System.out.println("Finally");}A)Prints out: Exception FinallyB)Prints out: FinallyC)Prints out: ExceptionD)No output55、编写一个方法重载题目给出的方法add,那么他的返回类型可以是:public void add(int a) {…}A)void B)int C)可以是任何类型D)String56、合法的Java标示符有:A. IdoLikeTheLongNameClassC. const //保留字D. _okE. 3_case57下面这段代码中定义的类在不同的文件中:class Vehicle {public void drive() {System.out.println("Vehicle: drive");}}class Car extends Vehicle {public void drive() {System.out.println("Car: drive");}}public class Test {public static void main (String args []) {Vehicle v;Car c;v = new Vehicle();c = new Car();v.drive();c.drive();v = c;v.drive();}}编译运行的结果是:A)Generates a Compiler error on the statement v= c; B)Generates runtime error on the statement v= c;Vehicle: driveCar: driveCar: driveD)输出Prints out:Vehicle: driveCar: driveVehicle: drive58、考虑下面的这个类:1. public class Test {2. void test(int i) {3. System.out.println("I am an int.");4. }5. void test(String s) {6. System.out.println("I am a string.");7. }8.9. public static void main(String args[]) {10. Test t=new Test();11. char ch=’y’;12. t.test(ch);13. }14. }哪一个说明是正确的:A. 第5行编译出错,因为方法test不能被重载B. 第12行编译出错,因为方法test的参数不是char类型C. 编译运行通过,输出:I am an int.D. 编译运行通过,输出:I am a String.点评:在第12行,16位长的char型变量ch在编译时会自动转化为一个32位长的int型,并在运行时传给void test(int i)方法。
Java程序设计试题答案一、填空题1.(1)java.applet.Applet、(2) javax.swing.JApplet、(3)浏览器2.(1)HTML文件、(2)HTML文档中PARAM3.(1)Color、(2)13、(3)24、红(R)、绿(G)、蓝(B)、(4) 0~2554.(1)Java Applet中没有main()方法5.(1)void paint(Graphics g)方法、(2)void update(Graphics g)方法、(3) void repaint()方法6.(1)Font、(2)Font、(3)Font(String name,int style,int size)7.(1)public、(2)java8.(1)初始化init()、(2)开始执行start()、(3)停止执行stop()、(4)退出destroy()、(5)绘画paint()9.(1)InputStream、(2)OutputStream、(3)Reader、(4)Writer10.(1)输入流和输出流、(2)字节流和字符流二、判断题1.√2.√3.×4.√5.×6.×7.√8.√9.×10.√三、单选题1.A2.B3.B4.C5.C6.C7.B8.C9.C10.A四、简答题1.答:double s=0.0;For(int i=1;i<=10;i++)S=s+1.0/i;2.答:创建所需要的对象、都设置初始状态、装载图像、设置参数等。
3.答:先使用add()方法向容器添加组件,然后调用setBounds()方法设置组件在容器中的位置和组件本身的大小。
4.答:对话框分为强制型和非强制型,强制型对话框强制对话过程不能中断,非强制型对话框可以中断对话过程。
5.答:声明实现Runnable接口的类,在类内实现run()方法;并在类内声明线程对象,在init()方法或start()方法中创建新线程;并在start()方法中启动新线程。
《JA V A程序设计》作业答案一、选择题1、编译HelloWorld.java的正确命令是:C) javac HelloWorld.java2、正确运行HelloWorld.java的正确命令是:A)java HelloWorld3、下面程序代码,使用多行注释正确的是:C)/* int k=9;int j=8;k = k + j; */4、long型的取值范围是:D)-263~263-15、下面不属于Java保留字的是:C)malloc6、下面属于非法的Java标识符的是:D) abc-d7、对与System.out.println()语句解释合理的是:C)执行后输出一个空行8、阅读下面的代码,回答问题,for( m = 0 ; m > -2 ; m -- ){….}For循环执行多少次:C)29、阅读下面的代码,回答问题,for( m = 0; m < 5; m++ ){System.out.print( m + "," );if( m == 3 )break;}执行结果是:C)0,1,2,3,10、阅读下面的代码,回答问题,public class Ex{int x = 1;void m(){int x = 3;System.out.print( "x= " + x);}public static void main( String[] args ){Ex ex = new Ex();ex.m();}}执行结果是:B)x=311、下面语句在编译时不会出现错误信息的是:a) float f = 1.3; b) char c = "a"; c) byte b = 257; d) boolean b = null; e) int i = 10;12、编译和运行下面的代码,会有什么结果产生:public class MyClass {public static void main(String arguments[]){amethod(arguments);}public void amethod(String[] arguments){System.out.println(arguments);System.out.println(arguments[1]);}}a) 错误,静态方法不能直接引用非静态方法b) 错误,主方法有错误c) 错误,数据定义有错误d) 方法amethod必须被声明为String型13、编译期间会出错的是:a) import java.awt.*;package Mypackage;class Myclass {}b) package MyPackage;import java.awt.*;class MyClass{}c) /*This is a comment */package MyPackage;import java.awt.*;class MyClass{}14、byte型的变量的表示范围为:a) -128 to 127 b) (-2 power 8 )-1 to 2 power 8c) -255 to 256 d) 依赖Java虚拟机而定15、在命令行运行命令:java myprog good morning会有什么结果显示出来:public class myprog{public static void main(String argv[]){System.out.println(argv[2])}}a) myprog b) good c) morningd) Exception raised: "ng.ArrayIndexOutOfBoundsException: 2"16、下面不是Java保留字的是:a) if b) then c) goto d) while17、下面属于非法的标识符的是:a) 2variable b) variable2 c) _whatavariable d) _3_ e) $anothervar18、编译下面的代码,会有什么结果产生:public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}a) 错误,变量i 没有初始化b) null c) 1 d) 019、编译运行下面的代码,会有什么结果产生:public class Q {public static void main(String argv[]){int anar[]= new int[]{1,2,3};System.out.println(anar[1]);}}a) 1 b) 3 c) 2 d) 错误,数组anar的长度没有定义20、编译运行下面的代码,会有什么结果产生:public class Q {public static void main(String argv[]){int anar[]= new int[5];System.out.println(anar[0]);}}a) 编译错误b) null c) 0 d) 5Arrays are always initialised when they are created. As this is an array of ints it will be initalised with zeros.21、编译运行下面的代码,会有什么结果产生:abstract class MineBase {abstract void amethod();static int i;}public class Mine extends MineBase{public static void main(String argv[]){int[] ar = new int[5];for(i = 0;i < ar.length;i++)System.out.println(ar[i]);}}a) 五个0被输出b) 错误,ar使用前没有初始化c) 错误,类Mine 必须要被声明为抽象的类d) IndexOutOfBoundes Error i22、编译运行下面的代码,会有什么结果产生:int i = 1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}a) one b) one, default c) one, two, default d) default23、编译运行下面的代码,会有什么结果产生:int i = 9;switch (i) {default:System.out.println("default");case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");}a) default b) default, zero c) error default clause not defined d) no output displayed24、下面不会在编译时出错的是:a) int i=0;if(i){System.out.println("Hello");}b) boolean b = true;boolean b2 = true;if(b==b2)System.out.println("So true");c) int i=1;int j = 2;if(i ==1&j==2)System.out.println("OK");d) int i=1;int j = 2;if(i ==1 &| j==2)System.out.println("OK");25、编译运行下面的代码,会有什么结果产生,注意,在当前目录里没有文件Hello.txt:import java.io.*;public class Mine{public static void main(String argv[]){Mine m = new Mine();System.out.println(m.amethod());}public int amethod(){try {FileInputStream dis = new FileInputStream("Hello.txt");}catch (FileNotFoundException fne) {System.out.println("No such file found");return -1;}catch(IOException ioe) {} finally{System.out.println("Doing finally");}return 0;}}a) No such file found b)No such file found ,-1c) No such file found, doing finally, -1 d) 026、建立一个HTML去显示一个applet时,必须要定义的tags是:a) name, height, width b) code, name c) codebase, height, width d) code, height, width27、编译运行下面的代码,会有什么结果产生:class Base {}class Sub extends Base {}public class CEx{public static void main(String argv[]){Base b = new Base();Sub s = (Sub) b;}}a) Compile and run without error b) Compile time Exception c) Runtime Exception28、用下面的HTML去显示applet:MgAp,控制台会有什么结果显示:<applet code = MgAp.class height=400 width=400 parameter HowOld=30 ></applet>import java.applet.*;import java.awt.*;public class MgAp extends Applet{System.out.println(getParameter("age"));}}a) Error no such parameter b) 0 c) null d) 30参数age没有获得从HTML给定的值,因此显示null.29、Math类包含在哪个包里:a) java.io b) java.awt c) ng d) java.applet30、编译运行下面的代码,会有什么结果产生://Code startimport java.awt.*;public class Butt extends Frame{public static void main(String argv[]){Butt MyBut= new Butt();}Butt(){Button HelloBut = new Button("Hello");Button ByeBut = new Button("Bye");add(HelloBut);add(ByeBut);setSize(300,300);setVisible(true);}}//Code enda) 两个按钮并列占据整个frame b) Hello按钮占据整个frame c) Bye按钮占据整个frame The default layout manager for a Frame is a border layout. If directions are not given (ie North, South, East or West), any button will simply go in the centre and occupy all the space. An additional button will simply be placed over the previous button. What you would probably want in a real example is to set up a flow layout as insetLayout(new FlowLayout()); which would.31、Java程序是否可以在除了Windows的其他平台上运行:A)不可以B)可以32、对于一个Java源文件,import, class定义以及package正确的顺序是:A)package, import, class B)class, import, packageC)import, package, class D) package, class, import33、那个方法可以不能被String型对象调用:Which methods can be legally applied to a string object?A)equals(String) B)toString() B)t rim() D)round()34、main方法中的参数正确的定义是:A)String[] args [] B)String [] args B)f loat args [] D)String args35、在命令行执行:java Example 12 3e you 45.6那么main方法的参数args数组的第一个元素args[0]的内容是:Java B)Example C)12 D)3e36、下面那个不是Java的关键字:A)goto B)malloc B)e xtends D)while37、编译下面的代码,结果是:public static void main (String args []) {int age;age = age + 1;System.out.println("The age is " + age);}}A)编译运行都没有结果输出B)编译运行后输出The age is 1C)编译通过,但运行时会出错D)编译不通过38、下面合法的char型值是:A)…a‟ B)"a" C)n ew Character(a) D)D)\000a 39、能够给一个byte型变量赋值的范围是:What is the legal range of a byte integral type?A)0 - 65, 535 B)(–128) – 127 C)(–32,768) – 32,767 D)(–256) – 255 40、下面哪个是非法的:Which of the following is illegal:A)int i = 32; B)float f = 45.0; C)double d = 45.0; D)char c = …u‟41、编译下面的代码,其结果是:public class Test {static int age;public static void main (String args []) {age = age + 1;System.out.println("The age is " + age);}}A)编译运行都没有结果输出B)编译运行后输出The age is 1C)编译通过,但运行时会出错D)编译不通过42、下面正确的是:Which of the following are correct?A)128 >> 1 为64 B)128 << 1为64 C)128 >> 1为–64 D)128 << 1为–64 43、下面返回true的是:A)"john" != "john" B)"john". equals("john")C)"john" = "john" D)"john".equals(new Button("john"))44、下面哪条语句不会导致运行时错误:A)"john" + " was " + " here" B)"john" + 3C)3 + 5 D)5 + 5.5E)以上四个都不会导致运行时错误45、下面哪个是位运算符:A)>= B)|| C)&& D)|46、下面那个是可以被接受的:A)Object o = new Button("A"); B)Boolean flag = true;C)Panel p = new Frame(); D)Frame f = new Panel();47、编译运行下面代码,其结果是:public class Test {static int total = 10;public static void main (String args []) {new Test();}public Test () {System.out.println("In test");System.out.println(this);int temp = this.total;if (temp > 5) {System.out.println(temp);}}}A)此类不会被编译B)编译出错在第2行C)编译出错在第9行D)编译通过,运行后输出:1048、下面正确的是:A)String temp [] = new String {"j" "a" "z"}; B)String temp [] = { "j " " b" "c"};C)String temp = {"a", "b", "c"}; D)String temp [] = {"a", "b", "c"};49、下面定义了一个抽象方法add,正确的是:What is the correct declaration of an abstract method that is intended to be public:A)public abstract void add(); B)public abstract void add() {}C)public abstract add(); D)public virtual add();500、在什么情况下,你会获得一个缺省的构造方法:A)当你定义任何类的时候B)当类没有其他构造方法的时候C)当你至少定义了一个构造方法的时候51、阅读下面的代码:public class Test {…}那个是这个类的合法构造方法:A)public void Test() {…} B)public Test() {…}C)public static Test() {…}D)public static void Test() {…}52、Java编译器不能接受的是:A)if (2 == 3) System.out.println("Hi"); B)if (2 = 3) System.out.println("Hi");C)if (true) System.out.println("Hi"); D)if (2 != 3) System.out.println("Hi");53、若一个方法包含了一段可能引起异常的代码,那么此方法想要调用他的方法去处理这个潜在的异常的正确方法是:A)throw Exception B)throws ExceptionC)new Exception D)Don't need to specify anything54、若给参数a传递4,给b传递0,那么下面程序的结果是:public void divide(int a, int b) {try {int c = a / b;} catch (Exception e) {System.out.print("Exception ");} finally {System.out.println("Finally");}A)Prints out: Exception Finally B)Prints out: FinallyC)Prints out: Exception D)No output55、编写一个方法重载题目给出的方法add,那么他的返回类型可以是:public void add(int a) {…}A)void B)int C)可以是任何类型D)String56、合法的Java标示符有:A. IdoLikeTheLongNameClassB. $byteC. const //保留字D. _okE. 3_case 57下面这段代码中定义的类在不同的文件中:class Vehicle {public void drive() {System.out.println("Vehicle: drive");}}class Car extends Vehicle {public void drive() {System.out.println("Car: drive");}}public class Test {public static void main (String args []) {Vehicle v;Car c;v = new Vehicle();c = new Car();v.drive();c.drive();v = c;v.drive();}}编译运行的结果是:A)Generates a Compiler error on the statement v= c;B)Generates runtime error on the statement v= c;C)输出:Vehicle: drive Car: driveCar: drive D)输出Prints out: Vehicle: driveCar: driveVehicle: drive58、考虑下面的这个类:1. public class Test {2. void test(int i) {3. System.out.println("I am an int.");4. }5. void test(String s) {6. System.out.println("I am a string.");7. }8.9. public static void main(String args[]) {10. Test t=new Test();11. char ch=‟y‟;12. t.test(ch);13. }14. }哪一个说明是正确的:A. 第5行编译出错,因为方法test不能被重载B. 第12行编译出错,因为方法test的参数不是char类型C. 编译运行通过,输出:I am an int.D. 编译运行通过,输出:I am a String.点评:在第12行,16位长的char型变量ch在编译时会自动转化为一个32位长的int型,并在运行时传给void test(int i)方法。