《JAVA语言》作业集答案

上传人:hao****021 文档编号:159347723 上传时间:2022-10-08 格式:DOC 页数:57 大小:276.51KB
返回 下载 相关 举报
《JAVA语言》作业集答案_第1页
第1页 / 共57页
《JAVA语言》作业集答案_第2页
第2页 / 共57页
《JAVA语言》作业集答案_第3页
第3页 / 共57页
点击查看更多>>
资源描述
参考答案第一章判断题答案1) 难度:容易;答案:错误;知识点:“/“表示单行注释,多行注释以“/*”开始并以“*/”结束。2) 难度:容易;答案:错误;知识点:方法不仅在命令窗口中显示(或打印)一行文字,而且自动将光标位置移到下一行。3) 难度:难;答案:正确;知识点:System类是java .lang包的一部分,对于每一个Java。4) 难度:容易;答案:正确;知识点:Java中变量的声明。5) 难度:容易;答案:错误;知识点:注释在程序执行时不会造成任何操作的执行,她们仅用于将程序文本化并提高可读性。6) 难度:容易;答案:错误;知识点:Java是对大小写字母敏感的,所以这些变量不相同。7) 难度:容易;答案:正确;知识点:Java应用程序自动从main方法开始执行 选择题答案1) 难度:容易;答案:D;知识点:面向对象程序设计方法的三大主要优点。2) 难度:适中;答案:Dpublic class Welcome;知识点:Java中的所有类名以一个大写字母开头,但类名不能以数字开头并且不含空格。3) 难度:容易;答案:D;知识点:单条语句通过使用换行符可以显示多行信息。 4) 难度:适中;答案:D;知识点:方法main的定义。5) 难度:容易;答案:D;知识点:如果在一个显示图形用户界面的应用程序中调用System .exit,将使得程序不能正常结束。6) 难度:容易;答案:C;知识点:每一个Java applet必须继承JApplet或类Applet。7) 难度:适中;答案:D;知识点:init,start,paint方法必须按这一顺序从appletviewer或浏览器里被调用。8) 难度:适中;答案:C;知识点:使用Graphics类的drawLine方法来画线。9) 难度:适中;答案:B;知识点:*号表示java.swing包的任何类都可以使用,如果使用类的完整名称,从而省略import语句。10) 难度:容易;答案:C;知识点:第3和第4个参数是非负整数,以像素为单位,分别代表矩形的宽度和高度,该语句从坐标(15,10)处画一个270像素宽,20像素高的矩形。11) 难度:容易;答案:D;知识点:当编译Java程序时,每个类都将被分别编译成不同的文件,每个文件名都与所对应的类名相同,并以扩展名.class结束。简述题答案1) Java和C/C+的差别主要表现在如下方面: Java中对内存的分配是动态的,程序运行中,Java系统自动对内存进行扫描,对长期不用的内存空间作为“垃圾”进行收集,使得系统资源得到更充分利用。按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且避免了由于内存管理方面的差错而导致系统出问题。 Java不在所有类之外定义全局变量而是在某个类中定义种公用静态的变量来完成全局变量的功能。 Java不用Goto语句,而是用trycatchfinally异常处理语句来代替Goto语句处理出错的功能。 Java不支持头文件,而C和C+语言中都用头文件来定义类的原型、全局变量、库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂。 Java不支持宏定义,而是使用关键字final来定义常量,在C+中则采用宏定义来实现常量定义,这不利于程序的可读性。 Java对每种数据类型都分配固定长度。比如,在Java中,int类型总是32位的,而在C和C+中,对于不同的平台,同一个数据类型分配不同的字节数,同样是int类型,在PC机中为二字节即l6位,而在VAX11中,则为32位。这使C语言造成不可移植性,而Java则具有跨平台性。 类型转换不同。在C和C+中,可以通过指针进行任意的类型转换,常常带来不安全性,而Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。 结构和联合的处理。C和C+中的结构和联合所有成员均为公有,这就带来了安全性问题,而Java中根本就不包含结构和联合,所有的内容都封装在类里面。 Java不再使用指针。2) Java的技术特点:简明的语法结构、平台独立性、面向对象特征、面向网络环境、动态性、安全性、稳定性、多线程、类库丰富。3) 包括Application类型和Applet类型两种。第二章判断题答案1) 难度:容易;答案:错误;知识点:“/“表示单行注释,多行注释以“/*”开始并以“*/”结束。2) 难度:容易;答案:错误;知识点:方法不仅在命令窗口中显示(或打印)一行文字,而且自动将光标位置移到下一行。3) 难度:难;答案:正确;知识点:System类是java .lang包的一部分,对于每一个Java。4) 难度:容易;答案:正确;知识点:Java中变量的声明。5) 难度:容易;答案:错误;知识点:注释在程序执行时不会造成任何操作的执行,她们仅用于将程序文本化并提高可读性。6) 难度:容易;答案:错误;知识点:Java是对大小写字母敏感的,所以这些变量不相同。7) 难度:容易;答案:错误;知识点:模运算操作符在Java中也可用非整数。8) 难度:容易;答案:错误;知识点:运算符*,/和%是在同一优先级上,而运算符+和- 在另一个优先级。9) 难度:容易;答案:错误;知识点:方法Integer.parseInt将一String转变成整数。10) 难度:容易;答案:正确;知识点:Java应用程序自动从main方法开始执行 11) 难度:容易;答案:错误;知识点:default可缺省,若不需要缺省的操作,就可以不写default项。12) 难度:容易;答案:错误;知识点:break语句用于退出default结构,当default作为switch结构的最后一种情况时,可以不写break语句。 13) 难度:适中;答案:错误;知识点:使用&运算符的表达式,只有两个操作数都为真时该表达式才为真,整数100不能作为逻辑类型数值使用。 14) 难度:容易;答案:正确;知识点:或(|)运算符的使用。 15) 难度:容易;答案:错误;知识点:if结构仅选择或忽略某一个动作,if/else要在不同的动作之间做选择。 16) 难度:容易;答案:正确;知识点:逻辑与的使用。 17) 难度:容易;答案:错误;知识点:应该使用逻辑或运算符|。 18) 难度:适中;答案:错误;知识点:布尔逻辑与和布尔逻辑或运算符的工作方式与逻辑与和逻辑或运算符除了短路计值一点外完全相同。 19) 难度:容易;答案:错误;知识点:还有两种组合方式。 20) 难度:适中;答案:正确;知识点:结构化程序设计的优点。21) 难度:容易;答案:错误;知识点:下标用于指出数组中某个元素的数字。22) 难度:容易;答案:正确;知识点:把数组中元素按某种顺序排列的过程叫做排序。23) 难度:容易;答案:错误;知识点:确定数组中是否含有某个关键字的过程叫做查找。24) 难度:容易;答案:错误;知识点:一个数组只能存放同一类型的数值。25) 难度:容易;答案:错误;知识点:一个数组下标应为整数或整数表达式。26) 难度:容易;答案:错误;知识点:因为数组的单个基本数据类型元素以值调用方式传递。如果将整个数组传递给方法,数组元素的任何变化都将反映在原来数组上。另外,如数组单个元素是类的对象,传递单个元素也以引用调用形式传递给方法,对象的改变将反映在原数组元素上。27) 难度:容易;答案:正确;知识点:数组的使用。28) 难度:容易;答案:正确;知识点:数组的概念。29) 难度:适中;答案:错误;知识点:在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小由初始值表中的数据个数决定。30) 难度:容易;答案:错误;知识点:将一个数组传递给一个方法,应使用不加方括号的数组名。31) 难度:容易;答案:错误;知识点:用运算符“= =”比较字符串对象,实际上是比较并确定它们是否内存中的同一个对象。32) 难度:容易;答案:错误;知识点:字符串对象是常量,在创建后不能修改。33) 难度:容易;答案:错误;知识点:String类的charAt方法返回指定位置上的字符。34) 难度:容易;答案:正确;知识点:不仅如此,如果调用compareTo的字符串比作为参数的字符串小,则返回一个负数;如果调用compareTo的字符串比作为参数的字符串大时,则返回一个正数。35) 难度:适中;答案:正确;知识点:运算符“=”用于比较基本类型的数据时,如果两个值相同则返回true,并且在比较引用时,如果两个引用指向内存中同一个对象,则返回true。36) 难度:适中;答案:错误;知识点:indexOf方法是String类的方法。37) 难度:容易;答案:正确;知识点:String类的substring方法的使用。38) 难度:适中;答案:错误;知识点:String类的replace方法不仅返回一个新的字符串对象,而且该对象中原字符串所以的由第1个字符参数指定的字符都被第2个字符参量替换。39) 难度:容易;答案:正确;知识点:String类的valueOf方法的使用。40) 难度:适中;答案:正确;知识点:StringTokenizer类的hasMoreTokens方法的使用。选择题答案1) 难度:容易;答案:C;知识点:Java的标识符可以由字母、数字、下划线和美元符号组成。2) 难度:容易;答案:A;知识点:所有的程序均可以用顺序结构、选择结构、循环结构三种类型控制结构编写。3) 难度:容易;答案:D;知识点:当条件为真和条件为假时,if/else控制结构可以执行不同的动作。4) 难度:容易;答案:C;知识点:标记值的使用。5) 难度:容易;答案:D;知识点:赋值运算符应该是+ =。6) 难度:适中;答案:C;知识点:while循环的使用。7) 难度:适中;答案:C;知识点:变量k应该在使用前要被初始化。8) 难度:适中;答案:C;知识点:&是布尔运算与,而&是逻辑运算与。9) 难度:容易;答案:AB;知识点:布尔变量不能被赋予数值。10) 难度:容易;答案:A;知识点:如果x小于0,则x必须小于10。11) 难度:容易;答案:ABC;知识点:没有break在case 1和case 0语句的后面。12) 难度:容易;答案:B;知识点:线性表和表可以存储在数组中。13) 难度:容易;答案:AB;知识点:数组元素之所以相关,是因为它们具有相同的名字和类型。14) 难度:容易;答案:B;知识点:二维数组使用双下标。15) 难度:容易;答案:C;知识点:静态数组arr已经被初始化为0。16) 难度:容易;答案:A;知识点:数组arr不是静态数组,在方法main()中没有被直接访问。17) 难度:容易;答案:C;知识点:不允许在数组名后面的括号内指定数组元素的个数。18) 难度:适中;答案:CD;知识点:“”表示数组元素为空。19) 难度:适中;答案:D;知识点:一旦数组被创建则它的元素就被初始化为020) 难度:适中;答案:ABC;知识点:可以用初始值来创建数组p,选项D书写不合法。21) 难度:适中;答案:CD;知识点:数组t的长度位,它的下标是0和1,则使用t2和t3是不对的。22) 难度:容易;答案:BD;知识点:字符串不是数组,不能使用s3;“-”操作符在字符串中不能使用。23) 难度:适中;答案:AD;知识点:s和t不是相同的引用,而在使用=比较引用时,如果两个引用指向内存中的同一个对象,则结果为真。24) 难度:容易;答案:AD;知识点:s是字符串不是数组,因此B错误;C错误是由于length后要加括号。25) 难度:适中;答案:E;知识点:类Demo没有被初始化,在15行对它的引用导致了一个错误。26) 难度:适中;答案:B;知识点:由于str=”world”语句,str的引用为world,而不是hello。27) 难度:容易;答案:AB;知识点:每个数组元素在初始化之前都为null。28) 难度:容易;答案:D;知识点:数组的正确初始化。 29) 难度:容易;答案:DF;知识点:append方法是StringBuffer类的方法,而contcat方法是String类的方法。30) 难度:适中;答案:A;知识点:“+”操作符的使用。31) 难度:适中;答案:C;知识点:“=”操作符的使用。简述题答案1) 难度:容易答案:Java的基本数据类型包括:布尔型、字节型、字符型、短整型、整型、长整型、浮点型、双精度型。Int型所能表达的最大数据为2147483647,最小数据为-2147482648。知识点:Java的数据类型。2) 难度:适中答案:(1)Java的算术运算符有:双目运算符 +、-、*、/、%;单目运算符 + +、- -、-。(2)关系运算符 = =、!=、=、。(5)赋值运算符 + =、- =、* =、/ =、% =、&=、|=、=、=、= 1 & a b ) = false(4) ( - - a ) a = 8知识点:Java中算术表达式的运算符优先原则。4) 难度:适中答案: sum = 0for ( count = 1;count = 99;count + = 2 )sum + = count; Math .pow( 2.5 ,3 ) x = 1;while ( x = 20 )System .out .print ( x ) ;if ( x % 5 = = 0 )System .out .println ( ) ;elseSystem .out .print ( t ) ;+ + x; for ( x = 1;x = 20;x + + )System .out .print ( x ) ;if ( x % 5 = = 0 )System .out .println ( ) ;elseSystem .out .print ( t ) ;或写成for ( x = 1;x = 20;x + + )if ( x % 5 = = 0 )System .out .println ( x ) ;elseSystem .out .print ( x + t ) ;知识点:使用for结构、while结构。5) 难度:适中答案:错误:while结构头部的分号将导致无限循环,此外,大括号也没有匹配。改正:将分号“”代替,或去掉“;”和“”。错误:使用一个浮点数来控制一个循环结构可能达不到控制循环的目的,因实数的表示不精确。改正:使用一个整数,并执行合适的计算以得到所需的值。for ( y = 1;y ! = 10;y + + )System .out .println ( ( float ) y / 10 ) ;错误:在第一case的语句组中,漏了break语句。改正:在第一case的最后加上break语句。不过,如果希望case 2: 中的语句在每次case 1: 语句执行后都执行,这就不算是一个错误。错误:while的循环条件中的关系运算符有误。改正:用 =代替,或用11代替10。错误:while循环缺少有括号()。改正:在语句 + + = C之后加上右括号()。错误:else后的分号将导致逻辑错误,其后的输出语句总是回被执行。改正:删除else后的分号。知识点;对各循环结构的使用。6) 难度:适中答案:结构化程序设计有顺序、分支、循环三种基本流程。Java中的分支语句包括if语句、switch语句、;循环语句包括while语句、do-while语句、for语句;其他如对象、变量定义语句、赋值语句、方法调用语句等都是顺序语句。知识点:结构化程序设计的三种基本流程。7) 难度:适中答案:在循环中使用break语句,将使循环终止,流程从break语句处跳转到break语句所在的循环外面的第一个语句继续执行。在循环中使用continue语句,将提前结束本轮循环,流程跳转到continue语句所在的循环的第一个语句继续执行。在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。8) 难度:容易答案: final int ARRAY_SIZE = 10; float fractions = new floatARRAY_SIZE; fractions3; fractions4; fractions9 = 1.667; fractions6 = 3.333 float total = 0;for( int x = 0;x fractions .length;x + + )total + = fractionsx;知识点:操作数组的基本方法。9) 难度:适中答案: int table = new intARRAY_SIZEARRAY_SIZE; for( int x = 0;x table .length;x + + )for( int y = 0;y table .length;y + + )tablexy = x + y;知识点:操作数组的基本方法。10) 难度:适中答案:错误。如果一个final变量已被初始化,那么就不能修改该final变量的值。错误:超界限用数组元素(b10)。改正:把运算符 =改写 0 & newAge 0 & newAge0 & newAge 0 ) balance = b;elseSystem.exit(1);connectNumber = s;connected = false;boolean performConnection(long cn,int pw) if(cn = cardNumber & pw = password )connected = true;return true;elseconnected = false;return false;double getBalance()if(connected)Returnbalance;elsereturn -1;void performDial()if(connected)balance -= 0.5;public String toString()String s = 电话卡接入号码:+connectNumber +n电话卡卡号:+cardNumber +n电话卡密码:+password +n剩余金额:+balance;if(connected)return (s + n电话已接通。);elsereturn (s + n电话未接通。);知识点:this引用的使用。5)、6)、7)、8)的编程答案略第四章判断题答案1) 难度:容易;答案:错误;知识点:类和方法一般不能实现满足所有用户需要的错误处理。2) 难度:容易;答案:正确;知识点:资源泄露的概念。3) 难度:适中;答案:正确;知识点:应用程序的事件处理。4) 难度:容易;答案:错误;知识点:发出一个异常是否一定不会是程序终止,但它会终止产生该异常的块。5) 难度:适中;答案:正确;知识点:Java异常处理的机制。6) 难度:容易;答案:错误;知识点:try块后面紧跟着一个或多个catch块,每个catch块指定了它可以捕获的异常类型,并且包含了一个异常处理程序。7) 难度:适中;答案:正确;知识点:在最后一个catch块后是一个可选的finally块,无论是否产生异常,它都会执行。8) 难度:容易;答案:正确;知识点:程序执行没出现异常时的处理。9) 难度:容易;答案:正确;知识点:抛出异常的概念。10) 难度:适中;答案:错误;知识点:抛出异常后,控制从当前的try块退出,执行try块后适当的catch块处理程序(如果存在)。选择题答案1) 难度:容易;答案:B;知识点:跳过try块的异常处理程序,程序在最后一个catch块后开始执行。2) 难度:容易;答案:A;知识点:大多数程序不希望捕获Error对象。3) 难度:适中;答案:BC;知识点:catch(Exception e)的用处。4) 难度:容易;答案:A;知识点:使用finally块的原因。5) 难度:适中;答案:AD;知识点:若oneMethod正常运行,则catch (ArrayIndexOutOfBoundsException e)和catch (Exception e)将不执行。6) 难度:适中;答案:BC;知识点:选项B和C都使用throws TimedOutException,并且Exception是TimedOutException的超类。7) 难度:容易;答案:D;知识点:ArrayOutOfBoundsException是Java中预定以好的异常处理,而ArrayOutOfLengthException不是。8) 难度:容易;答案:C;知识点:当异常发生时,在一个方法中throw被用来表示一个异常处理被抛出。9) 难度:适中;答案:CD;知识点:Exception是NullPointerException的超类,并且finally块将被一直执行。10) 难度:适中;答案:BCD;知识点:如果IOException块执行,只有语句 “location 1”被跳过;其他的都执行。简述题答案1) 难度:容易。答案:异常处理用来处理不经常发生,但通常会导致程序终止的情况,所以不要求编译器编写者实现异常处理;传统的控制结构产生的控制流一般更清晰,效果也更高。在发生异常时堆栈是松散的,并且在异常发生前分配的资源也许不会被释放,所以会出现一些问题。“额外的”异常会妨碍真正的错误类型异常。程序员更难以跟踪大量的异常情况。2) 难度:容易。答案:对象会被标记为垃圾进行收集,在对象被垃圾收集之前会调用各个对象的finalizer。与一个try块相联系的catch处理程序(如果存在的话)会处理这个异常,该try块(如果存在)包含了引起异常的catch处理程序。3) 难度:适中。答案:异常是Java程序在运行过程中产生的会终止正常运行的意外或错误。Java的异常处理机制可以帮助编程者及时、有效地处理程序可能产生的运行时错误。系统定义的异常类Exception是所有异常类的祖先,Java系统还另外定义了一些常见的运行异常,如输入输出异常等。知识点:异常的概念。4) 难度:适中。答案:IOException, ArrayIndexOutOfBoundsException, NumberFormatExceptions 是3个常见的运行异常。用户程序可以根据自己的需要,定义在特定问题逻辑下非法的状态为用户异常。同用户程序可以通过派生系统类Exception的子类来定义自己的异常。知识点:自定义异常的概念。5) 难度:适中。答案:系统在运行一个Java程序时如果发现异常,则先查看这个Java程序有没有定义对于这个异常的处理操作;如果没有相应的处理操作,系统就会自动抛出异常并终止当前程序的运行。知识点:抛出系统异常和用户自定义异常的方法。 程序设计题答案1) 难度:适中答案:源程序:Xiaoshu.javaimport java.io.*;public class Xiaoshupublic static void main(String args)String s;double d;int i;boolean b = false;dotry System.out.println(请输入一个浮点数: );BufferedReader br = new BufferedReader(new InputStreamReader(System.in);s = br.readLine();/以字符串方式读入i = s.indexOf(.);/找到小数点的位置d = Double.parseDouble(s);/将字符串转换成浮点数System.out.println(d + 整数部分为: + (long)d);if( i = -1 ) /若没有小数点,则没有小数部分System.out.println(d + 小数部分为:0.0);else /若有小数点,则截取小数点后的字符串合成浮点数System.out.println(d + 小数部分为: + Double.parseDouble( (s.charAt(0)=-) ? - : ) + 0. + s.substring(i+1,s.length();b = false;catch(NumberFormatException nfe)System.out.println(输入浮点数格式有误。n);b = true;catch(IOException ioe) b = false;while(b);/浮点格式错误时重新输入/ end of main/ end of class知识点:输入非法参数的异常处理。2) 难度:难答案:源程序:Yinzi.javaimport java.applet.*;import java.awt
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!