Java程序设计课后练习答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1《Java程序设计》课后练习答案第一章Java概述一、选择题1.(A)是在Dos命令提示符下编译Java程序的命令,(B)是运行Java程序的命令。A.javacB.javaC.javadocD.javaw2.(D)不是Java程序中有效的注释符号。A.//B./**/C./***/D.*/*/3.(B)不是Java语言的特点。A.面向对象B.自动检查语法错误C.跨平台D.解释执行4.Java编译器会将Java程序转换为(C)A.可执行代码B.目标代码C.字节码D.机器代码5.Java源文件的扩展名是(D)A..classB..jarC..javD..java二、简答题1、Java的跨平台的含义是什么?为什么Java可以跨平台?Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。以下图展示了Java程序从编译到最后运行的完整过程。2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。22)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。下图展示了Java程序从编译到最后运行的完整过程。5)、分布式分布式包括数据分布和操作分布,而Java支持客户机/服务器计算模式,因此也支持这两种分布式。6)、多线程Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。三、综合编程题1、请编写一个简单的Java程序能够输出“这是我的第一个Java程序”。(注意为程序添加合适的注释和文档注释)。/***第一个java程序*/publicclassDemo{/***main方法,程序的起点*/publicstaticvoidmain(String[]args){//向控制台输出System.out.println(这是我的第一个Java程序);}}第二章Java语法基础3一、选择题1.下面哪个单词是Java语言的关键字(B)?A.DoubleB.thisC.stringD.bool2.下面属于Java关键字的是(D)。A.NULLB.IFC.DoD.goto3.在启动Java应用程序时可以通过main()方法一次性地传递多个参数。如果传递的参数有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用(B)把整个参数引起来。A.单引号B.双引号A2@!l&h&I:Q$a'H4o4S4.下面哪个是Java语言中正确的标识符(BD)。A.5xB.$xC.abc@D.com5.Java语言中,下列标识符错误的是(D)。A._abcB.abcC.ABCD.5abc6.在Java中,整型常量不可以是(A)。A.doubleB.LongC.intD.byte7.在Java中,不属于整数常量的是(D)。A.100B.100LC.0x100AD.6.0f8.下面哪个语句能定义一个字符变量chr(B)。A.charchr=’abcd’;B.charchr=’\uabcd’;C.charchr=”abcd”;D.charchr=\uabcd;9.下面哪个是对字符串s1的不正确定义(CD)。A.Strings1=”abcd”;B.Strings1;C.Strings1=‘abcd\0’;D.Strings1=”\abcd”;10.下面哪个范围是char型的取值范围(C)。A.-256~255B.-(2^15)~(2^15)-1C.\u0000’~‘\uffff’D.0~3276711.下面哪条语句不能定义一个float型的变量f1(ABD)。A.floatf1=3.1415E10B.floatf1=3.14C.floatf1=3.1415FD.f1=3.14F12.下列运算结果为float的是(C)。A.100/10B.100*10C.100.0+10D.100-1013.数组中可以包含什么类型的元素(D)。A.int型B.string型C.数组D.以上都可以14.Java中定义数组名为xyz,下面哪项可以得到数组元素的个数(B)。A.xyz.length()B.xyz.lengthC.len(xyz)D.ubound(xyz)15.下面哪条语句定义了3个元素的数组(A)。A.int[]a={20,30,40};B.inta[]=newint(3);C.int[3]array;D.int[]arr;二、简答题1.Java有哪些基本的数据类型?写出这些基本数据类型所占用的最大空间(用字节描述)。2.说明Java字符编码的类型与特点。3.写出Java中六个常用的转义字符。4.下面的几个标示符哪些是正确的,哪些是错误的,如果是错误的,请说明原因。MyClass,_isHis,3JavaProgram,_$asdf,Java-Visual-Machine5.说出常量与变量的定义并举例说明。6.什么是强制类型转换?并说明其运用场合。47.描述Java程序的构成。如何判断Java程序的主类?下面的程序有哪些错误并改正,该程序的源代码应当保存为什么名字的文件?publicclassMyClass{publicstaticvoidmain(){System.out.printIn(mynameis…);}System.out.printIn(“theend!”);}8.结构化程序设计有哪三种基本流程?分别对应Java中的那些语句?9.在一个循环中使用break,continue,return的差别。10.数组的定义,特点与分类。如何进行数组的初始化?5第三章面向对象的实现一、选择题1.在Java中,用package说明一个包时,该包的层次结构必须是(B)。A.与文件的结构相同B.与文件的目录层次相同C.与文件的类型相同D.与文件大小相同2.下列构造方法的调用方式中,正确的是(C)。A.按照一般方法调用B.由用户直接调用C.可通过new自动调用D.被系统调用3.int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是(D)。A.publicintMAX_LENGTH=100B.finalintMAX_LENGTH=100C.publicconstintMAX_LENGTH=100D.publicfinalintMAX_LENGTH=1004.在Java中,以下叙述不正确的是(B)A.构造方法名与类名相同。B.构造方法不是用来完成初始化的。C.构造方法由new操作调用,而不能被用户直接调用。D.构造方法没有返回类型。5.在Java中,下面的叙述哪个是不正确的?(D)A.类的静态方法可以在该类的对象被创建前调用B.类的静态方法不能访问该类的非静态方法C.abstract修饰符可以出现在类或方法的前面,但不能出现在变量之前D.final修饰符可以出现在类或变量之前,但不能出现在方法之前6.在Java里,下列选项(D)不是实现面向对象思想的机制。A.封装B.继承C.多态D.数据类型转换7.类Worker是类Person的子类,Worker构造方法中有一句super();,该语句是什么意思?(C)A.调用类Worker中定义的super()方法B.调用类Person中定义的super()方法C.调用类Person的构造函数D.语法错误8.给定Java程序,如下:编译运行Test.java,结果是(C)。publicclassTest{privatestaticfinalintcounter=10;publicstaticvoidmain(String[]args){System.out.println(counter++);}}A.10B.编译错误C.11D.运行时出现异常9.给定如下Java代码,编译时会在(D)出现错误。(只选择一项)classParent{}classChildextendsParent{6publicstaticvoidmain(String[]args){Parentp1=newChild();//第一行Parentp2=newParent();//第二行Childc1=newChild();//第三行Childc2=newParent();//第四行}}A.第一行B.第二行C.第三行D.第四行10.在Java中,某类方法使用下列(BC)访问修饰符修饰后,可以被其的子类访问。A.privateB.protectedC.publicD.friendly11.在Java语言中,如果你有下面的类定义:abstractclassShape{abstractvoiddraw();}classSquareextendsShape{}以下描述正确的是(B)A.一切成功编译B.Shape可以编译,Square不能编译C.Square可以编译,Shape不能编译D.Square,Shape都不能编译12.分析下列Java代码:classA{publicstaticvoidmain(String[]args){method();}staticvoidmethod(){System.out.println(Hello);System.exit(0);System.out.println(good-bye);}}编译运行后,输出结果是(A)。A.HelloB.good-byeC.Hello后面是good-byeD.代码不能编译13.下表是final修饰符与变量、方法、类等一起作用的结果的对应表,但是对应关系存在错误,请选择正确的对应关系。(C)概念作用1变量A不能再产生子类2方法B一旦赋值,就不能更改3类C不能在子类中覆盖7A.1-A2-B3-CB.1-C2-A3-BC.1-B2-C3-AD.1-C2-B3-A14.有以下程序:publicclassConstOver{publicConstOver(intx,inty,intz){}}下面哪个方法重载了上面的ConstOver构造方法?(B)A.protectedintConstOver(){}B.privateConstOver(intz,inty,bytex){}C.publicobjectConstOver(intx,inty,intz){}D.publicvoidConstOver(bytex,bytey,bytez){}15.有以下程序:classBaseCl

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功