《Java语言程序设计刘卫国课后参考答案.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计刘卫国课后参考答案.docx(84页珍藏版)》请在第一文库网上搜索。
1、第1章概论习题1一、选择题1 .Java语言的许多特点中,下列()特点是C+语言所不具备的。B面向对象D.有类库)。AB.虚拟机C.字节A.高性能B.跨平台C.2 .Java语言中,负责并发管理的机制是(A.多线程码D.垃圾回收3 .在JaVa语言中,不允许使用指针体现出的JaVa特性是()。DA.可移植B.解释执行C.健壮性D.安全性4 .下列描述中,错误的是()。AA. Java要求编程者管理内存B. Java的安全性体现在多个层次上C. App1et程序要求在支持JaVa的浏览器上运行D. Java有多线程机制5 .Java为移动设备提供的平台是()oBA.JavaSEB.JavaMEC
2、.JavaEED.JDK66 .下列叙述中正确的是()。CA. JaVa源文件名与程序类名不允许相同B. Java源文件中PUbIiC类的数目不限C.对JaVa源程序进行编译时,必须写出该源文件的文件名,包括扩展名javaD.对JaVa源程序进行编译后,生成的文件是二进制可执行文件。7. Java源文件中最多只能有一个()类,其他类的个数不限。BC.fina1D.interface()。BB.java和.cIassD.java和.java)。DB.最多只能有两个main方法D.只能有一个main方法其中javac是指()oCB.Java解释器D.Java类分解器A.abstractB.pubI
3、ic8. Java源文件和编译后的文件扩展名分;A.c1ass和.javaC.c1ass和.c1ass9. 一个可以独立运行的JaVa应用程序(A.可以有一个或多个main方法C.可以有一个或零个main方法10. JaVa程序的执行过程中用到一套JDK工具,A.Java文档生成器C.Java编译器二、填空题1. JaVa语言是对C+语言进行改进并重新设计的结果。2. JaVa源程序文件的扩展名是java,JaVa源程序经编译后生成码文件,其扩展名是cass。3. ADD1et程序是能够嵌入HTM1格式的文件中,并能在浏览器中运行的JaVa程序。4. 类是JaVa程序中基本的结构单位。5. 在
4、JaVa中,负责对字节代码解释执行的是虚拟机。6. 使用记事本或其他编辑软件建立了Java程序文件JaSmine.java,对源程序文件进行编译时,在DOS命令窗口将当前文件夹转换到JaVa源程序所在的文件夹,然后输入一jasmine.Java形式的命令进行程序编译。执行程序时,在同样的命令提示符下输入JaVajasmine形式的命令执行程序。完成了程序的开发,查看相应文件夹,其中应该具有两个文件,分别是jasmine,java和jasmine,c1ass。三、问答题1 .Java语言有哪些特点?答:面向对象,可移植性,安全性,并发性,可视化和程序的健壮性等。2 .比较JaVaSEvJavaE
5、E和JaVaME的特点。答:JaVaSE是Java各应用平台的基础,可分为4个主要的部分,即JaVa虚拟机(JVM)、JaVa运行环境(JRE)、JaVa开发工具(JDK)及其API、JaVa语言等。JavaEE以JaVaSE为基础,面向分布式、多层式、组件式和Web化应用程序的开发,定义了一系列的服务、API和协议。整个JaVaEE的体系是相当庞大的,常用的技术有:JSP、Serv1etxEnterpriseJavaBeans(EJB)xJavaRemoteMethodInvocation(RMI)等,建议读者先奠定JaVaSE基础后,再深入学习。JavaME是面向小型数字设备(如手机PDA
6、、股票机等)开发及部署的应用程序平台。目前,已有越来越多的手持设备支持JaVaME所开发出来的程序,如JaVa游戏、股票相关程序、记事程序等。3 .简述JaVa的运行过程。答:第一步,操作系统解析我们输入的javaXXX命令,根据PATH中所配置的jrd路径找的其bin目录下的java.exe程序(这个程序是用c语言写的,源码在jdk的src文件中的IaUCher目录下),然后再初始化一些java参数(比如C1aSSPath、虚拟机参数等)。第二步,java,exe程序根据上一步读入的虚拟机参数,分配内存并启动jre/bin目录下CIient目录或者server目录(哪个目录取决于第一步中的虚
7、拟机参数)下的jvm.d11,java虚拟机开始启动。第三步,java虚拟机初始化内存,产生bootstrapc1ass1oader,这个类加载器负责加载javaAPI(jvm+javaAPI被称为java运行时),其实这些jar包主要分布在jre/1ib下。第四步,bootstrapc1ass1oader载入完javaAPI后,还会负责载入ExtCIass1oader并生成一个实例,它继承于CIass1oader类,负责载入Jre/1ib/ext下的jar包(所以有时候需要把serv1et,jar包加进去,相当于一个不配置在c1asspath中就可以默认访问的公共Jar目录),到这里,jav
8、a虚拟机默认加载类工作完成。第五步:java虚拟机找到我们指定的C1aSS,加载这个类(所谓自定义类加载,是指我们自己写的java类、以及我们引入的一些第三方jar包的加载方式,只有代码中运行到类的时候才回去加载,我们可以实现自己的CIaSS1oader类,用来加载我们自己的类,如果我们没有实现自己的类加载器,上面说的ExtCIass1oader会默认载入AppCIass1oader并生成一个实例,由这个类加载器来进行加载),然后找到这个类的main方法,启动程序。4 .一个JaVa源程序中可以有多个公共类(主类)吗?可以有多个类吗?若有多个类时,程序文件名是什么?答:不可以有多个主类,可以有
9、多个类,若多个类存在的时候程序文件名为公共类的名字。5 .在安装JDK后,还要配置环境变量Path和C1aSSPath,其目的是什么?答:运行路径Path变量记录的是各个程序所在的路径,系统根据这个变量的值来查找运行程序(各种命令),使得在运行的时候不用输入全路径名。类路径C1aSSPath环境变量通常用来记录当前路径和java类库所在的路径。在类库中包含java系统所提供的各种软件包,其中包括各个类和接口等第2章程序的数据描述习题2一、选择题1 .下列字符序列中,不属于JaVa语言关键字的是(C)。A.tryB.thisC.nativeD.goto2 .下列字符序列中,合法的JaVa程序标识
10、符是(A)。A.-studentB.pubIicC.123numD.Good1uck3 .下列数中不是JaVa正确的整数表示的是(C)。A.34B.0x34C.34HD.0344,下面的类型中不是JaVa整数类型的是(C)。6.对于JaVa语言的运算符,下面说法正确的是(C)。A.具有相同优先级的运算符,计算顺序一律是从右到左。B.关系运算符的优先级要高于算术运算符。C.圆括号具有最高优先级。D.JaVa语言的运算符不具有优先级的区别。7 .下列表达式中运算结果为32的是(C)0A.26B.(82)4C.26D.(23)8 .下面的运算符中属于位运算符的是(A)0A.&B.=C.&D.+9 .
11、下面对字符串正确定义的是(C).A.Strings1=nuII;B.Strings2=nuI;C.Strings3=(String),abc;D.Strings4=(String)uface;10.假设有:Stringa=A”;charb=,A,;intc=65;下面选项中正确的是(A)0A. if(c=b)System,out.print(Equa|);)B. if(a=b)System.out.print(EquaI);)C. if(a=c)System.out.print(,EquaI);JD. if(c=b)System.out.print(EquaI);)11 .下面创建数组的语句中
12、错误的是(C)。A.inta=100,200,300,400,500);B.charb4=,x,.,y,z,);C.charb=newchar;D.intb=newint22;12 .JaVa中定义数组名为abc,下面可以得到数组元素个数的是(B)。A.abc.1ength()B.abc.1engthC.Ien(abc)D.ubound(abc)二、填空题1. JaVa的数据类型可分为基本数据类型、引用类型两大类。2. JaVa中使用的字符编码为UniCode,它以16位二进制数来表示一个字符。3. JaVa是一种强类型语言,凡是使用到的变量,在编译之前一定要被显示的工W。4. 在Java中对
13、于浮点型的值,如果没有特别指明,默认是一doub1e类型。5 .JaVa语言中使用StringB11ffer类来表示多个字符,表示方式是用双引号把要表示的字符串引起来,字符串里面的字符数量可以使任意多个的6 .在JaVa语言中,数组的下标都是从0开始的,数组一旦被创建,则在内存中占用连续的内存地址.三、问答题1. JaVa语言标识符的书写有哪些规则?在下面的标识符中,哪些是不正确的,并说明原因:here,_there,this,that,it,2to1,_ito答:合法的JaVa标识符必须遵循以下的命名规则:(1)只能由字母、下划线、数字和美元符号组成,不能包含其他符号,例如空格以及#、%等特
14、殊符号。(2)只能以字母、下划线和美元符号作为标识符的第一个字符。(3)不能与关键字同名,即标识符内可以包含关键字,但不能与关键字完全一样。(4)严格区分大小写,但长度没有限制。其中合法的标识符为:here,_there,_it,that,it;不合法的标识符为:this,关键字,2to1,数字不能作为关键字的开头。2. int和Integer有什么区别?String和StringBuffer有什么区别?&和&有什么区别?答:int是基本数据类,Integer是其包装类。String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,Str
15、ingBuffer类对象为可修改对象,可以通过append()方法来修改值,在者String类对象的性能远不如StringBUffer类。&是位运算符,就是两个二进制位同时等于1,结果才等于1,&是关系运算符,就是两个值同时为真,结果才为真3. Java的整数类型有哪几种?各自的取值范围是多大?答:JaVa语言有4种整型类型,分别用关键字int、1ong、Short和byte声明对应类型的整型变量。int取值范围为-2幻2幻-1。Iong其取值范围为-28263-1。ShOrt其取值范围为-227,byte其取值范围为-2,2,-1。4. JaVa的字符类型如何表示?答:JaVa语言使用16位UniCode编码来表示字符,共有65535种字符。JaVa的字符型数据在计算机内存中占2个字节,字符型数据无符号,其取值范围是。2JaVa中表示字符的用char关键字表示,在Java中负责字符操作的还有字符串,常用