Java语言程序设计基础与实践(课后习题答案)_第1页
Java语言程序设计基础与实践(课后习题答案)_第2页
Java语言程序设计基础与实践(课后习题答案)_第3页
Java语言程序设计基础与实践(课后习题答案)_第4页
Java语言程序设计基础与实践(课后习题答案)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

Java语言程序设计基础与实践课后习题参考答案第一部分认识Java第1章课后习题参考答案1.简述面向过程与面向对象程序设计的区别。答:面向过程是一种以事件为中心的编程思想,即分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用时一次一次调用。面向过程是一种基础的方法,是自上而下步步求精,讲一个复杂的事物按照功能进行拆分,并逐层细化到便于理解和描述的程度,最终形成若干独立模块组成的树形结构,所以面向过程最重要的是模块化设计思想。面向对象是一种解决问题时整体看待一个实体的思想。它把构成问题的事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。2.Java语言的特点有哪些?答:(1)跨平台性所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。而在Java语言中,Java自带的虚拟机很好地实现了跨平台性。Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚拟机识别的一种机器码指令。Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。(2)面向对象面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。(3)安全性安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入,并经由字节码校验器校验之后才可以运行。Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。(4)多线程多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。(5)简单易用Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。3.Java语言包括哪三种平台?分别适用于什么场合?答:Java语言包括以下三中平台:(1)企业版(JavaEE)JavaEE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,JavaEE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。JavaEE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EJB,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。(2)标准版(JavaSE)JavaSE是Java平台标准版的简称(JavaPlatform,StandardEdition)(alsoknownasJava2Platform),用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。JavaSE包括用于开发JavaWeb服务的类库,同时,JavaSE为JavaEE提供了基础。JavaSE(JavaPlatform,StandardEdition,Java标准版)就是基于JDK和JRE的。(3)Micro版(JavaME)JavaME是Java微版的简称(JavaPlatform,MicroEdition),是一个技术和规范的集合,它为移动设备(包括消费类产品、嵌入式设备、高级移动设备等)提供了基于Java环境的开发与应用平台。JavaME目前分为两类配置,一类是面向小型移动设备的CLDC(ConnectedLimitedDeviceProfile),一类是面向功能更强大的移动设备如智能手机和机顶盒,称为CDC(ConnectedDeviceProfileCDC)。JavaME有自己的类库,其中CLDC使用的是专用的Java虚拟机叫做KVM。第2章课后习题参考答案一、简答题1.简述如何配置Java开发环境,并在自己计算机上安装配置Java.参考答案请参考课本P8-P16页。2.如何下载Eclipse,并进行安装?答:(1)下载eclipse,地址为/downloads/访问,选择符合系统版本的Eclipse。(2)下载后解压下载的文件。双击Eclipse.exe即可进行Java语言的开发。二、编程题1.参考程序(1)示例程序1publicclassExercise01{ publicstaticvoidmain(String[]args) { System.out.println("*"); System.out.println("**"); System.out.println("**"); System.out.println("**"); System.out.println("*"); }}(2)示例程序2publicclassExercise01{ publicstaticvoidmain(String[]args){ inthangshu=5; inthalf=hangshu/2+1; inthalfMore=hangshu/2; for(intk=1;k<=half;k++){ for(inti=1;i<=(half-k);i++){ System.out.print(""); } System.out.print("*"); for(inti=1;i<=((k-2)*2+1);i++){ System.out.print(""); } if(k!=1){ System.out.print("*"); } System.out.println(); } for(intk=halfMore;k>=1;k--){ for(inti=1;i<=(half-k);i++){ System.out.print(""); } System.out.print("*"); for(inti=1;i<=((k-2)*2+1);i++){ System.out.print(""); } if(k!=1){ System.out.print("*"); } System.out.println(); } }}2.参考程序publicclassBook{ publicstaticvoidmain(String[]args) { System.out.println("书店关系销售系统>客户信息管理"); System.out.println(); System.out.println("*****************************************"); System.out.println("\t\t\t1.显示所有客户信息"); System.out.println("\t\t\t2.添加客户信息"); System.out.println("\t\t\t3.添加客户信息"); System.out.println("*****************************************"); System.out.println("请选择,输入数字或者按'n'返回上一级菜单"); }}第二部分Java程序设计基础第3章课后习题参考答案一、选择题1.C2.D3.C4.D5.C6.D7.D8.A9.A10.D二、编程题1.示例程序如下:publicclassExercise01{ publicstaticvoidmain(String[]args){ Stringbrand="爱国者F928"; doubleweight=12.4; Stringtype="内置锂电池"; intprice=499; System.out.println("品牌(brand):"+brand); System.out.println("重量(weight):"+weight+"g"); System.out.println("电池类型(type):"+type); System.out.println("价格(price):"+price+"元"); }}2.示例程序如下:importjava.util.Scanner;publicclassExercise02{ publicstaticvoidmain(String[]args){ intnum1,num2,num3; intsum=0; doubleavg; Scannersc=newScanner(System.in); System.out.println("请输入第一个数:"); num1=sc.nextInt(); System.out.println("请输入第二个数:"); num2=sc.nextInt(); System.out.println("请输入第三个数:"); num3=sc.nextInt(); sum=num1+num2+num3; avg=sum/3.0; System.out.println("三个数的和为:"+sum); System.out.println("三个数的平均值为:"+avg); }}3.示例程序参考如下:importjava.util.*;publicclassExercise03{ publicstaticvoidmain(String[]args){ Scannerrd=newScanner(System.in); Stringa="T恤",b="网球鞋",c="网球拍"; doublea1,a2,b1,b2,c1,c2,zj,sj,zq; intjf; System.out.print("请输入购买T恤数量:"); a1=rd.nextDouble();System.out.print("请输入购买网球鞋数量:");b1=rd.nextDouble(); System.out.print("请输入购买网球拍数量:"); c1=rd.nextDouble(); a2=a1*245; b2=b1*570; c2=c1*320; zj=(a1*245+b1*570+c1*320)*0.8; System.out.println("*********消费单*********"); System.out.println("购买物品\t单价\t个数\t金额"); System.out.println(a+"\t"+"¥245\t"+a1+"\t"+a2); System.out.println(b+"\t"+"¥570\t"+b1+"\t"+b2); System.out.println(c+"\t"+"¥320\t"+c1+"\t"+c2);System.out.println(); System.out.println("折扣:8折"); System.out.println("消费总金额¥"+zj); System.out.print("请输入实际交费金额:"); sj=rd.nextDouble(); System.out.println("实际交费:¥"+sj); zq=sj-zj;System.out.println("找钱:¥"+zq);jf=(int)sj/100*3; System.out.println("本次购物所获积分是:"+jf); }}第4章课后习题参考答案一、分析程序,写出运行结果1.2.3.运行结果为:6。4.二、编程题1.示例程序如下:importjava.util.Scanner;publicclassExercise01{ publicstaticvoidmain(String[]args) { intnum1,num2,num3,max; Scannersc=newScanner(System.in); System.out.println("请输入任意三个整数:"); num1=sc.nextInt(); num2=sc.nextInt(); num3=sc.nextInt(); if(num1>num2) { max=num1; }else max=num2; if(max>num3) { System.out.println("三个数中最大值为:"+max); }else { System.out.println("三个数中最大值为:"+num3); } }}2.示例程序如下:importjava.util.Scanner;publicclassExercise02{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in);System.out.println("请输入一个三位整数:");intnum=sc.nextInt();intresult=0;while(true){intn=num%10;result=result*10+n;num=num/10;if(num==0){break;}}System.out.println(result); }}3.示例程序如下:publicclassExercise03{ publicstaticvoidmain(String[]args){ for(inti=100;i<=200;i++) { if(i%3!=0) { System.out.print(i+""); } } }}4.参考示例程序如下:publicclassExercise04{ publicstaticvoidmain(String[]args){ intyear=2014;intstudent=80000;while(student<200000){student=(int)(student*(1+0.25));year++;}System.out.println(year+"年,培训人数达到20万人");}}5.参考示例程序如下:publicclassExercise05{ publicstaticvoidmain(String[]args){ for(inti=1;i<=9;i++) { for(intj=1;j<=i;j++) { System.out.print(j+"*"+i+"="+i*j+"\t"); } System.out.println(); } }}第5章课后习题参考答案一、选择题1.C 2.C 3.B 4.C 5.A 6.A二、填空题1.StringStringBuffer2.35三、编程题1.参考示例程序如下:(以整型数组为例)importjava.util.Scanner;publicclassExercise01{ publicstaticvoidmain(String[]args){ int[]arr=newint[5]; Scannersc=newScanner(System.in); System.out.println("请输入"+arr.length+"个数组元素:"); for(inti=0;i<5;i++) { arr[i]=sc.nextInt(); } System.out.println("数组逆序输出为:"); for(inti=arr.length-1;i>=0;i--) { System.out.print(arr[i]+""); } }}2.参考示例程序如下:importjava.util.Scanner;publicclassExercise02{ publicstaticvoidmain(String[]args){ int[]arr=newint[5]; Scannersc=newScanner(System.in); System.out.println("请输入整型数组元素的值:"); intsum=0; doubleavg; for(inti=0;i<arr.length;i++) { arr[i]=sc.nextInt(); sum+=arr[i]; } avg=sum/arr.length; System.out.println("数组元素的和为:"+sum); System.out.println("数组元素的和为:"+avg); }}3.参考示例程序如下:publicclassExercise03{ publicstaticvoidmain(String[]args){ Stringstr="thisisaprogress"; System.out.println(str.split("\\s+").length); }}//\s+则表示匹配任意多个上面的字符第6章课后习题参考答案一、选择题1.A 2.D 3.C 4.D 5.C二、填空题1.类2.属性方法3.new4.Object5.构造方法6.protectedfriendlypublic7.Math.abs(n)Math.sqrt(n)Math.pow(x,y)三、判断题1.√ 2.× 3.× 4.√ 5.√ 6.√ 7.√8.×四、编程题1.参考示例程序如下:voidswap(intnum1,intnum2){ inttmp; tmp=num1; num1=num2; num2=tmp;}2.参考示例程序如下:classStudent{ longid; Stringname; intage; charsex; Stringphone; publicintgetAge(){ returnage; } publicchargetSex(){ returnsex; } publicStringgetPhone(){ returnphone; } publicStringtoString(Stringname,Stringphone) { returnname+":"+phone; } Student(longi,Stringn,inta,chars,Stringp) { id=i; name=n; age=a; sex=s; phone=p; }}第7章课后习题参考答案一、选择题1~5:BBAAD6~10:BACBA二、填空题1.super2.静态变量3.返回值类型4.package5.变量覆盖方法覆盖方法重载6.最终类最终方法最终变量7.publicprotected默认private8.publicprotected默认private三、判断题1.√ 2.× 3.√ 4.√ 5.√6.√ 7.√ 8.√ 9.× 10.×四、分析程序,写出运行结果1.2.五、编程题1.参考示例程序如下:publicclassCircleextendsS{ privatefinaldoublePI=3.14; publicCircle(doubler) { super(); super.r=r; } publicvoidarea() { System.out.println(r*r*PI); } publicstaticvoidmain(String[]args) { Circlec=newCircle(2.5); c.area(); }}classS{ doubler;}2.参考示例程序如下:publicclassShapeextendsAbstractShape{ publicdoublegetArea(doubler) { returnPI*r*r; } publicdoublegetGirth(doubler) { return2*PI*r; } @Override publicdoublegetArea(){ //TODOAuto-generatedmethodstub return0; } @Override publicdoublegetGirth(){ //TODOAuto-generatedmethodstub return0; }}abstractclassAbstractShape{ finaldoublePI=3.1415926; publicabstractdoublegetArea(); publicabstractdoublegetGirth();}3.参考示例程序如下:publicclassTestClass{ publicstaticvoidmain(String[]args){ Multiplicationml=newMultiplication(); inti=2,j=3; System.out.println(i+"与"+j+"的乘积为:"+ml.mul(i,j)); doublex=2.3,y=3.4,z=3.5; System.out.println(x+"与"+y+"的乘积为:"+ml.mul(x,y)); System.out.println(x+"与"+y+"与"+z+"的乘积为:"+ml.mul(x,y,z)); }}classMultiplication{ /*计算两个整形数的积*/ publicintmul(inti,intj) { returni*j; } /*计算两个浮点数的积*/ publicdoublemul(doublex,doubley) { returnx*y; } /*计算三个浮点数的积*/ publicdoublemul(doublex,doubley,doublez) { returnx*y*z; } }4.参考示例程序如下:interfaceshape{ publicdoublegetVolume(); }publicclassCylinderimplementsshape{ privatedoubleheight=2.4,r=3.2; privatefinaldoublePI=3.14; publicdoublegetVolume() { doublevolume; volume=PI*r*r*height; returnvolume; }}5.参考示例程序如下:Date类packagecom.DatePackage;publicclassDate{privateintyear,month,day;publicintgetYear(){ returnyear; } publicvoidsetYear(intyear){ this.year=year; } publicintgetMonth(){ returnmonth; } publicvoidsetMonth(intmonth){ this.month=month; } publicintgetDay(){ returnday; } publicvoidsetDay(intday){ this.day=day; } publicDate(inty,intm,intd) { year=y; month=m; day=d; } publicvoidshow() { System.out.println(year+"年"+month+"月"+day+"日"); }}测试类packagecom.TestPackage;importcom.DatePackage.Date;publicclassTestClass{publicstaticvoidmain(String[]args){ Datedate=newDate(2017,2,4); date.show(); }}第8章课后习题参考答案一、选择题1.B 2.A 3.AD 4.D 5.C二、简答题1.Exception类异常必须放在多重catch列表最后。2.2343.参考代码如下:publicclassTest{ publicstaticvoidmain(String[]args) { try{ int[]num=newint[1]; System.out.println(num[1]); }catch(ArrayIndexOutOfBoundsExceptione) { e.printStackTrace(); } } }4.答:从上述图示可以看到,Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为Error和Exception,分别表示错误和异常。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,也称之为不检查异常(UncheckedException)和检查异常(CheckedException)。5.参考示例程序如下:(1)引入log4j.jar包;(2)新建perties配置文件。配置文件代码:log4j.appender.file=org.apache.log4j.FileAppenderlog4j.appender.file.File=jbit.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss}%m%n%l%n(或参见课本156页的perties文件代码)测试文件代码:importorg.apache.log4j.Logger;importorg.apache.log4j.PropertyConfigurator;publicclassTest{ publicstaticvoidmain(String[]args) { Loggerlog=null;try{PropertyConfigurator.configure("bin/perties"); log=Logger.getLogger(Test.class.getName()); int[]num=newint[1]; System.out.println(num[1]); }catch(ArrayIndexOutOfBoundsExceptione) { log.warn("数组越界"); } } }第9章课后习题参考答案1.42.Reader类Writer类3.答:在Java语言中程序所完成的输入和输出操作是以“流”(Stream)的形式来实现的。流是在计算机的输入、输出操作中流动的数据序列。按流动方向分为输入流和输出流。4.(参考答案)过滤流不能直接跟文件打交道,只能通过节点流进行相关的操作。可以从其构造方法中看出:FilterOutputStream(OutputStreamout)需要传入一个OutputStream。在InputStream和OutputStream的子类中,FilterInputStream和FilterOutputStream是过滤流,其又派生出子类DataInputStream和DataOutputStream数据输入流和数据输出流。过滤流的主要特点是在输入输出数据同时对所传输的数据做指定类型或格式的转换。5.参考示例代码如下:importjava.io.*;publicclassExercises0905{ publicstaticvoidmain(String[]args) { StringinputString; intcount; byteinput[]=newbyte[256]; DataInputStreamstdin=newDataInputStream(System.in); BufferedInputStreambufin=newBufferedInputStream(stdin); DataOutputStreamstdout=newDataOutputStream(System.out); BufferedOutputStreambufout=newBufferedOutputStream(stdout); PrintStreamp=newPrintStream(System.out); try{ p.println("请输入字符串,以Enter结束:"); count=bufin.read(input); p.println("输入的字符串为:"); bufout.write(input,0,count); bufout.flush(); p.close(); stdin.close(); bufin.close(); stdout.close(); bufout.close(); }catch(IOExceptione) { System.out.println("I/O发生异常"); } }}6.参考示例程序如下:importjava.util.Scanner;publicclassSix{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); intenglish,comLang,sql,sum; System.out.println("请依次输入英语,计算机语言,数据库的成绩:"); english=in.nextInt(); comLang=in.nextInt(); sql=in.nextInt(); sum=english+comLang+sql; System.out.println("学生的成绩如下:"); System.out.println("英语:"+"\t\t\t"+english); System.out.println("计算机语言:"+"\t\t"+comLang); System.out.println("数据库:"+"\t\t\t"+sql); System.out.println("总成绩:"+"\t\t\t"+sum); }}7.参考示例程序如下:importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;publicclassSeven{ publicstaticvoidmain(String[]args){ Filefile=newFile("C:/config.sys"); bytebuff[]=newbyte[1024]; if(file.exists()){ System.out.println("文件存在,文件信息如下:"); try{ FileInputStreamfis=newFileInputStream(file); while(fis.read(buff)!=-1){ System.out.println(newString(buff)); } } catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); } } else System.out.println("文件不存在"); }}8.参考示例程序如下:importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.io.Serializable;importjava.util.Scanner;publicclassEight{ publicstaticvoidmain(String[]args)throwsIOException{ Student[]stu=newStudent[5]; Scannerin=newScanner(System.in); Filefile=newFile("D://STUDENT.DAT"); FileOutputStreamfos=newFileOutputStream(file); //将对象序列化为二进制文件 ObjectOutputStreamoos=newObjectOutputStream(fos); System.out.println("请输入五个学生的成绩:"); for(inti=0;i<stu.length;i++){ stu[i]=newStudent(); System.out.println("请依次输入第"+(i+1)+"个学生的学号,姓名,三科成绩:"); stu[i].setId(in.nextInt()); stu[i].setName(in.next()); stu[i].setResult_1(in.nextDouble()); stu[i].setResult_2(in.nextDouble()); stu[i].setResult_3(in.nextDouble()); stu[i].setSum(stu[i].getResult_1()+stu[i].getResult_2()+stu[i].getResult_3()); } oos.writeObject(stu); //关闭流 oos.close(); fos.close(); }}classStudentimplementsSerializable{//序列化的类必须实现这个接口 /** * */ privatestaticfinallongserialVersionUID=1L; privateintid; privateStringname; privatedoubleresult_1; privatedoubleresult_2; privatedoubleresult_3; privatedoublesum; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicdoublegetResult_1(){ returnresult_1; } publicvoidsetResult_1(doubleresult_1){ this.result_1=result_1; } publicdoublegetResult_2(){ returnresult_2; } publicvoidsetResult_2(doubleresult_2){ this.result_2=result_2; } publicdoublegetResult_3(){ returnresult_3; } publicvoidsetResult_3(doubleresult_3){ this.result_3=result_3; } publicdoublegetSum(){ returnsum; } publicvoidsetSum(doublesum){ this.sum=sum; }}9.参考示例程序如下:importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.ObjectInputStream;publicclassNine{ publicstaticvoidmain(String[]args)throwsIOException,ClassNotFoundException{ Filefile=newFile("D://STUDENT.DAT"); Student[]stu=newStudent[5]; FileInputStreamfis=newFileInputStream(file); ObjectInputStreamois=newObjectInputStream(fis); stu=(Student[])ois.readObject(); Studentmax=stu[0]; for(inti=0;i<stu.length;i++) if(max.getSum()<stu[i].getSum()) max=stu[i]; System.out.println("平均分最高的学生是:\n"+max.getId()+ "号学生,姓名是:"+max.getName()+"三科成绩:"+max.getResult_1()+"\t" +max.getResult_2()+"\t"+max.getResult_3()); ois.close(); }}10.参考示例程序如下:importjava.io.ObjectInputStream;publicclassTen{ publicstaticvoidmain(String[]args)throwsIOException,ClassNotFoundException{ Filefile=newFile("D://STUDENT.DAT"); Student[]stu=newStudent[5]; FileInputStreamfis=newFileInputStream(file); ObjectInputStreamois=newObjectInputStream(fis); stu=(Student[])ois.readObject(); for(inti=0;i<stu.length;i++){ for(intj=i;j<stu.length;j++){ if(stu[i].getSum()<stu[j].getSum()){ Studentswap=newStudent(); swap=stu[i]; stu[i]=stu[j]; stu[j]=swap; } } } for(inti=0;i<3;i++){ System.out.println(stu[i].getId()+"\t"+stu[i].getName()+"\t"+stu[i].getSum()); } }}第10章课后习题参考答案一、选择题1.DBECFA2.CEABD3.C二、简答题1.答:第一与数据库建立连接;第二向数据库发送SQL语句;第三处理数据库返回结果。具体步骤如下:第一步:向驱动程序管理器加载、注册JDBC驱动程序。第二步:获得特定的数据库连接。第三步:得到SQL语句容器,并发送SQL语句。第四步:如果SQL语言有结果集返回的话,处理结果集。第五步:关闭数据库连接,这一步非常重要,因为数据库连接是一种非常宝贵的资源,在使用完毕后,必须关闭数据库连接,应放在finally语句中。2.答:调用该访问返回一个以字符串指定类名的类的对象。3.答:Statement对象用于执行不带参数的简单SQL语句;PreparedStatement对象用于执行带或不带IN参数的预编译SQL语句;4.答:为了确保JDBC资源不在出现异常或错误等情况下被不正常关闭,我们应该在使用完JDBC资源之后关闭且释放它们。JDBC

温馨提示

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

评论

0/150

提交评论