Java语言程序设计课后习题集.docx
- 文档编号:11561241
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:52
- 大小:228.23KB
Java语言程序设计课后习题集.docx
《Java语言程序设计课后习题集.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计课后习题集.docx(52页珍藏版)》请在冰豆网上搜索。
Java语言程序设计课后习题集
Java课后习题
第一章
1、简述计算机语言的主要分类。
答:
低级语言,包括:
机器语言、汇编语言
高级语言,目前比较流行的有:
FORTRAN语言、ALGOL语言、COBOL语言、PASCAL语言、C语言、面向对象程序语言C++、纯面向对象的程序设计语言Java、函数式程序设计语言、脚本语言、描述性语言。
2、简述不同语言翻译程序的特点。
答:
解释型翻译程序:
读入一句源程序,翻译一句,执行一句,这样反复操作直到最终完成全部源程序的翻译。
编译型翻译程序:
加个整个源程序,最终翻译成机器语言代码,然后交给计算机执行。
3、什么是虚拟机,什么是Java运行环境?
答:
虚拟机:
配置了某种语言的翻译程序的计算机被人们称为这种语言的虚拟机。
虚拟机好似通用的计算机,有自己的指令系统,但本身没有实际的硬件。
一个
Java运行环境:
一个Java运行环境包括实际计算机、适配器、Java虚拟机(JVM)、Java基本软件和Java应用程序接口。
JVM是Java运行环境的核心。
4、简述Java程序开发的步骤。
答:
编写→编译→运行
(1)创建Java源程序:
简单的Java程序可以用任何编辑程序(如记事本)进行编辑,然后以纯文本方式存储在文件中,文件必须以.java作为后缀。
(2)编译Java源程序:
由Java编译器编译成字节码,存储在以.class为后缀的文件中。
(3)运行Java程序:
最后由运行系统解释和执行。
第二章
2.1先下载jdk安装程序,然后按要求安装即可。
JAVA_HOME为Java安装的路径。
需要设置的环境变量有:
path,classpath
我的电脑->属性->高级->单击“环境变量”按钮->单击“系统变量”区域的“新建”按钮->在“变量名”文本框中输入path,在“变量值”里输入%JAVA_HOME%\jdk1.5\bin;
同样方法创建CLASSPATH变量,变量值为:
;%JAVA_HOME%\jdk1.5\lib\dt.jar;%JAVA_HOME%\jdk1.5\lib\tools.jar
2.2学会下载安装Eclipse软件,正确配置它们的组件。
答:
从下载安装Eclipse首先下载版本EclipseSDK3.2-win32.zip下载地址为:
(http:
//www.eclipse.org/downloads/)
然后将eclipse-SDK-3.2.2-win32.zip直接解压到你想安装的地方:
我的是C:
\ProgramFiles\Java\q其次按照书上的提示安装Eclipse。
其次打开Eclipse,安装NLpack1-eclipse-sdk-3.2-win32中文包,选择Searchfornewfeaturestoinstall选项然后单击Next进入对话框,单击NewLocalSite然后再单击Next,进入到“”浏览文件夹,最后选择NLpack—eclipse-SDK-3.2-win32——eclipse文件夹,在单击确定最后单击Finish,安装结束。
在Eclipse中配置JDK步骤为:
在中文界面Java-EclipseSDK窗口,选择“窗口”——“首选项”命令打开对话框然后选择Java—InstalledJREs,进入首选项,再单击Edit,进入EditJRE对话框,最后单击Browse找到jdk1.5.0_01文件单击确定。
2.3程序:
classHelloWorld
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("HelloWorld!
");
}
}
运行:
2.4程序及运行如下:
第三章
3.1
此程序出现以下两个问题:
publicstaticvoidmain(String[]args)
inti;
System.out.println(i);//1、i在此处未初始化
inti=15;//2、i已在前面定义
以下为正确的源代码:
publicclassT3_1
{
publicstaticvoidmain(String[]args)
{
inti=10;//可任取一值
System.out.println(i);
i=15;
System.out.println(i);
}
}
3.2
publicclassBasicTypis
{
publicstaticvoidmain(String[]args)
{
byteb=(byte)0X88;
shorts=0200;
inti=11111;
longl=0x1111111;
charc='A';
floatf=.333f;
doubled=.00001001;
booleanb1=true;
System.out.println("byteb="+b);
System.out.println("shorts="+s);
System.out.println("inti="+i);
System.out.println("longl="+l);
System.out.println("charc="+c);
System.out.println("floatf="+f);
System.out.println("doubled="+d);
System.out.println("booleanb1="+b1);
}
}
运行结果如下:
3.3
(1)double
(2)6.5
3.4
运行结果:
a=0b3c=3
a=6b4c=4
a=8b3c=3
其源程序为:
publicclassArithmeticOp
{
publicstaticvoidmain(Stringarge[])
{
inta,b,c;
a=b=c=2;
a=++b-++c;
System.out.println("a="+a+"b"+b+"c="+c);
a=b+++c++;
System.out.println("a="+a+"b"+b+"c="+c);
a=b--+c--;
System.out.println("a="+a+"b"+b+"c="+c);
}
}
3.5
(1)结果为i=1j=2(如下图),与分析结果一致。
(2)break语句起到跳出switch语句的作用。
本题源代码如下:
publicclassTest
{
publicstaticvoidmain(String[]s){
intx=1,y=2,i=0,j=0;
switch(x)
{
case1:
switch(y)
{
case1:
i++;break;
case2:
j++;break;//i=0;j=1
default:
i++;j++;
}
case2:
i++;j++;break;//i=1;j=2;
default:
i++;j++;
}
System.out.println("i="+i);
System.out.println("j="+j);
}
}
3.6
//xunhuan.java
publicclassxunhuan
{
publicstaticvoidmain(String[]args)
{
intn;
for(n=10;n<=50;n++)
{
if(n%3==0)
System.out.println(n);
}
}
}
//xunhuan1.java
publicclassxunhuan1
{
publicstaticvoidmain(String[]args)
{
intn=10;
while(n<=50)
{
if(n%3==0)
System.out.println(n);
}
}
}
//xunhuan1.java
publicclassxunhuan2
{
publicstaticvoidmain(String[]args)
{
intn=10;
do
{
n++;
}
while(n<=50);
if(n%3==0)
System.out.println(n);
}
}
3.7
publicclassT3_7
{
publicstaticvoidmain(Stringargs[])
{
intnum1,num2,temp;
//定义这两个数为100、20,当然你可以随意定义。
num1=100;
num2=20;
temp=0;
if(num1>num2)
{
temp=num1;
num1=num2;
num2=temp;
}
System.out.println("按从小到大的顺序输出:
"+num1+""+num2);
}
}
3.8
publicclassT3_8
{
publicstaticvoidmain(Stringargs[])
{
inti,j=0;
for(i=1;i<=100;i++)
{
if(j==5)
{
System.out.println();
j=0;
}
if(i%2==0)
{
System.out.print(i+"");
j++;
}
}
}
}
3.9
publicclassShuiXianHuaShu
{
publicstaticvoidmain(String[]args)
{
intcount=0;
for(inti=100;i<1000;i++){
if(getCount(i)){
System.out.println(i+"是水仙花数.....");
count++;
}
}
System.out.println("共有"+count+"个水仙花数!
");
}
publicstaticintgetLifang(inti){
returni*i*i;
}
publicstaticbooleangetCount(inti){
inta=i/100;//取出百位的的数字
inttemp=i%100;
intb=temp/10;//取出十位的数字
intc=temp%10;//取出各位的数字
if(getLifang(a)+getLifang(b)+getLifang(c)==i){
returntrue;
}else{
returnfalse;
}
}
}
运行结果如下:
3.10
publicclassT3_10
{
publicstaticvoidmain(String[]args)
{
inti=0,j=0,k=0;
for(i=0;i<5;i++)
{
for(k=0;k
System.out.print('');
for(j=0;j<5;j++)
System.out.print("*");
System.out.println("");
}
}
}
3.11
publicclassT3_11
{
publicstaticvoidmain(String[]args)
{
inti,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
System.out.print(j+"x"+i+"="+i*j+"");
}
System.out.println("");
}
}
}
3.12
略。
第四章
1.什么是类,什么是对象,对象和类是什么关系?
答:
类是抽取了同类对象的共同属性和行为形成的对象或实体的“模板”。
对象是现实世界中实体的描述,是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的独立实体。
类和对象之间的关系是抽象和具体的关系:
类表达的是一种抽象的概念,它描述了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自己的状态。
举例:
类与对象的关系犹如零件的图纸与按图纸制造出的零件关系一样;图纸(类)描述了零件(对象)的共同特征,每个零件(对象)又有自己的个性,如加工精度的不同等等
2.什么是方法,方法的结构是怎样的,设计方法应考虑哪些因素?
答:
方法是Java类的一个组成部分,通过类的方法改变对象的状态。
方法的结构:
[方法修饰符]返回值类型方法名([形参列表])[throws异常列表]
{方法体;}设计方法应考虑因素有:
(1)方法名是Java中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。
(2)返回值类型可以是任意的Java类型,甚至可以是定义此方法的类。
如果方法没有返回值,则用void表示。
(3)形式参数列表是可选的。
如果方法没有形式参数,就用一对小括号“()”表示。
形式参数列表的形式如下:
(类型形参名,类型形参名,……)
(4)throws异常列表规定了在方法执行中可能导致的异常。
3.创建一个类,该类含有int和char类型的成员变量且未被初始化,然后编程输出这些成员变量的值,查看Java是否执行了默认的初始化操作。
答:
publicclassparent{
inta;//整型变量
charb;//字符型变量
publicvoidshow()//用来输出未被初始化的变量的
{Systemoutprintln(a);
Systemoutprintln(b);
}publicstaticvoidmain(String[]args){
parentc=newparent();//声明类的对象并实例化
c.show();//函数调用
}}输出结果:
0/
第四章
5题
答:
classRectangle
{
privateintwidth;
privateintlength;
Rectangle() //默认构造方法
{
length=30;
width=20;
}
Rectangle(intl,intw) //带参数的构造方法
{
length=l;
width=w;
}
Rectangle(Rectangler) //拷贝构造
{
width=r.getWidth();
length=r.getLength();
}
intgetWidth() //返回值
{
returnwidth;
}
intgetLength() //返回值
{
returnlength;
}
}
publicclassUseRectangle
{
publicstaticvoidmain(Stringargs[])
{
Rectanglex1=newRectangle();
Rectanglex2=newRectangle(50,40);
Rectanglex3=newRectangle(x1);
System.out.println(x1.getLength());
System.out.println(x1.getWidth());
System.out.println(x2.getLength());
System.out.println(x2.getWidth());
System.out.println(x3.getLength());
System.out.println(x3.getWidth());
}
}
结果是
6题
答:
classFact
{
floatfact(intn)
{
inti;
floatx=1;
for(i=1;i<=n;i++)
x=x*i;
returnx;
}
}
publicclassCheckFact
{
publicstaticvoidmain(Stringargs[])
{
Factx=newFact();
System.out.println(x.fact(10));
System.out.println(x.fact(15));
}}
结果是
7题
答:
classSuperClass
{
intx;
SuperClass()
{
x=10;
}
voiddoClass()
{
System.out.println("SuperClass.doClass()");
}
}
classSubClassextendsSuperClass
{
intx;
SubClass()
{
super();
x=100;
}
voiddoClass()
{
System.out.println("subClass.doClass()");
}
voiddoDemo()
{
intx;
x=1000;
super.doClass();
doClass();
System.out.println("super.x="+super.x);
System.out.println("this.x="+this.x);
System.out.println("x="+x);
}
}
publicclassSuperDemo
{
publicstaticvoidmain(Stringargs[])
{
SubClasss=newSubClass();
s.doDemo();
}
}
结果是
8题
答:
classFather
{
voidspeak()
{
System.out.println("IamFather!
");
}
voidspeak(Strings)
{
System.out.println("Ilike"+s+".");
}
}
publicclassOverLoadingDemo
{
publicstaticvoidmain(Stringargs[])
{
Fatherx=newFather();
x.speak();
x.speak("music");
}
}
结果是
9题
答:
classPoint
{
publicstaticintx;
publicinty;
Point(intx,inty)
{
this.x=x;
this.y=y;
}
publicstaticvoidmain(Stringargs[])
{
Pointp1,p2,p3;
p1=newPoint(1,10);
p2=newPoint(2,20);
p3=newPoint(3,30);
System.out.println(p1.x+","+p1.y);
System.out.println(p2.x+","+p2.y);
System.out.println(p3.x+","+p3.y);
}
}
结果是
第五章
1、什么是异常?
简述Java的异常处理机制。
答:
Java程序把运行过程中各种可能出现的错误都看作异常。
其中,Java运行时系统内部的错误或资源枯竭导致的普通程序不能恢复的错误,属于未检测的异常。
系统中一旦产生了异常,便去寻找处理该异常的处理程序,以保证不产生死机,从而保证程序的安全运行,这便是异常处理的简单原理。
2、系统定义的异常与用户自定义的异常有何不同,如何使用这两类异常?
答:
系统定义的异常:
程序中经常出现的系统可以预见的错误,系统已定义了异常来处理这些常见错误。
使用try-catch-finally语句捕获一个或多个异常
try
{<程序段>}
catch(<异常类名1><异常对象名1>)
{<异常处理代码1>}
catch(<异常类名2><异常对象名2>)
{<异常处理代码2>}
…
finally
{<最终异常处理代码>}
抛出异常:
说明方法时格式:
<访问权限修饰符><类型><方法名>(<参数表>)throws<异常列表>
抛出异常的语句格式:
throw<异常名>;
用户自定义的异常:
程序中出现的一些系统识别不了的运行错误,为了保证系统的稳定性,需要用户创建自己的异常和异常类,以便处理可能出现的异常。
创建异常类的格式如下:
class<异常类名>extends<异常父类名>
{
<类体>
}
抛出异常:
(<修饰符>)<类型><方法名>(<参数表>)throws<异常类名>
{
…
throw<异常名>;
…
}
捕捉异常仍可用try-catch-finally语句格式
3、输入并运行下面程序:
classTestTry{
publicstaticvoidmain(String[]args)
{
proc(0);
proc(100);
proc
(1);
}
staticvoidproc(intnum)
{
t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 课后 习题集