Java简答选择与编程题案练习讲解

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

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

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

资源描述

Java简答、选择与编程题案练习讲解4章节第1章练习题案1.Java语言有那些特点?答:Java语言的特点包括:平台无关性、面向对象、简单性、安全性、分布式、健壮性、解释型、多线程。2.为什么说Java是结构中立的,具有跨平台特性?答:无论哪种编程语言编写的程序最终都需要操作系统和处理器来完成程序的运行,平台无关性是指软件的运行不因操作系统、处理器的变化导致程序无法运行或出现运行错误。以C++程序为例,C++编译器针对源程序所在平台进行编译、连接,然后生成机器指令,这样就无法保证C++编译器产生的可执行文件在所有平台上都被正确执行。如果更换了平台,可能需要修改源程序,并针对新的平台重新编译源程序。相反,Java源代码不会针对一个特定平台进行编译,而是生成一种字节码中间文件(class文件),这种文件是平台无关且体系结构中立的。也就是说,无论一个Java程序是在Windows、Solaris、Linux还是其他具有Java编译器的操作系统下编译,作为编译结果的字节码文件都是相同的,都可以在任何具有Java虚拟机(JVM)的计算机上运行。JVM能够识别这些字节码文件,JVM将字节码文件进行转换,使之能够在不同平台上运行。任何操作系统只要安装了JVM,就可以解释并执行这种与体系结构无关的字节码文件,实现了跨平台。跨平台特性保证了Java的可移植性,任何Java源程序都可以移植到其他平台上。除此之外,Java的数据类型与机器无关,原始数据类型存储方式是固定的,避开了移植时可能产生的问题。例如,在任何机器上,Java的整型都是32位的,而C++中整型的存储依赖于目标计算机。另外Java的字符串采用标准的Unicode格式保存,也保证了Java的可移植性。3.简述Java的3种主要平台,这些适合开发那种应用?答:Java的开发平台(JDK)是开发人员用来构建Java应用程序的软件包,它包括:Java虚拟机(JVM)、Java编译器(javac)、Java归档(jar)实用程序、Java文档(javadoc)实用程序等。目前,Java的运行平台主要分为下列3个版本。(1)Java标准版Java标准版即JavaSE,曾被称为J2SE。JavaSE提供了标准的JDK开发平台,利用该平台可以开发桌面应用程序、低端的服务器应用程序以及JavaApplet程序。学习Java应当从JavaSE开始,本书主要介绍JavaSE。(2)Java微型版Java微型版即JavaME,曾被称为J2ME。JavaME是一种很小的Java运行环境,用于嵌入式的消费产品中,例如手机、平板电脑和各种轻量智能设备等。(3)Java企业版Java企业版即JavaEE,曾被称为J2EE。可以构建企业级的服务应用。JavaEE平台包含了JavaSE,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。4.什么是JDK、JRE、JVM,简述三者之间的关系。答:Java的开发平台(JDK)是开发人员用来构建Java应用程序的软件包,它包括:Java虚拟机(JVM)、Java编译器(javac)、Java归档(jar)实用程序、Java文档(javadoc)实用程序等。所谓的Java运行环境(JRE)是JDK的子集,包括JVM、运行时类库和执行Java字节码所需要的Java应用程序启动器,但省略了Java编译器等开发工具。如果只需要运行Java而不需要开发Java程序,则不需要完全安装JDK,只选择安装JRE即可。9.在【例2-3】的基础上,对矩形类增加一个构造函数,使得能够用一个坐标点、矩形长度、矩形宽度以及方向(包括X方向和Y方向,其值为1或-1)构造一个实例。编写测试类进行测试,确认程序的正确性。答:编写构筑函数的程序如下:/*构造函数之三:用一个坐标点的值和矩阵长度和宽度以及方向进行矩阵的初始化*/publicRectangle(doublex1,doubley1,doublelength,doublewidth,intx_direct,inty_direct){this.point1=newPoint(x1,y1);this.point2=newPoint(x1+length*x_direct,y1+width*y_direct);}第3章练习题案1.Java语言的注释有哪几种?分别给出一个例子。答:Java语言的注释有3种,分别是单行注释、多行注释和文档注释。单行注释的例子如下:publicstaticPointorigin=newPoint(0,0);//类初始化时,创建一个原点实例多行注释的例子如下:/*类初始化时,创建一个原点实例*/publicstaticPointorigin=newPoint(0,0);文档注释的例子如下:/****@类名:Point*@类简介:坐标点类,可以初始化其坐标x和y。*@编程人:林福平*@编程日期:2012-8-9*@修改日期:2012-8-10**/2.Java语言中分隔符有哪几种?空白符有哪些?答:Java语言中的分隔符有空白符、注释和普通分隔符三种。Java语言中的空白符(WhiteSpace)包括空格(SP,space)、制表符(‘\t’,Tab键)、走纸换页(‘\f’)、回车(‘\r’)和换行(‘\n’)。3.简述标识符的用途。下列字符串中,哪些是标识符?PIx2-lengtha+b_bytes$longMIN_VALUE答:Java语言中的标识符用于对类、方法、变量、类型、数组和文件等进行命名。上述字符串中,以下这些是Java语言的标识符:PIx2_bytes$longMIN_VALUE4.下列字符串中,哪些是关键字?trueforintnull$float_double答:上述字符串中,以下这些是Java语言的关键字:trueforintnull5.Java语言的基本数据类型分为那几大类?答:Java语言的基本数据类型分为数值类型(包括整数类型和浮点类型)、字符类型(char)和布尔类型(Boolean)。整数类型有byte、short、int和long。浮点类型有float和double。6.编写一个简单的Java程序,验证带有下划线(_)的常量是否符合语法,同时给出一个十六进制形式浮点数常量验证它是否符合语法。答:根据《Java语言规范》(《TheJava™LanguageSpecificationJavaSE7Edition》)一书的语法规定,常量中可以使用下划线(_),并且允许使用十六进制浮点数的。但是,实际使用中由于难以理解,通常情况下应该避免使用。例子程序如下:publicclassTestJava{publicstaticfinaldoubleX123=0x1_2_3.0p+0;publicstaticvoidmain(String[]args){System.out.println(X123);}}该程序运行结果如下:291.07.阅读以下Java语言程序的片段,写出程序输出结果:inti=1928;do{System.out.println(i);i=i/10;}while(i0);程序运行结果如下:13927818.阅读以下Java语言程序的片段,写出程序输出结果:inti=1928;do{System.out.println(i);i=i/10;}while(i0);程序运行结果如下:19281921919.用Java语言编写程序,计算输入的两个整数的最大公约数(GCD)。采用经典的Euclid算法,方法是:用变量m和n存储两个数的值,如果n为0,程序结束,m的值为最大公约数;否则计算m除以n的余数,把n保存到m中,并且把余数保存到n。重复这个过程,每次都先判定n是否为0。答:编写程序如下(程序中,变量m和n的值是给定的,要使得程序具有通用性,可以将其改为运行时输入):publicclassTestJava{publicstaticvoidmain(String[]args){intm=420;intn=98;while(n!=0){inttemp=m%n;m=n;n=temp;}System.out.println(m);}}程序运行结果是14。10.用Java语言编写程序,然后对用户输入的一个分数(分别输入分子和分母)进行约分,并且输出约分后的分数(分别输出分子和分母)。例如输入分子为6并且分母为12,那么输出结果为1/2。答:对于输入的分子和分母,求出其最大公约数,用最大公约数来除这两个数就得到约分的结果。程序设计如下:publicclassTestJava{publicstaticvoidmain(String[]args){Scannernumerator=newScanner(System.in);Scannerdenominator=newScanner(System.in);intm=numerator.nextInt();intn=denominator.nextInt();while(n!=0){inttemp=m%n;m=n;n=temp;}System.out.println(numerator.nextInt()/m+/+denominator.nextInt()/m);}}在输入的分子和分母分别98和420的情况下,程序运行结果是7/30。11.用Java语言编写程序,计算e=1+1/1!+2/2!+……+n/n!。要求e值精确到小数点第5位。答:采用逼近法计算e,首先计算至第i项和第i+1项之和,比较它们的差值,满足精确到小数点第5位(差值0.00001),即得到所求的e。程序设计如下:publicclassTestJava{publicstaticvoidmain(String[]args){doubleei;doubleei1=1;i=1;doublefactorial=1;do{ei=ei1;factorial*=i;ei1+=1/factorial;i++;}while(Math.abs(ei1-ei)0.00001);System.out.println(ei1);}}程序运行结果是2.7182815255731922。importjava.io.*;importjava.util.Scanner;publicclassXt9_11_BuffereStream{publicstaticvoidmain(String[]args)throwsIOException{Stringfilename=,str;Scannerscan=newScanner(System.in);System.out.print(输入文件名:);filename=scan.next();FileReaderfin=newFileReader(filename);//打开文本文件读BufferedReaderbin=newBufferedReader(fin);//字符流转换为缓冲流intcount=0;while((str=bin.readLine())!=null&&count10){//从文件读一行字符System.out.println(str);//显示count++;}bin.close();}}第4章练习题案1.声明一个数组,保存一个学生的数学、语文、英语、物理、化学等课程的成绩,编写一个程序,计算5门课程的平均成绩,精确到0.1分,成绩值从键盘录入。importjava.util.Scanner;publicclassXT_1_score{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubdoublescore[]=newdouble[5];System.out.println(请分别输入数学、语文、英语、物理、化学的成绩(数字之间用空格格开):);doublesum=0,average=0;Scannerin=newScanner(System.in

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

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

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

×
保存成功