Java程序设计教程答案.docx
《Java程序设计教程答案.docx》由会员分享,可在线阅读,更多相关《Java程序设计教程答案.docx(42页珍藏版)》请在冰豆网上搜索。
![Java程序设计教程答案.docx](https://file1.bdocx.com/fileroot1/2022-10/28/8d6670f2-3ffd-4b52-b6f9-891af6a5c6b0/8d6670f2-3ffd-4b52-b6f9-891af6a5c6b01.gif)
Java程序设计教程答案
项目一认识Java
一.选择题
1.D
2.B
3.D
4.D
二.简答题
1.Java语言有三个技术分支,并且产生了三个版本的Java运行平台,分别是J2SE标准版,主要用于开发桌面应用程序、低端服务器应用程序和JavaApplet程序;J2EE企业版,主要用于开发分布式网络程序,如电子商务网站和ERP系统等;J2ME精简版,主要用于嵌入式系统开发,如移动电话、掌上电脑(PDA)以及其他无线设备。
2.Java应用程序和JavaApplet程序。
Java应用程序要依赖JRE或JDK中的解释器来运行,而JavaApplet程序的调用命令嵌入在网页的HTML代码文件中,显示网页时由Web浏览器内置的Java解释器解释执行,并将其内容显示网页中。
3.Java虚拟机JVM是JavaVirtualMachine的缩写。
JVM是一个虚构出来的计算机,它有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java字节码文件包括的代码就是基于JVM的。
4.Java语言主要有简单、面向对象、分布式、健壮、安全、跨平台、解释执行、多线程和动态执行的特点。
5.开发Java应用程序时,首先使用任何文本编辑器创建和编辑Java源程序,保存源程序文件时,文件的扩展名为“*.java”。
然后使用“javac程序名.java”命令把源程序编译为字节码文件,最后使用“java程序名”将字节码文件翻译为计算机可以理解的指令并运行。
开发Java小程序时,首先使用任意纯文本编辑器编写Java源程序和HTML文件,并分别以扩展名“.java”和“.html”保存。
其中,HTML文件中应包含调用Java字节码文件的指令。
HTML文件可以使用IE浏览器浏览,也可以使用JDK提供的Appletviewer工具浏览。
三.编程题
1.解答
//Test.java
classPerson{
Stringname;
Stringaddress;
Stringtelephone;
Person(Stringname1,Stringaddress1,Stringtelephone1){
name=name1;address=address1;telephone=telephone1;
}
StringgetName(){
returnname;}
StringgetAddress(){
returnaddress;}
StringgetTelephone(){
returntelephone;}
}
publicclassTest{
publicstaticvoidmain(String[]args){
Personlily=newPerson("lily","金企鹅18号","");
"姓名:
"+lily.getName());
"地址:
"+lily.getAddress());
"电话号码:
"+lily.getTelephone());
}
}
2.解答
文件TestApplet.java与TestApplet.html都放在d盘根目录下。
//TestApplet.java
import;
import;
publicclassTestAppletextendsApplet{
publicvoidpaint(Graphicsg){
g.drawString("姓名:
lily",20,20);
g.drawString("地址:
金企鹅18号",20,40);
g.drawString("电话号码:
",20,60);
}
}
//TestApplet.html
TestApplet项目二Java编程基础
一.选择题
1.C
2.D
3.C
4.C
5.B
6.C
7.B
二.简答题
1、Java语言有byte(字节型)、short(短整型)、int(整型)、long(长整型)、float(单精度)、double(双精度)、char(字符型)、boolean(布尔型)8中基本类型。
2、变量是指在程序运行过程中可以发生变化的量,它用于在程序运行时临时存放数据。
常量是指在程序运行过程中不能改变的量,它用来记忆一个固定的数值。
3、在参与运算的数据包含多种数据类型,或者赋值语句中左侧赋值变量和右侧表达式结果类型不同时,如果赋值变量的数据类型优先级低于表达式结果数据类型的优先级,或者两者同级,则表达式结果的数据类型必须强制转换为赋值变量的数据类型。
4、break语句可以用在循环语句的内部,用来结束循环。
continue语句只能用在循环语句内部,用来跳过本次循环,继续执行下一次循环。
三.编程题
1、解答
//IsTriangle.java
publicclassIsTriangle{
publicstaticvoidmain(String[]args){
inta=0,b=0,c=0;//定义三边长
"请输入三角形的三条边长:
(注意:
边长为整数)");
Scannerin=newScanner(System.in);
a=in.nextInt();
b=in.nextInt();
c=in.nextInt();
if(a+b>c&&a+c>b&&b+c>a){//判断是否两边之和大于第三边
+","+b+","+c+"三条边能组成三角形!
");
}else{
+","+b+","+c+"三条边不能组成三角形!
");
}
}
}
2、解答
//ComputeDay.java
publicclassComputeDay{
staticfinalintSUN_SELL=20;//定义晴天卖花的数量
staticfinalintRAIN_SELL=12;//定义雨天卖花的数量
publicstaticvoidmain(String[]args){
intFlowers,sunDays=0,rainDays=0;
"请输入总共卖出的鲜花数:
");
Scannerin=newScanner(System.in);
Flowers=in.nextInt();//得到卖花的总数
intdays=Flowers/14;//计算总共卖花的天数
for(rainDays=1;rainDays<=days;rainDays++){
sunDays=days-rainDays;
if(SUN_SELL*sunDays+RAIN_SELL*rainDays==Flowers)
break;
}
"一共有"+sunDays+"个晴天!
");
"一共有"+rainDays+"个阴天!
");
}
}
项目三Java面向对象程序设计
一.选择题
1.D
2.C
3.A
4.B
5.B
6.D
二.简答题
1、如果用static关键字修饰成员变量,则该变量是一个类变量(又称静态变量)。
不加static修饰的成员变量称为实例变量。
类变量跟实例变量的区别是,第一次调用类的时候,系统为类变量分配一次内存。
不管
以后类创建多少个对象,所有对象都共享该类的类变量。
声明实例变量之后,每次创建类的新对象的时候,系统就会为该对象创建实例变量的副本,即该对象每个实例变量都有自己的内存空间。
2.、在方法体中声明的变量称为局部变量,它只能在方法体内使用。
局部变量的作用域开始于它的声明处,结束于当前代码块结束处。
如果没有声明代码块,则其开始于声明处,结束于方法体结束处。
3、访问控制修饰符有4个等级:
private、protected、public以及默认(即不指定修饰符)。
用private修饰的变量只能被所属类访问;用protected修饰的变量能被同一包中的类以及不同包中的子类访问;用public修饰的变量能被所有类访问;默认修饰的变量只能被同一包中的类访问。
4、多个方法共享一个名字,但方法参数的个数、类型或顺序会有所区别。
5、this用来表示当前类。
当成员变量的名字和局部变量的名字相同时,如果要在方法中访问成员变量,可以使用this关键字。
在方法体中,通过this关键字可访问当前类的成员变量和方法。
在类的构造方法中可以调用其他形式的构造方法。
6、包是Java语言中有效管理类的一个机制。
在程序中可以使用“import包名.类名”的形式引用其他包中的类。
三.编程题
1、解答
publicclassBox{
privateintlength;//定义长度
privateintwidth;//定义宽度
privateintheight;//定义高度
Box(intlength,intwidth,intheight){//构造方法,初始化成员变量
this.length=length;
this.width=width;
this.height=height;
}
publicvoidshowMessage(){
"盒子的长是:
"+length);
"盒子的宽是:
"+width);
"盒子的高是:
"+height);
}
publicstaticvoidmain(String[]args){
Boxbox=newBox(1,5,7);//创建对象
box.showMessage();//调用显示属性的方法
}
}
2、解答
import;
publicclassCompute{
staticintx,y;//定义两个数
Compute(intx,inty){//构造方法,初始化成员变量
Compute.x=x;
Compute.y=y;
}
voidadd(){//定义加法方法
"两数的和为:
"+(x+y));
}
voidsub(){//定义减法方法
"两数的差为:
"+(x-y));
}
voidMultiplication(){//定义乘法方法
"两数的积为:
"+(x*y));
}
voiddivision(){//定义除法方法
"两数的商为:
"+(x/y));
}
publicstaticvoidmain(String[]args){
"请输入两个数:
(注意:
中间以空格分隔)");
Scannerin=newScanner(System.in)