实验一 Java开发环境的熟悉
北京电子科技学院(BESTI)
实 验 报 告
课程:Java程序设计 班级:1352 姓名:林涵锦 学号:20135213
成绩: 指导教师:娄嘉鹏 实验日期:2015.4.11
实验密级: 预习程度: 实验时间:19:30~21:50
仪器组次: 必修/选修:选修 实验序号:1
实验名称: JAVA开发环境的熟悉
实验目的与要求:
1. 使用JDK编译、运行简单的Java程序。
2.在命令行和Eclipse下编辑、编译、运行、调试简单的Java程序。
3.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》课程。
实验仪器:
名称 |
型号 |
数量 |
PC |
Acer |
1 |
虚拟机 |
实验楼 |
1 |
实验内容
1. 使用JDK编译、运行简单的Java程序
2.使用Eclipse 编辑、编译、运行、调试Java程序
实验知识点
1. JVM、JRE、JDK的安装位置与区别;
2. 命令行运行javac,java;javac -cp; java -cp;
3. PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
4. 包管理:package;import;javac -d ;
5. Eclipse(Netbeans)管理Java项目,调试:断点、单步执行等;
6. Java基础语法:类型与类型转换;变量;运算符;流程控制等;
7. JDK帮助文档的使用;
实验步骤
(一)命令行下Java程序开发
首先双击桌面上的Xface终端图标,如下图所示:
打开终端(类似Windows下的cmd),之后会自动运行shell程序,如下图所示:
输入cd Code命令进入Code(注意C要大写)目录,如下图所示:
输入mkdir 20135100 命令建立实验目录,注意目录名一定是自己的学号(学号要体现在实验报告截图中),可以使用ls命令或dir命令查看建立的目录情况。如下图所示:
输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径,如下图所示:
输入gedit Hello.java(注意把代码保存到exp1目录中)或vim Hello.java(建议大家花点时间学习一下Vim)编辑Hello.java,并输入以下代码:
1 package ljp; 2 import java.util.Scanner; 3 public class Hello{ 4 public static void main(String[] args){ 5 System.out.println("Input your first name, please:"); 6 Scanner s = new Scanner(System.in); 7 String name = s.next(); 8 System.out.println("Hello " + name + " !"); 9 } 10 }
注意代码的第一行,这会影响到我们使用javac编译代码的方式。 注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类(你可以暂时理解为C语言中include的功能),导入路径可以查看JDK帮助文档,比如我们使用到了Scanner类,路径见下图中红框: 7.输入javac -d. Hello.java命令编译代码,输入java ljp.Hello命令运行 程序。结果如下图所示: 注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。
(二)Eclipse下Java程序开发、调试
在命令行中输入eclipse命令并回车或单击桌面上的Eclipse EE图标打开Eclipse,如下图所示:
在Eclipse中单击File->New-> Java Project新建Java项目,如下图所示:
输入项目名称HelloJDB(你可以自己起名),并单击Finish按钮完成新建项目,如下图所示
在Eclipse中单击File->New->Class新建Java类,如下图所示:
5.根据Java代码规范输入包名ljp(小写),类名HelloJDB(单词首字母大写),并勾选上自动产生main函数选项,最后单击Finish按钮,如下图所示:
6.输入如下代码:
1 package ljp; 2 public class HelloJDB { 3 public static void main(String[] args) { 4 int i = 5; 5 int j = 6; 6 int sum = add(i, j); 7 System.out.println(sum); 8 9 sum = 0; 10 for(i=0; i< 100; i++) 11 sum += i; 12 13 System.out.println(sum); 14 } 15 16 public static int add(int augend, int addend){ 17 int sum = augend + addend; 18 return sum; 19 } 20}
7.单击运行按钮(或使用Ctrl+F11快捷键),就可以在控制台(Console)中看到运行结果。如下图所示: 8.下面我们练习调试程序,首先我们通过单击Window->Open Perspective->Debug打开调试视图,如下图所示:
9.调试程序首先要会设置断点和单步运行。设置断点比较简单,如下图所示: 然后单击调试按钮(或使用F11快捷键)开始调试Java程序,我们可以看到程序停留在了第4行,如下图所示: 注意,此时第4行代码并没有执行,我们可以把鼠标放到变量名上来查看变量的值,此时i的值并不是5,我们通过单步运行让程序运行到第5行,单步运行有两种:Step Into(快捷捷F5)和Step Over(快捷捷F5),这两种单步运行功能在运行语句时没有区别,在执行函数调用语句时,Step Into会跳入函数实现,Step Over会直接执行完函数,实际使用中我们优先使用Step Over,只有函数执行出错了,说明程序问题在被调用函数中,这时再回来通过Step Into进入函数进行调试。我们单击一下Step Over图标(或F6),程序停在了第5行,这时查看变量i的值,会看到i等于5。如下图所示:
10.单步执行效率比较慢,如果我们感觉到第6行到第10行的代码没有问题了,想让程序直接运行到第11行,怎么办?首先我们要在第11行设置断点,然后单击Resume图标(快捷键F8),程序就运行到了第11行,如下图所示:
11.单步执行效率比较慢还导致另外一个问题,比如一个大循环中间出了问题怎么办?这时可以通过条件断点解决问题。调试循环代码时,会有一个值我们特别关注,这时在Variable标签中查看变量的值,比如我们此时比较关注sum,每次单步执行都可以看到sum的变化情况了,
设置条件断点,我们在第11行左边单击鼠标右键,选择Breakpoint Properties...如下图所示:
我们设置条件“i==50”,如下图所示:
按一下F8,我们可以查看i的是50了。如下图所示:
这个图片只截在了实验楼里。
(三)练习(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在Eclipse下练习调试程序)
4. 实现学生成绩管理功能,并进行测试。
三、实验分析
1、我的PSP时间
步骤 |
耗时 |
百分比 |
需求分析 |
10 |
10% |
设计 |
10 |
10% |
代码实现 |
40 |
40% |
测试 |
25 |
25% |
分析总结 |
15 |
15% |
2、遇到问题与解决方法:
1.寻找各种图标,因为图标较小,难以找到。
解决:使用快捷键
2.粘贴失败
解决:找到剪贴板
3.花了很长时间找到设断点的地方
解决:快捷键加百度