Java实验(一)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习(三)--作业
编写一个线段类 MyLine,要求如下: 主要属性有: e1,e2 端点,类型为Point 编写构造方法,如(Point p1 , Point p2) 编写成员方法。如:
• • • •

检查线段是否位于第一象限check… 求线段的长度 length() … 判断两条线段(非延长线)是否相交(另一线段作为参数)。 求一点到该线段(或延长线)的距离
Java实验
任课教师:刘明铭 电子邮箱:liumingming@nankai.edu.cn
2014-9-3
南开大学软件学院
1
实验内容
一. 二. 三.
四.
Java编译环境安装及使用 Applet特性及应用 Java中内存模型及参数传递方式 Jdk5.0中扩展的特性
For each循环语句(《疯狂java讲义》p91) 可变长度的形参(《疯狂java讲义》p120)

对象类型(复合 类型):按地址 传输
南开大学软件学院
2014-9-3
16
对象内存模型


堆栈(stack)内存总是向一个方向增长 或相反方向减少。即先入后出。这个内 存区用于存放方法和块中声明的局部变 量。 堆(heap) 内存区用于对象的存 储内存。
பைடு நூலகம்
2014-9-3
南开大学软件学院
17
class TextField { TextField (String str,int i) {……} }
Checkpoint 1
Stack
heap
2014-9-3
Checkpoint 3 Checkpoint 2 Stack heap Stack heap t1:null void m1(){ Checkpoint 4 t3:null int v1=1; “H v1:1 TextField t1; //checkpoint #1 t1: i” v3:4 Stack heap 3 t1=new TextField("Hi",3); //checkpoint #2 v1:1 t2 t3 m2(v1,t1); Checkpoint 5 “ H “ H v2:1 v1=8; //checkpoint #5 v3:4 o” i” 6 t1: 3 } Stack heap t2 v1:1 “H v2:7 void m2(int v2,TextField t2) “H i” { t1: o” 3 6 int v3=4; v1:1 TextField t3; //checkpoint #3 “H t3=new TextField("Ho",6); i” t1: 3 v2=7; //checkpoint #4 } v1:8
2014-9-3
南开大学软件学院
4
熟悉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 comment public static void main(String args[]){ /*javadoc will also ignore this comment.*/ System.out.print("JDK Test Drive"); }
• 画实心矩形,参数含义(x,y,width,height)
2014-9-3
其它参考帮助文档
南开大学软件学院
12
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); } }
2014-9-3
南开大学软件学院
13
Applet特性及创建
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..."); }
南开大学软件学院
2014-9-3
. Applet
生存周期
14
Applet特性及创建
三 关 于
void addItem(String newWord) { System.out.println(newWord); buffer.append(newWord); repaint(); } public void paint(Graphics g) { //Draw a Rectangle around the applet's 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);
南开大学软件学院 18
练习(一)
1. 编写一个Application,在屏幕上显示如下的信息: ******************************* Welcome <你的姓名> ******************************* 2.把上题改写为Applet。 3. 编写程序,显示2~100中的质数,每行显示5个数字
编写测试程序
• 用户输入线段的两点坐标构造一个线段 • 用户选择需要执行已编写的哪种方法(判断是否相交) • 根据用户选择的方法要求用户输入点的坐标,或者线段的两 2014-9-3 点坐标,并反馈给用户结果。 21 南开大学软件学院
参考
5
}
2014-9-3
南开大学软件学院
熟悉JDK


一.熟悉JDK,建立应用程序(续)
使用“javac TestDrive.java” 编译。
加入-verbose选项,观察编译需要的类以及时间
使用“java TestDrive ”运行该程序。
加入-prof选项,生成java.prof文件,观察调用过程的次数以及时 间。可以利用这些信息来优化程序。 “80/20”规则:80%的执行时间花费在20%的程序代码上。
2014-9-3
南开大学软件学院
11
Graphics 对象的一些方法

setColor(Color c);
• 设置画笔的颜色

setFont(Font f);
• 设置画笔的字体

drawRect(int,int,int,int);
• 画空心矩形,参数含义(x,y,width,height)

fillRect(int,int,int,int);
2014-9-3
南开大学软件学院
7
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
2014-9-3
南开大学软件学院
19
练习(二)

题目:
• 以applet的形式画出当月日历

要求
• 画出的格式大家可以自由发挥 • 当前日期一定要采用和其它日 期不同的颜色 • 日期一定要对整齐

附加要求
• 参考applet tag.pdf使日历的 显示更加灵活
2014-9-3
南开大学软件学院
20
使用“javadoc TestDrive.java” 生成自动编码的HTML文档。 所有的文档都可以使用标准Web浏览器阅读
2014-9-3
南开大学软件学院
6
Applet特性及创建


二.熟悉JDK,建立Applet
HTML文件 Hello.html
<HTML> <HEAD> <TITLE>A Simple Program</TITLE> </HEAD> <BODY> Here is the output of my program: <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML>
2014-9-3
南开大学软件学院
8
Applet的编写

必须采用下面的格式
• import java.applet.*; • public class HelloWorld extends Applet {

Applet类继承
2014-9-3
南开大学软件学院
9
主要的Applet方法

init()
• 创建applet时执行 • 可以用来初始化一些对象和数据
2014-9-3
. Applet 更 多 话 题
}
}
生存周期
南开大学软件学院 15
参数传递模式

主类型:按值传 输
• 包括String及 Integer等主类型 类对象
boolean char
Boolean Character
byte
short int long float double
Byte
Short Integer Long Float Double

start()
• 在init()之后执行,init和start都是在applet在 浏览器显示applet之前执行

stop()
• 在applet invisible之前执行
2014-9-3
南开大学软件学院
10
主要Applet方法

public void paint(Graphics g)
• 第一次显示applet时执行 • 浏览器遗失焦点以后再次获得焦点以后执行 • 使用对象Graphics g在applet中画出图形。
配置 桌面上选择“我的电脑”(右键) > 高级 > 环境变量 在“系统变量”--->“新建” 在变量名中输入:CLASSPATH,变量值中 输入:.; C:\java \LIB\dt.JAR; C:\java \LIB\TOOLS.JAR; Path变量中增加以上数值C:\java \BIN JAVA_HOME 数值 C:\java
1. 2.
2014-9-3
南开大学软件学院
2
熟悉JDK

目的:熟悉java编译环境及程序类型 实验内容:
1. 利用JDK,建立应用程序 2. 完成实验课作业

作业完成: 源代码,程序说明,运行结果
2014-9-3
南开大学软件学院
3
熟悉JDK


一.熟悉JDK,建立应用程序
JDK(Java Development Kit )是一切java应用程序的基础。所有的java应 用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。 下载地址为JAVA官方站点:java.sun.com。 Windows下,直接运行.exe文件,安装到一个目录,C:\java
相关文档
最新文档