您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > java课后习题答案及部分作业答案
第一章Java概述一、选择题1、下面哪个是在Dos命令提示符下编译Java程序的命令?(A)A.javacB.javaC.javadocD.javaw2、以下哪些是Java程序中有效的注释符号?(ABC)A.//B./**/C./***/D.*/*/3、以下哪个不是Java语言的特点?(B)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源代码文件编译后生成字节码文件2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。下图展示了Java程序从编译到最后运行的完整过程。11第二章Java语法基础1、Java有哪些基本的数据类型?写出这些基本数据类型所占用的最大空间(用字节描述)。(1)数字型(number),具体又分为:a.整型(integers),整型又包括:①字节整数(byte,8bits)②短整数(short,16bits)③整数(int,32bits)④长整数(long,64bits)b.实型(realnumbers),具体又分为:①单精度(float,32bits)②双精度(double,64bits)(2)字符型(char,16-bitUnicode字符)(3)布尔型(boolean)。2、说明Java字符编码的类型与特点。Java字符编码的类型为Unicode,具有以下特点:(1)Unicode是16比特的字符编码,其支持当前世界上绝大多数的语言;(2)Unicode给每个字符提供了一个唯一的编码表示,不论是什么平台、程序或语言;(3)Windows系统(Windows2000版本)、Java、XML、LDAP等已支持Unicode;(4)Unicode实现了ISO/IEC10646标准;3、写出Java中六个常用的转义字符。\b退格\t制表符\n换行(Newline)\r回车(Carriagereturn)\'单引号4、下面的几个标示符哪些是正确的,哪些是错误的,如果是错误的,请说明原因。MyClass,_isHis,3JavaProgram,_$asdf,Java-Visual-MachineMyClass:正确,符合标识符的组成规则。_isHis:正确,符合标识符的组成规则。3JavaProgram:错误,因为第1个符号不能为数字。_$asdf:正确,符合标识符的组成规则。Java-Visual-Machine:错误,标识符不能为保留字。5、说出常量与变量的定义并举例说明。常量是指程序执行过程中,值保持不变的量,类型划分如下:ø整型常量ø实型常量ø布尔型常量ø字符型常量ø字符串常量如整型常量:起始最大整数(正)最大长整数(正)举例十进制0,1~921474836479223372036854775807L23,+567,-12,0,1234八进制00177777777770777777777777777777777L034,0175,-0777L十六进制0x0x7FFFFFFF0x7FFFFFFFFFFFFFFFL0xFF,0x45L变量是指在程序执行过程中,值可以改变的量,类型划分为:整型变量、实型变量、字符型变量、字符串变量、布尔变量等。如:intx=2,就定义了一个整型变量x并且赋值为2。6、什么是强制类型转换?并说明其运用场合。显型类型转换是强制类型转换,它是一种窄化转换(narrowingconversion),如:doublea=1.5;floatb=a;System.out.println(b=+b);编译:possiblelossofprecision数据精度丢失,数据丢失。强制类型转换一般运用在ø二元运算符的二个操作数类型不同ø表达式值的类型与变量的类型不同7、描述Java程序的构成。如何判断Java程序的主类?下面的程序有哪些错误并改正,该程序的源代码应当保存为什么名字的文件?PublicclassMyClass{Publicstaticvoidmain(){System.out.printIn(“mynameis…”);}System.out.printIn(“theend!”);}Java程序的主类中包含main(),而其它类中没有;该程序的源代码应当保存为MyClass.java。另外该程序中包含以下的错误:(1)Public的第一个字符应当小写;(2)定界符“”应当改为;(3)printIn应该为println\(4)System.out.printIn(“theend!”);代码应放在方法中8、说明Java中运算符的类型以及优先级。Java中运算符的类型以及优先级(上高下低)如下:后缀运算符postfixoperators[].(params)expr++expr--一元运算符unaryoperators++expr--expr+expr-expr~!构造或类型转换creationorcastnew(type)expr乘法multiplicative*/%加法additive+-移位shift关系relational==instanceof相等equality==!=按位与bitwiseAND&按位异或bitwiseexclusiveOR^按位或bitwiseinclusiveOR|逻辑与logicalAND&&逻辑或logicalOR||条件conditional?:赋值assignment=+=-=*=/=%=&=^=|====9、结构化程序设计有哪三种基本流程?分别对应Java中的那些语句?结构化程序设计有下面三种基本流程:顺序结构语句,条件选择语句,循环控制语句,跳转/转向语句。条件选择语句对应Java中的if,if-else,嵌套的if-else,条件运算符,switch-case。循环控制语句对应Java中的for,while,do-while语句。跳转/转向语句对应Java中的contonue,break,return语句。10、在一个循环中使用break,continue,return的差别。break:跳出(中止)循环continue:结束本次循环return:方法返回11、数组的定义,特点与分类。如何进行数组的初始化?数组的定义:数组是一组同类型的变量或对象的**。数组的特点:数组的类型可以是基本类型,或类和接口;数组中每个元素的类型相同;引用数组元素通过数组名[下标];数组下标(数组的索引)从0开始。数组是一种特殊的对象(Object),可以定义类型(声明);创建数组(分配内存空间);释放(Java虚拟机完成)。数组分类:一维数组、多维数组。第三章面向对象的实现一、选择题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.封**.继承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.11C.编译错误D.运行时出现异常9、给定如下Java代码,编译时会在(D)出现错误。(只选择一项)classParent{}classChildextendsParent{publicstaticvoidmain(Stringargs[]){Parentp1=newChild();//第一行Parentp2=newParent();//第二行Childc1=newChild();//第三行Childc2=newParent();//第四行}}A.第一行B.第二行C.第三行D.第四行10、在Java中,某类方法使用下列(B)访问修饰符修饰后,可以被其的子类访问。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.H
本文标题:java课后习题答案及部分作业答案
链接地址:https://www.777doc.com/doc-2881573 .html