资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2017/12/30,南开大学软件学院,1,Java实验,任课教师:刘明铭电子邮箱:liumingmingnankai.edu.cn,2017/12/30,南开大学软件学院,2,实验内容,Java编译环境安装及使用Applet特性及应用Java中内存模型及参数传递方式Jdk5.0中扩展的特性For each循环语句(疯狂java讲义p91)可变长度的形参(疯狂java讲义p120),2017/12/30,南开大学软件学院,3,目的:熟悉java编译环境及程序类型实验内容:利用JDK,建立应用程序完成实验课作业作业完成: 源代码,程序说明,运行结果,熟悉JDK,2017/12/30,南开大学软件学院,4,熟悉JDK,一.熟悉JDK,建立应用程序,JDK(Java Development Kit )是一切java应用程序的基础。所有的java应 用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。下载地址为JAVA官方站点:java.sun.com。 Windows下,直接运行.exe文件,安装到一个目录,C:java配置 桌面上选择“我的电脑”(右键) 高级 环境变量 在“系统变量”-“新建” 在变量名中输入:CLASSPATH,变量值中输入:.; C:java LIBdt.JAR; C:java LIBTOOLS.JAR; Path变量中增加以上数值C:java BINJAVA_HOME 数值 C:java,2017/12/30,南开大学软件学院,5,熟悉JDK,一.熟悉JDK,建立应用程序(续),测试JDK,观察程序代码的编译、执行、文档生成以及与C语言的接口使用NotePad或者其他文本编辑器生成Java源程序 /* TestDrive - A test file for demonstration of the JDK. */ public class TestDrive/* This method is called first by the Java interpreter. *It prints a message to the console. */javadoc will ignore this commentpublic static void main(String args) /*javadoc will also ignore this comment.*/ System.out.print(JDK Test Drive);,2017/12/30,南开大学软件学院,6,熟悉JDK,一.熟悉JDK,建立应用程序(续),使用“javac TestDrive.java” 编译。 加入verbose选项,观察编译需要的类以及时间使用“java TestDrive ”运行该程序。 加入prof选项,生成java.prof文件,观察调用过程的次数以及时间。可以利用这些信息来优化程序。“80/20”规则:80的执行时间花费在20的程序代码上。使用“javadoc TestDrive.java” 生成自动编码的HTML文档。所有的文档都可以使用标准Web浏览器阅读,2017/12/30,南开大学软件学院,7,Applet特性及创建,二.熟悉JDK,建立Applet,HTML文件 Hello.html, A Simple Program Here is the output of my program: ,2017/12/30,南开大学软件学院,8,Applet特性及创建,An applet is a Java class that you can embed in an HTML page, and is downloaded and executed by a Web browser.Loading an applet,2017/12/30,南开大学软件学院,9,Applet的编写,必须采用下面的格式import java.applet.*;public class HelloWorld extends Applet Applet类继承,2017/12/30,南开大学软件学院,10,主要的Applet方法,init()创建applet时执行可以用来初始化一些对象和数据start()在init()之后执行,init和start都是在applet在浏览器显示applet之前执行stop()在applet invisible之前执行,2017/12/30,南开大学软件学院,11,主要Applet方法,public void paint(Graphics g)第一次显示applet时执行浏览器遗失焦点以后再次获得焦点以后执行使用对象Graphics g在applet中画出图形。,2017/12/30,南开大学软件学院,12,Graphics 对象的一些方法,setColor(Color c);设置画笔的颜色setFont(Font f);设置画笔的字体drawRect(int,int,int,int); 画空心矩形,参数含义(x,y,width,height)fillRect(int,int,int,int);画实心矩形,参数含义(x,y,width,height)其它参考帮助文档,2017/12/30,南开大学软件学院,13,Applet特性及创建,二.熟悉JDK,建立Applet,Java类文件HelloWorld.java,import java.applet.*; import java.awt.*; /* The HelloWorld class implements an applet that *simply displays Hello World!. */ public class HelloWorld extends Applet public void paint(Graphics g) / Display Hello World! g.drawString(Hello world!, 50, 25); ,2017/12/30,南开大学软件学院,14,import java.applet.Applet;import java.awt.Graphics;public class Simple extends Applet StringBuffer buffer; public void init() buffer = new StringBuffer(); addItem(initializing. ); public void start() addItem(starting. ); public void stop() addItem(stopping. ); public void destroy() addItem(preparing for unloading.); ,三.关于Applet更多话题,生存周期,Applet特性及创建,2017/12/30,南开大学软件学院,15,三.关于Applet更多话题,void addItem(String newWord) System.out.println(newWord); buffer.append(newWord); repaint(); public void paint(Graphics g) /Draw a Rectangle around the applets display area. g.drawRect(0, 0, size().width - 1, size().height - 1); /Draw the current string inside the rectangle. g.drawString(buffer.toString(), 5, 15); ,生存周期,Applet特性及创建,2017/12/30,南开大学软件学院,16,参数传递模式,主类型:按值传输包括String及Integer等主类型类对象对象类型(复合类型):按地址传输,2017/12/30,南开大学软件学院,17,对象内存模型,堆栈(stack)内存总是向一个方向增长或相反方向减少。即先入后出。这个内存区用于存放方法和块中声明的局部变量。堆(heap) 内存区用于对象的存储内存。,2017/12/30,南开大学软件学院,18,class TextField TextField (String str,int i)void m1() int v1=1; TextField t1; /checkpoint #1 t1=new TextField(Hi,3); /checkpoint #2 m2(v1,t1); v1=8; /checkpoint #5void m2(int v2,TextField t2) int v3=4; TextField t3; /checkpoint #3 t3=new TextField(Ho,6); v2=7; /checkpoint #4,2017/12/30,南开大学软件学院,19,1. 编写一个Application,在屏幕上显示如下的信息:* Welcome *2.把上题改写为Applet。,3. 编写程序,显示2100中的质数,每行显示5个数字,练习(一),2017/12/30,南开大学软件学院,20,练习(二),题目:以applet的形式画出当月日历要求画出的格式大家可以自由发挥当前日期一定要采用和其它日期不同的颜色日期一定要对整齐附加要求参考applet tag.pdf使日历的显示更加灵活,2017/12/30,南开大学软件学院,21,练习(三)-作业,编写一个线段类 MyLine,要求如下:主要属性有: e1,e2 端点,类型为Point编写构造方法,如(Point p1 , Point p2)编写成员方法。如:检查线段是否位于第一象限check求线段的长度 length() 判断两条线段(非延长线)是否相交(另一线段作为参数)。求一点到该线段(或延长线)的距离编写测试程序用户输入线段的两点坐标构造一个线段用户选择需要执行已编写的哪种方法(判断是否相交)根据用户选择的方法要求用户输入点的坐标,或者线段的两点坐标,并反馈给用户结果。,2017/12/30,南开大学软件学院,22,参考,读取控制台输入 BufferedReader br = new BufferedReader( new InputStreamReader(System.in); String s; try while(s = br.readLine() != null) System.out.println(s); catch (Exception e) ,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号