实验一熟悉Java开发环境一、实验目的了解JDK的安装和使用,练习在DOS环境下Javaapplication和Javaapplet的编译和运行。二、实验要求1、本实验属于验证型实验;2、上机验证给出的程序,并回答实验过程中的问题;3、完成实验报告。三、实验内容与过程1、下载并安装JDK,假设当前操作平台是windows。1)在网页,进入链接“GettheJDKdownload”,找到WindowsPlatform,下载“jdk-1_5_0_09-windows-i586-p.exe”软件包。2)直接执行下载的.exe文件,按照提示进行安装,设置安装路径为c:\jdk1.5。2、设置JDK环境变量JDK中的工具都是命令行工具,需要从命令行即MS-DOS提示符下运行它们。要想不需输入路径就可使用javac.exe,java.exe这些命令,必须进行环境变量PATH的设置;同时设置CLASSPATH,让Java执行环境能找到指定的.class文件。1)Windows2K/XP下PATH和CLASSPATH的设置步骤如下:(1)右击“我的电脑”,在弹出的快捷采单中选择“属性”,然后依次单击:高级-环境变量-新建(系统变量栏);在变量名中输入:JAVA_HOME,变量值中输入:c:\jdk1.5;然后单击“确定”(2)再单击“新建”,在变量名中输入:CLASSPATH,变量值中输入:.;%JAVA_HOME%\lib\rt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre;然后单击“确定”。(3)编辑变量名PATH,在变量值中加入:%JAVA_HOME%\bin;然后单击“确定”。配置完毕,不用重新启动计算机,环境变量设置即刻有效。2)WIN98环境下PATH和CLASSPATH的设置需要修改系统根目录下的autoexec.bat文件。使用记事本或任何文本编辑器打开autuexec.bat,在该文件的最后增加如下两行:SETPATH=%PATH%;c:\jdk1.5\binSETCLASSPATH=.;c:\jdk1.5\lib重新启动计算机后,设置有效。3、编写、编译与运行Java程序importjava.io.*;publicclassMyFirstJava{publicstaticvoidmain(Stringargs[]){System.out.println(“Hello,JavaWorld!”);}}步骤:(1)用编辑工具编写MyFirstJava.java;(2)在DOS提示符下键入:javacMyFirstJava.java编译源程序;(3)在DOS提示符下键入:javaMyFirstJava运行源程序。问题:1)如果将3中,importjava.io.*;去掉,会产生什么编译错误?2)如果将3中,publicclassMyFirstJava;语句的public去掉,可以吗?3)如果将publicstaticvoidmain(Stringargs[])语句中的static去掉,编译能通过吗?4、编写、编译与运行Java小程序importjava.awt.Graphics;importjava.applet.Applet;publicclassMyFirstAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString(“Hello,JavaAppletWorld!”,20,40);}}步骤:(1)编辑工具编写MyFirstJava.java;(2)在DOS提示符下键入:javacMyFirstApplet.java编译源程序;(3)用编辑工具编写firstapplet.htmlHTMLHEADTITLEjava2/TITLE/HEADBODYappletcode=MyFirstApplet.classwidth=800height=400/applet/BODY/HTML(4)在DOS提示符下键入:appletviewerfirstapplet.html浏览程序运行结果。问题:4)如果将4中,publicclassMyFirstAppletextendsApplet语句的extendsApplet去掉,编译会有什么错误?5)修改语句g.drawString(“Hello,JavaAppletWorld!”,20,40);中的20,40为60,80看看结果有何变化,理解drawString()的意义。四、实验小结1、理解实验结果,回答实验内容中的问题;2、通过完成上述实验内容,你对Java开发环境的掌握程度如何?是否能独立编写简单的Javaapplication与Javaapplet?3、对上述实验内容进行小结,完成实验报告。五、思考与练习1、编写Java程序,在屏幕上询问“Howareyou?”,回答“I’mfine.Thankyou!”。编写Java小程序,参考上述Javaapplet例程,在屏幕中央输出两行语句“Hello,China!”和“Hello,Asia!”。实验二Java基本数据类型和表达式一、实验目的掌握Java关键字和标识符定义,熟练简单数据类型的定义和引用,理解基本数据类型变量的赋值、数据类型之间的转换,掌握各种运算符和表达式的使用及运算符的优先级。二、实验要求1、本实验属于验证型和设计型实验。需要根据已给的源程序运行结果,并结合问题进行新的设计;2、对实验过程中提出的问题进行解答;3、完成实验报告。三、实验内容与过程1、分析并运行下面的程序。代码:publicclassscore{finaldoublea=8.5;publicstaticvoidmain(Stringargs[]){intb=12,c=25;doubleaver=(a+b+c)/3;doubled=(int)a*b*c;System.out.println(“aver=”+(int)aver,”d=”+d);}}问题:1)程序运行结果是什么?程序有何功能?2)程序中用到了哪些关键字、变量、运算符?2、编写程序,打印出命令行参数和(假定它们都是数字)。例如:javaAdder52–6.5代码:publicclassAdder{publicstaticvoidmain(Stringargs[]){inta=Integer.parseInt(args[0]);intb=Integer.parseInt(args[1]);doublec=Double.parseDouble(args[2]);doubles=a+b+c;System.out.println(s=+s);}}问题:3)如果输入javaAdder5.32-6.5,程序如何修改?3、编写程序,输出定义变量的系统默认值和最大值、最小值。代码:classdefaultPrint{charch;inti;floatfl;Stringss;booleanbl;voidprintDefault(){System.out.println(字符型默认值=+ch);System.out.println(整型默认值=+i+\t整型的最大值+Integer.MAX_VALUE+”\t整型的最小值”+Integer.MIN_VALUE);System.out.println(浮点型默认值=+fl+\t浮点型的最大值+Float.MAX_VALUE+”\t浮点型的最小值”+Float.MIN_VALUE);System.out.println(布尔型默认值=+bl);System.out.println(“字符串型默认值=”+ss+”\t默认值长度=”+ss.length());}publicclassDefaultValue{publicstaticvoidmain(Stringargs[]){defaultPrintdp=newdefaultPrint();dp.printDefault();}}问题:4)上述程序基础上,修改程序,输出数据类型byte、long和double的默认值、最大值、最小值。5)程序中转义字符\t分别换成\n、\\、\’’,观察程序运行结果。4、分析并运行下面的程序代码://importjava.io.*;classexpressinOther{publicstaticvoidmain(Stringargs[]){//expressionOthereo=newexpressionOther();finallongl=33l;inti=2;charch='a';booleanbl;floatf=3.0f;intx=5,y=6,z=7;intii=ch+i;intn=(int)Math.sqrt(number);doubled=19%4-i++;floatf=(float)(l-x-i);longm=l-(int)f/(x+y)*i%(int)d;bl=m=z;booleanbbl=(x=y)&&(y+z=x)||!bl;System.out.println(a=+n+\tx=+x+\td=+d);System.out.println(f=+f+\tii=+ii+\tbl=+bl+”\tbbl=”+bbl);System.out.println(x^y=+(x^y)+\tx|y=+(x|y));}}问题:6)final在数据对象定义中有何作用?如果将floatf=3.0f;前面加上final,会有什么错误?7)如果将程序中finallongl=33l;floatf=3.0f;后面的l、f分别去掉,可以吗?8)程序中有哪些类型转换语句?对于其中的强制类型转换,如果不用,如何修改程序仍然能够正确运行?9)列出相关表达式的运算级别。10)不运行程序,手工计算运行结果,再与上机测试结果验证。四、实验小结1、理解实验结果,回答实验内容中的问题;2、通过完成上述实验内容,你对Java基本数据类型、类型转换、运算符和表达式的掌握程度如何?是否能够运行Java程序进行简单的算术运算和逻辑运算?3、对上述实验内容进行小结,完成实验报告。五、思考与练习1、编写程序,完成以下功能。体会其中的赋值方式和类型转换。1)a=10,b=5,c=4,p=2.8,q=3.5,计算下面表达式的值:p+(double)a/q;p+a/q;(int)p+(int)q;(int)p+q;2)将a,b,c相加并赋值给一个已有初值0.0的浮点型变量s,输出s。2、编写程序,从键盘接收三个正整数,分别输出这三个数的平方根及三个数的平方和。4、编写一个程序,输入一个秒数,并将其以时、分、秒的形式输出(提示:使用整除)。建立一组测试数据来测试该程序。实验三使用类和对象编程一、实验目的理解类的定义;理解实例变量与类变量的定义;掌握类的定义;熟悉类的简单应用二、实验要求1.根据实验内容,调式运行程序,指出其运行结果。2.根据实验内容,修改有错误的程序。3.完成实验报告。三、实验内容与过程1、上机运行下面的程序,看看其编译结果。publicclassExcise6_2{publicstaticvoidmain(Stringargs[]){finalintvalue=100;value=200;System.out.println(“变量value的值为:”+value);}}问题:(1)程序的编译结果是什么?为什么?(2)Java中如何定义常量?2、阅读下面的程序回答问题。publicclassExcise6_3{inti;publicvoidExcise6_3(inti){this.i=i;System.out.println(“******构造方法******”);}publicstaticvoidmain(Stringarg[]){Excise6_3e=newExcise6_