java课后习题答案

更新时间:2023-07-28 13:25:45 阅读: 评论:0

第一章习题答案
一、简答题
1.Java语言有哪些特点?主要用于能够哪些方面的软件开发?
特点:(1)面向对象,(2)平台无关性,(3)分布式,(4)可靠性和安全性,(5)多线程,(6)简单性,(7)健壮性,(8)高性能,(9)灵活性。
适用范围:(1)所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。(2)计算过程的可视化、可操作化的软件的开发。(3)动态画面的设计,包括图形图象的调用。(4)交互操作的设计。(5)Internet 的系统管理功能模块的设计,包括 Web 页面的动态设计、管理和交互操作设计等。(6)Intranet上的软件开发(直接面向企业内部用户的软件)。(7)与各类数据库连接查询的 SQL 语句实现。(8)网络通信与移动通信,网络集成方面。
2.Java程序分为哪两类?各有什么特点?如何区分它们?
Java语言程序分为两类:应用程序Application和小程序Applet,它们是利用Java语言生成的可运行代码中最常用的两种,两者都必须在Java虚拟机上运行。
Application更象我们平常用VB,VC等编写的桌面程序,多以控制台(CONSOLE)方式运行,当然也很容易实现窗口应用。
Applet则需要嵌入Web页面中,在支持Java虚拟机的浏览器上运行。
区分办法:应用程序Application中一定包括一个主方法main,而小程序Applet没有这个方法。
3.简述Java程序的运行过程。
一个Java源的运行需要经过三个步骤:
(1)编辑源程序,产生.Java的源程序文件
(2)运用Java虚拟机JVM将源文件编译为.class的字节码文件
(3)根据程序的不同类型运行程序。对于应用程序直接调用运行命令执行字节码文件,而对于小程序Applet,需要先将字节码文件嵌入HTML文件,然后用浏览器软件打开HTML文件。
4.什么是Java虚拟机?简述其工作机制。
Java虚拟机(Java Virtual Machine—JVM)是一种利用软件方法实现硬件功能的抽象化的计算机,它
基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。
JVM是运行Java程序必不可少的机制,编译后的Java程序指令并不直接在硬件系统上CPU上执行,而是由JVM执行。JVM是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看成一个虚拟的处理器,它不仅解释执行编译后的Java指令,而且还要进行安全检查,它是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检验引擎。
5.Java编程工具有哪些?各有什么特点?
Java编程工具主要包括8种:JDK,Jbuilder,Jcreator,Java Workshop,Visual Age for Java,Visual Cafe for Java,FreeJava,VJ++ 6.0。
各种编程工具的特点参照教材内容。
6.什么是JDK?它与J2SD
sugar歌曲K有什么关系?
JDK:Java Development Kit—Java开发工具集,它运行在Windows中的MS-DOS窗口状态,用户需要在提示符下输入命令。
JDK是一种免费资源,一般使用的是其标准版,即J2SDK:Java 2 Standard Development Kit。
7.如果在D:\MyJavaFile目录下有一个文件FirstJavaProgram.Java,写出在JDK环境下,此程序的运行过程。
运行过程:先切换到D:\MyJavaFile目录,然后依次执行:
(1)javac FirstJavaProgram.Java
(2)java FirstJavaProgram.class
8.什么叫面向对象编程?什么是对象?什么是类?
面向对象编程(Object-Oriented Programming ,OPP)是一套概念和想法,它与面向过程的编程方法相对应,是一种利用计算机程序来描述实际问题的思路,也是一种直观,效率更高的解决问题的方法。面向对象的程序设计方法按照现实世界的特点来管理复杂的事物,把它们抽象为对象,具有自己的状态和行为,通过对消息的反应来完成一定的任务。
对象就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为,一个对象的变量构成这个对象的核心,包围在它外面的方法使这个对象和其它对象分离开来。
类是对一组具有相同特征的对象的抽象描述,所有这些对象都是这个类的实例。在程序设计语言中,类是一种数据类型,而对象是该类型的变量,变量名即是某个具体对象的标识名。
二、操作题
4.依照教材中的例题程序,自己分别编写一个Application和Applet,功能是输出信息:
I love Java!
源程序如下:
public class HelloWorldApp{
public static void main( String args[ ] ){
System.out.println("I love Java!");
}
}
5.定义一个类Person,并分别设置若干成员变量和成员方法,并上机调试。
public class Person{
char name[];
int age,no;
float income;
void speak(){
System.out.println("I am doing my homework!");
}
}
第二章习题答案
一、简答题
1.Java提供了哪些注释语句,功能有什么不同?
Java语言提供了3种形式的注释:
(1)// 一行的注释内容
以//开始,最后以回车结束,表示从//到本行结束的所有字符均作为注释内容
(2)/*一行或多行的注释内容*/
从/*到*/ 间的所有字符(可能包括几行内容)都作为注释内容。
以上两种注释可用于程序的任何位置。
(3)/**文档注释内容*/
当这类注释出现在任何声明之前时将会作特殊处理,它们不能再用在代码的任何地方。这类注释意味着被括起来的正文部分,应该作为声明项目的描述,而被包含在自动产生的文档中。
2.识别下面标识符,哪些是合法的,哪些是非法的。
Ply_1,$32,java,myMothod,While,your-list,class,ourFriendGroup_$110,长度,7st
合法标识符:Ply_1,$32,java,myMothod,
ourFriendGroup_$110,While
不合法标识符:class(关键字),长度,7st
3.Java提供了哪些数据类型,全部写出来。
二、编程题
1.编写程序,从10个数中求出最大值、最小值及平均值。
public class MaxMinAve{
public static void main(String args[]){
int i,s=0,min=Integer.MAX_VALUE,max=Integer.MIN_VALUE;
float ave;
int a[]=new int[10];
for (i=0;i<10;i++){
a[i]=(int)(100*Math.random());  //取随机数
if (max<a[i]) max=a[i];
if (min>a[i]) min=a[i];
s+=a[i];}
System.out.println("最大值是:"+max);
System.out.println("最小值是:"+min);
System.out.println("平均值是:"+s/10);
}
}
2、编程求n!,设n=8。
public class PlusN{
public static void main(String args[]){
int i,n=8;
long s=1l;
for (i=1;i<=n;i++)
s*=i;
System.out.println("8的阶乘是:"+s);
}
}
3、编程,根据考试成绩的等级打印出分数段,优秀为90以上,良好为80~90,中等为70~79,及格为60~69,60以下为不及格,要求采用switch语句。
public class ScoreLevel{
public static void main(String args[]){
int a[]={85,95,65,53,77,68,45,99,100};
int i,l;
for (i=0;i<=a.length;i++){
l=a[i]/10;
switch(l){
ca 9:
ca 10:
System.out.println("成绩是:"+a[i]+":等级是"+"优秀");
break;
ca 8:
System.out.println("成绩是:"+a[i]+":等级是"+"良好");
break;
ca 7:
System.out.println("成绩是:"+a[i]+":等级是"+"中等");
break;
ca 6:
System.out.println("成绩是:"+a[i]+":等级是"+"及格");
break;
default:
System.out.println("成绩是:"+a[i]+":等级是不及格");}
}
}
}
4、判断一个数是不是回文。回文是一种从前向后读和从后向前读都一样的文字或者数字,如12321、569878965、abcba。
import java.io.*;
public class CycleText{
public static void main(String args[]) throws IOException{
int i=0,n=0;
boolean flag=true;
char ch,a[]=new char[20];
System.out.println("请输入字符串或者数字(最多20个):");
ch=(char)ad();
while(ch!='\n'){
a[n]=ch;
n+=1;
ch=(char)ad();
}
for (i=0;i<n/2;i++){
if (a[i]!=a[n-2-i])  flag=fal;
}
if (flag)
System.out.println("这是回文");
el System.out.println("不是回文");
}
}
5.将数组中值按从大到小排列输出。
public class ArraySort{
如何快速发面public static void main(String args[]){
int i,j,temp;
int a[]={25,35,10,59,-22,19,50,24,53,-2};
for (i=0;i<a.length-1;i++)
for (j=0;j<a.length-1-i;j++)
if (a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
System.out.println("由小到大排序的结果是:");
for (i=0;i<a.length;i++) System.out.println(a[i]);
}
}
6.编程输出杨晖三角形的前8行。(提示:杨晖三角形的构造特点是:每一行两边的数均为1,中间的数等于它肩上的两个数之和)
1
1    1
1    2    1
1    3    3    1
1    4   
6    4      1
1      5    10    10    5      1
public class YangHuiTriangle{
public static void main(String args[]){
int i,j,temp;
int a[][]=new int[8][8];
for (i=1;i<=8;i++)
{for (j=1;j<=i;j++){
if ((j==i)||(j==1)) a[i][j]=1;
el a[i][j]=a[i-1][j]+a[i-1][j-1];
System.out.print(a[i][j]+"  ");}
System.out.println();
}
}
}
第三章习题答案
一、简答题
1.类的修饰符包括哪些?各起什么作用?
包括访问控制符(表示被访问权限)、抽象类说明符abstract(说明是否是抽象类)、最终类说明符final(表示是否是最终类)。
2.什么是抽象类?什么是抽象方法?抽象方法与普通方法有什么不同?
以abstract作为关键字,如果有的话,应该放在访问控制符后面,表示这个类是个抽象类。抽象类中至少包含一个抽象方法,抽象方法是只声明了方法名和参数而没有定义方法体的特殊方法。抽象类不能直接产生实例化一个对象,它只能被继承。
3.父类与子类是怎样建立关联的?如果父类和子类中都有一个同名的方法,在程序中调用这个方法,应该用什么关键字来区分?
date的意思
父类与子类是通过继承和派生建立关联的,父类可以派生出子类,可以被子类继续,子类可以继续父类的属性和方法。
如果父类和子类中都有一个同名的方法,通过关键字super和this区分,super表示调用父类的方法,而this表示调用的是子类的方法。
4.普通数据类型参数和引用数据类型在方法中的传递有什么不同?
普通数据类型参数的传递采用值传递,在方法中对变量的改变不会影响到主程序的同名变量,引用数据类型在方法中的传递采用地址传递,在方法中对变量的改变使主程序的同名变量发生改变。
5.什么是构造方法?构造方法有什么特点?
构造方法是一种特殊的方法,当用new命令每生成一个实例时,构造方法都会自动执行一次,而无须用户手工引用。
构造方法的特征:具有与类相同的名称,不含返回类型,不能在方法中用return语句返回一个值。
在类实例化时,它会由系统自动调用
6.字符串类有哪两种?各有什么特点?
Java.lang语言核心包中定义了String和StringBuffer两个来封装对字符串的各种操作,它们都是final类,不能被其它类继承。
String类用于比较两个字符串、查找串中的字符及子串、字符串与其它类型的转换,String类对象的内容初始化后不能改变。
StringBuffer类用于内容可以改变的字符串,可将其它类型的数据增加、插入到字符串中,也可翻转字符串的的内容。
7.JDK帮助系统有哪几种?分别说明它们的使用特点。
热爱JDK帮助文件提供了两种类型,一种是采用网页格式,其启动文件是index.html,另一种是chm格式,其启动文
件是jdkxxx.chm,这里的xxx是版本号,如目前常用的是jdk142.chm。
采用网页格式的帮助文档的主界面由两大部分组成:一部分是导航标题,另一部分是结构图。在结构图的下面,是对导航栏的解释说明。这种帮助文档的各个页面中包括大量的超链接,用户可以点击有关关键字而打开对应的页面,也可以作用浏览器中的各种菜单用工具按钮,通过此帮助文档可以方便地了解JDK的体系结构。
chm格式的帮助文档具有更加方便的查询功能,可以想象包、类、方法、常量,是初学者非常理想的学习工具。
8.简要说明内部类的含义。
所谓内部类,就是在某个类的内部嵌套定义的一个类,内部类可以在一个语句块的内部定义,也可以是其它类的成员,还可以在一个表达式内部匿名定义。
9.设置cha="JavaApplication",下面结果是什么?
cha.length()
cha.substring(3,8)
它们的结果分别是15,JavaApplication Applet,vaAppl,JAvAApplicAtion。
二、编程题
1.定义一个日期类,包括年、月、日三个属性和一个方法,用于判断是不是闰年。然后实例化两个对象,今天和明天,并分别给它们赋值。
class DateClass{
int year,month,day;
boolean isLeapYear(int y){
boolean is;
if (((y%4==0)||(y%100==0))&&(y%400!=0)) return true;
el return fal;}
}
DateClass thisYear,nextYear;
thisYear.day=5;
nextYear.day=26;
2.编写一个程序实现方法的重载。
class PassCheck{
string s,ok;
void PassCheck(String s){
System.out.println("您设置的字符串是:"+s);}
void PassCheck(String s,String ok){
if (s!=ok)
System.out.println("您设置的字符串有错,正确的应该是:"+ok);}
}
public class Example{
public static void main(String args[]){
new PassCheck("Robit");
new Passcheck("Mary","Susan");}
}
3.设定一个含有大小写字母的字符串,先将所有大写字母输出,再将所有小写字母输出。
public class PrintString{
public static void main(String args[]){
String s="We are students from the Tsinghua University.";
int i;
char ch[];
CharArray(); //转换为数组
for (i=0;i<ch.length;i++)
if ((ch[i]<'Z')&&(ch[i]>'A')) System.out.print(ch[i]);
System.out.println();
for (i=0;i<ch.length;i++)
if ((ch[i]<'z')&&(ch[i]>'a')) System.out.print(ch[i]);
System.out.println();}
}
李时珍所著打一字4.设定6个字符串,打印出以“a”字母开头的字符串。
说明:这6个字符串由用户在命令行提供。
public class PrintChara{
public static void main(String s[]){
意见和建议的区别
int i;
for (i=0;i<6;i++)
if (s[i].charAt(0)=='a') System.out.println(s[i]);
}
}5.编写一个含有抽象方法和一个抽象类的程序。
abstract class ObjectAccess{  //抽象类
int num=0;
Object access[]=new Object[20];
abstract void inputToArray(Object o); //抽象方法1
abstract Object outputFromArray();  //抽象方法2
}
三、上机操作题
1.分别从网上下载两种格式的JDK帮助文档。
2.运行下面的程序,输出并记录结果。
class Father{
private int f1,f2;
public Father(int f1,int f2){
this.f1=f1;this.f2=f2;}
public void print{
System.out.println("f1="+f1+"f2="+f2);}
}
class Child extends Father{
private int c1,c2;
黑鸭子合唱组
public Child(int f1,int f2,int c1,int c2){湛江鸡
super(f1,f2);
this.c1=c1;this.c2=c2;}
public void print(){
super.print();
System.out.println("c1="+c1+"c2="+c2);}
}
3.打开JDK文档,找出类long的所有方法,并记录下来。
4.编写一个程序,实现把数组中各个分量累加起来的功能,并上机调试。
第4章习题答案
一、简答题
1.什么是包?包中包括一些什么内容?
在Java语言中,程序包(简称包)是存放类和接口的容器,包括类、接口、等内容。
2.如果有一个包pag1,它的子包是pag2,如果需要将这两个包都引入程序,至少需要使用几条import语句?
至少用2条import语句,分别导入包pag1和子包pag2。只用一条import语句是不够的。
3.接口与类有什么不同?与抽象方法存在什么样的关系?
接口(interface)是一种特殊的类,接口是方法定义(即抽象方法)和常量值的集合,只包含常量和方法的定义,没有变量和方法的实现。使用接口的目的是解决Java语言中不支持多重继承的缺陷。
接口中包含若干抽象方法,没有具体的方法。
4.Java提供了哪些系统类库?各起什么作用?
(1)java.lang包:Java语言核心包,包括Java语言基础类,如基本数据类型、基本数值函数、字符串处理、线程、异常处理等。
(2)java.io包:它包含了用于数据输入输出的类,主要用于支持与设备有关的数据输入输出,即数据流输入输出、文件输入输出、缓冲区流以及其它设备的输入输出。
(3)java.applet包:它提供了创建用于浏览器的Applet小程序所需要的类。
(4)java.awt包:awt(Abstract Window Toolkit)抽象窗口工具集,它提供了图形用户界面设计、传略操作、布局管理和用户交互控制、事件响应的类。
(5)java包:java网络包,提供了网络应用的支持。
(6)java.math包:java语言数学包,包括数学运算类和小数运算类,提供完善的数学运算方法。
(7)java.util包:java实用程序包,提供了提供了许多实用工具。
(8)java.curity包:java安全包,提供了网络安全架构所需的类和接口,可以有效地管理和控制程序的安全性。
(9)java.SQL包:java数据库包,提供了Java语言访问处理数据库的接口和类,它是实现JDBC的核心类库。
(10)i包:java远程方法调用包,i包提供了实

本文发布于:2023-07-28 13:25:45,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1099892.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:服装批发英语
下一篇:AS358 datasheet
标签:方法   程序   提供   包括   对象   字符串
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图