JAVA习题集含答案_第1页
JAVA习题集含答案_第2页
JAVA习题集含答案_第3页
JAVA习题集含答案_第4页
JAVA习题集含答案_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA 习题集(含答案)习题一:1 简述 Java 的发展过程。2 什么是软件?3 什么叫做源程序?4 什么叫做编译?5 什么是 Java 的 byte-codes?它的最大好处是什么?6 机器语言程序、高级语言程序以及可表示成 Java 字节码的程序之间的区别是什么?7 Java 程序可分为哪两种?分别如何运行?8 试简述 J2SE、 J2ME 与 J2EE 的简单区别。9 练习使用浏览器查看 Java API 文档。10 SDK 的编译命令是什么?11 试修改例 1-1 程序,使其输出的字符串为“ I d like to study Java” !,并在 DOS 命令行 环境下编译与运行

2、该程序。习题一参考答案 :1 答:1991: Sun Microsystems 公司进军消费电子产品( IA )市场。19914:Sun 成立“ Green”小组,以 C+ 为基础开发新的程序设计语言,并将其命名 为 Oak 。1992 10:Green 小组升格为 First Person 公司,他们将 Oak 的技术转移到 Web 上,并 把 Oak 改名为 Java。19931994: Web在 Internet 上开始流行,致使 Java得以迅速发展并获得成功。1995 5:Sun Microsystems 公司正式发表 Java与 HotJava 产品。1995 10:Netscap

3、e与 Sun Microsystems 合作,在 Netscape Nevigator 中支持 Java。 199512:微软( Microsoft )IE 加入支持 Java 的行列。1996 2:Java Beta测试版结束, Java 1.0版正式诞生。19972:Java发展至 1.1版。 Java的第一个开发包 JDK ( Java Development Kit )发布。19997: Java 升级至 1.2 版。20009: Java 升级至 1.3 版。20017: Java 升级至 1.4 版。2 答:软件可以理解为程序的另一种名称。3 答:直接使用高级语言书写的程序代码称为

4、源程序4 答:把用高级语言编写的源程序翻译成可执行(目标)程序的过程称为编译。5 答: Java 源程序经 Java 的编译器编译过后产生的程序称为Java 的 byte-codes。它的最大好处是可以实现跨平台运行。6 答:机器语言程序是可以让计算机直接运行的程序;高级语言程序是必需经过编译或 解释才可以让计算机运行的程序,并且程序的运行依赖于该语言的语言处理系统;可 表示成 Java 字节码的程序必需经过编译产生 Java字节码程序, Java 字节码程序可以实 现跨平台运行。7 答: Java程序分为: Java Application ( Java应用程序)与应用在 www 上的 Ja

5、va applet ( Java 小应用程序)。 Java Application 可以在 Java 平台上独立运行,以 main() Method 作为程序入口,由 Java解释器加载执行。而 Java applet 则是内嵌在 Html 文件中,必须 搭配浏览器来运行,它没有程序入口。8 答:J2ME( Java 2 Micro Edition ):用于嵌入式 Java 消费电子平台。不论是无线通讯、 手机、 PDA 等小型电子装置都可采用其作为开发工具及应用平台。J2SEJava 2( Software Development Kit )Standard Edition :是 Java

6、最通行的版本,是用于工作站、 PC机的 Java标准平台。 J2EE( Java 2 Enterprise Edition ):可扩展的企业应用 Java 2 平台,它提供了企业 e-Business 架构及 Web Services 服务。9 答:略10 答: javac11 答:修改程序如下:public class BegintoLearnpublic static void main(String args)System.out.println(I d like to study Java ! );程序运行部分略。习题二1 下面哪些是合法的常量(1) 2M(2) 4(3) 8I(4)

7、6.5(5) ch3(6) 5.6E03(7) t(8) 90(9) 012(10) 0x142 int 、 char、float 和 double 类型的变量各占有多少个字节?试写出它们各自的取值范围。3 下列符号那些可以作为 Java 的变量名?(1) 3a(2) main(3) KFC(4) chs (5) File (6) a*b(7) m_n(8) new(9) nn2(10) -x(11) _y (12) exp(13) ha?(14) m&m(15) j,k (16)p:q4 什么叫做变量的作用域?5 试写出下列 Java 表达式的运算结果:(1) 15+4*5-12(2) (1

8、8-4)/7+6(3) 2=5(4) 62 & 88 &2336(6) 56/9+3.6(7) 48%9+5*5-4(8) 9-78(9) (32) ? 8 : 9(10) 9= =8 & 3=90)ch=A;else if (score=75)ch=B;else if (score=60)ch=C;elsech=D;System.out.print(The Grade is +ch);7 答:程序如下:public class ShuLiepublic static void main(String args)int a ,q ,n;q=(150-135)/5;a=(135-20*q)/5;

9、for (n=0;n10;n+)System.out.print(a+n*q)+ );8 答:程序如下:public class Pyramidpublic static void main(String args)int i,j,k; for(i=0;i=4;i+) for ( j=0;j20-i;j+)System.out.print( );for (k=0;k=2*i;k+)if (k=i)System.out.print( +(2*k+1);elseSystem.out.print( +(2*(2*i-k)+1); System.out.println();9 答:程序如下:impor

10、t java.io.*;public class PrimeNumberpublic static void main(String args) throws IOExceptionint n=0;int m;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);System.out.print(Input the m:);str=buf.readLine();m=Integer.parseInt(str);outer:for(int i=3;i=m;i+=2) /outer

11、loop/innerlop/outputanewline/after10numbersfor(int j=2;ji;j+) if(i%j=0) continue outer;System.out.print( +i); n+;if(n=10) System.out.println();n=0;System.out.println();10答:程序如下:import java.io.*;public class Factor12public static void main(String args) throws IOExceptionint m;String str;BufferedReade

12、r buf;buf=new BufferedReader(new InputStreamReader(System.in);System.out.print(Input the m:);str=buf.readLine();m=Integer.parseInt(str);System.out.print(m+s factors are: );System.out.println( );for(int i=1;i=5) m=m/2;d+;System.out.print(d+: );System.out.println(m);days);System.out.print(You need +d+

13、12程序如下:public class AlmostPipublic static void main(String args)int n;long m;double s,t;n=1;m=0;s=0;do t=(double)n/(2*m+1);m+;n=-n;s=s+t; while (4*s-3.14159 0.0000001 | 4*s-3.14159 -0.0000001);System.out.println(m);13答:程序如下:public class LSRndpublic static void main(String args)int mun,n,max1,min1;ma

14、x1=0;min1=100;for (n=1;nmax1)max1=mun;if (mun=1 & m=12)System.out.println(monthm-1);elseSystem.out.print(Your Input is wrong);15答:程序如下:import java.io.*;public class StatNumpublic static void main(String args)throws IOExceptionint m;char s;String str;int a=new int10;BufferedReader buf;buf=new Buffere

15、dReader(new InputStreamReader(System.in);System.out.print(Input the long number:);str=buf.readLine();for (int i=0;i=15;i+) s=str.charAt(i);m=(int)s-48; / 字符数据转换为整型数据时转换的是其 Unicoad 代码。 am=am+1;for (m=0;m10;m+)System.out.println(m+: +am);16答:程序如下:import java.io.*;public class SortArraypublic static vo

16、id main(String args)throws IOExceptionint m,n,k;int aa=new int6;int bb=new int6;int cc=new int12;/利用产生随机数的方式为数组赋值。for (int i=0;i6;i+) m=(int)(100*Math.random(); aai=m;n=(int)(100*Math.random(); bbi=n;+bbi);/先将两个数组进行排序System.out.println(aai+for (int i=0;i6;i+)for (int j=i;jaaj)int t=aai;aai=aaj;aaj=t

17、;if (bbibbj)int t=bbi;bbi=bbj;bbj=t;m=0;/ 用合并法将两个有序数组排序并合并n=0;k=0;while (m6 &n6) if (aam=bbn) cck=aam;m+;elsecck=bbn;n+;k+;while (m6)cck=aam;m+;k+;while (n6)cck=bbn;n+;k+;for (int i=0;i12;i+)System.out.print(cci+ );17答:程序如下:class RecuSumstatic long Sum1(int n)if (n=1)return 1;elsereturn n+Sum1(n-1);

18、public static void main(String args) int n=200;System.out.println(Sum=+Sum1(n);习题四1 类和对象之间的关系。2 声明一个类 Person,成员变量有姓名、出生年月、性别。有成员方法以显示姓名、年龄和 性别。3 声明一个矩形类 Rectangle ,其中有多个构造方法。用不同的构造方法创建对象,并输出 矩形的周长和面积。4 声明一个矩阵类 Matrix ,有这样一些实例方法:将一个矩阵转置、求两个矩阵的和。5 举例说明类(静态)成员的特点。6 说明继承和接口的区别已及它们各自的作用。7 写出下面程序的运行结果clas

19、s Leve1String name=;int height,width;public Leve1();public Leve1(Leve1 le) name=;height=le.height;width=le.width;public Leve1(String na,int h,int w) name=na;height=h;width=w;public int higherthen(Leve1 t) return this.height-t.height;public void print()System.out.println(class Leve1: );System.

20、out.println(Name=: +name+, Height=: +height+, Width=: +width);class Leve2 extends Leve1int width;public Leve2();public Leve2(Leve1 le,int h,int w) super(le);height=h;width=w;public int widerthen()return width-super.width;public void print()System.out.println(class Leve2: );System.out.println(Name=:

21、+name+, Height=: +height+, Width=: +width);public class Lev_expublic static void main(String args)Leve1 le1=new Leve1(Tower_1,50,20);Leve2 le2=new Leve2(le1,40,25);le1.print();le2.print();System.out.println(Leve1 is +le1.higherthen(le2)+ highter then Leve2.); System.out.println(Leve2 is +le2.widerth

22、en()+ wider then Leve1.);8 Java 中的包和 windows 的文件夹有什么关系?9 说明类的成员的访问权限和包的关系。10 创建两个 String 类的对象 str1 和 str2,判断 sr2 是否是 str1 的子串。如果是,输出 str1 中, 在子串 ztr2 前和后的字符串。如:“ Action 是”“ addActionListener 的子串”,在此子串前是字符串 ” add,”后面是字符 串”Listener。”11 写出下面程序的运行结果class Fatherint x;public Father(int x) this.x=x;public

23、Father();public int fun()int f=0;for(int i=1;i=x;i+) f=f+i;return f;public int fun(int x) int f=1;for(int i=this.x;i=x;i+)f=f*i;return f;class Son extends Fatherpublic Son(int a) super(a); public int fun() int f=1;for(int i=1;i=x;i+)f=f*i;return f;public class Pol_expublic static void main(String ar

24、gs) Father f1=new Father(5); Son s1=new Son(3); System.out.println(s1.fun(); System.out.println(f1.fun(); System.out.println(f1.fun(6); f1=s1;System.out.println(s1.fun();System.out.println(f1.fun();System.out.println(f1.fun(6);习题四参考答案:2、import java.util.*;public class Personprivate String name;priva

25、te char sex;private int year,month;public Person( )public Person(String nm,char sx,int y,int m) name=nm;sex=sx;year=y;month=m;public void printPerson( )Calendar now=Calendar.getInstance();int age=now.get(Calendar.YEAR)-year;System.out.println(Name: +name+,Sex: +sex+, Age: +age); public static void m

26、ain(String args)Person pe1=new Person(Tom,m,1980,10);pe1.printPerson();3、public class Rectangledouble width,length,girth,area;public Rectangle();public Rectangle(double wd,double le) width=wd;length=le;public void setWidth(double wd)width=wd;public void setLength(double le)length=le;public double ge

27、tWidth( )return width;public double getLength( )return length;public double girth()return 2*(width+length);public double area()return width*length;public void printRectangle() System.out.println(Width=+width+ ,Length=+length); public static void main(String args)Rectangle re1=new Rectangle(10,20);Re

28、ctangle re2=new Rectangle();re2.setWidth(3);re2.setLength(4);re1.printRectangle();System.out.println(Girth=+re1.girth()+,Area=+re1.area();re2.printRectangle();System.out.println(Girth=+re2.girth()+,Area=+re2.area(); 4、public class Matrixprivate int mx,m,n;public Matrix(int r,int c)m=r;n=c;mx=new int

29、mn;iniMatrix();public Matrix()m=3;n=3;mx=new int33;iniMatrix();public void iniMatrix()int i,j;for(i=0;i=m-1;i+)for(j=0;j=n-1;j+) mxij=(int)(Math.random()*100); public void tranMatrix() int i,j,t;int mt=new intmn;for(i=0;i=m-1;i+)for(j=0;j=n-1;j+)mtij=mxij;t=m;m=n;n=t;mx=new intmn;for(i=0;i=m-1;i+)fo

30、r(j=0;j=n-1;j+)mxij=mtji;public void printMatrix()int i,j;for(i=0;i=m-1;i+) for(j=0;j=n-1;j+)System.out.print( +mxij);System.out.println();public void addMatrix(Matrix b)int i,j;for(i=0;i=m-1;i+)for(j=0;j=0)System.out.println(String_2 is in String_1);System.out.println(The substring before String_2

31、is +str1.substring(0,n);System.out.println(The substring behind String_2 is+str1.substring(n+str2.length( );习题五问答题:1 请解释 try、 catch、 finally 块之间的关系。2 try 块的嵌套有几种形式?他们对异常分别是怎样处理的?3 简述 throw,throws 语句的作用。习题五参考答案:1. try 块用来监视某段代码执行过程中是否发生异常, 若发生则产生异常对象并抛出。 catch 用于捕获异常并处理它。 finally 块中的语句无论是否发生异常都将被执行。2

32、有两种形式。一种是显式嵌套,它是指在某个方法中,某一个try 块又包含另一 try 块,当内层 try 块抛出异常对象时, 首先对内层 try 块的 catch 语句进行检查, 若与抛出异常类型 匹配则由该 catch 处理,否则由外层 try 块的 catch 处理。另一种是隐式嵌套,它是指在不同的方法中,若方法1的 try 块中调用方法 2,而方法 2又包含一个 try 语句,则方法 1 中的 try 块为外层,方法 2 中的 try 为内层。3 throw 语句用于在程序中自行抛出异常, throw 语句执行后,其后继语句将不再执行,执 行流程将直接寻找后面的 catch 语句,如果 c

33、atch 语句中的参数能匹配 throw 语句抛出的Throwable 对象,则执行相应的异常处理程序。如果catch 语句中的参数没有一个能与该对象相匹配,则由缺省的异常处理器终止程序的执行并输出相应的异常信息。throws 语句用于声明一个方法可能引发的所有异常, 这些异常是要求调用该方法的程序 处理的。习题六问答题:1 线程有那些特点。2 什么是线程的生命周期?线程的是怎样在各种状态下转换的。3 编写一个线程程序,有两各线程,分别在屏幕上显示 150 之间的奇数和偶数。观查一共 有几个线程在运行,各个线程是怎样被处理器执行到的。4 编写程序同上题,利用 Java对线程的调度技术,使屏幕上

34、先显示 150 之间的奇数,再显 示 150 之间的偶数。5 一个多线程的程序怎么会出现死锁?6 编写一个程序, 创建两个线程, 其中一个产生 5 个 1100 之间的随机整数, 另一个线程将这 5 个数加起来。观察运行的情况,分析结果是否正确。如果结果有问题,想办法解决它。习题六参考答案:3.public class Thread1 extends Thread int d;public Thread1(String name,int d)super(name);this.d=d;public void run()int k;System.out.println();System.out.p

35、rint(getName()+: );for(k=d;k=50;k=k+2)System.out.print(k+ );System.out.println(getName()+ end!);public static void main(String args)Thread1 th1=new Thread1(th1,1);Thread1 th2=new Thread1(th2,2);th1.start();th2.start();System.out.println(activecount=+Thread.activeCount();4.public class Thread2 extends Thread int d;public Thread2(String name,int d)super(name);this.d=d;public void run()int k;System.out.println();System.out.print(getName()+: );for(k=d;k=50;k=k+2)System.out.print(k+ );System.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论