课程:Java程序设计 班级: 1352
姓名:程涵 学号:20135210
成绩: 指导教师:娄嘉鹏 实验日期:2015.04.17
实验密级: 预习程度: 实验时间:15:30~18:00
仪器组次: 必修/选修:选修 实验序号:1
实验名称:Java开发环境的熟悉
实验目的与要求:
在命令行和Eclipse下编辑、编译、运行、调试简单的Java程序
实验仪器:
名称 | 型号 | 数量 |
PC | Macbook Air | 1 |
|
|
|
一、实验内容:
1、命令行下Java程序开发
2、Eclipse下Java程序开发、调试
二、实验过程:
(一)命令行下Java程序开发
1.打开终端
2.输入命令进入实验目录
3.输入mkdir 20135100 命令建立实验目录,注意目录名是自己的学号,可以使用ls命令或dir命令查看建立的目录情况
4.输入cd 20135210命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径
5.输入gedit Hello.java(注意把代码保存到exp1目录中)
6.输入javac -d . Hello.java命令编译代码,输入java Clare.Hello命令运行 程序。
另外注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。 注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类。
(二)Eclipse下Java程序开发、调试
1.在终端窗口中输入eclipse,进入eclipse界面;
2.依次打开“file--new--java project”,在弹出的对话框里的project name中填写HelloClare,点击“finish”;
3.依次打开“file--new--class”,在弹出的对话框中,package栏里输入包名:clare,在Name栏里填写类名HelloClare,注意下图中的勾选
3.根据题目输入代码:
package clare;
public class HelloClare {
public static void main(String[] args) {
int i=5;
int j=6;
int sum=add(i,j);
System.out.println(sum);
sum=0;
for(i=0;i<100;i++)
sum+=i;
System.out.println(sum);
}
public static int add(int augend, int addend){
int sum = augend + addend;
return sum;
}
}
4.单击运行按钮,就可以在控制台(Console)中看到运行结果。
5.练习调试程序,首先我们通过单击Window->Open Perspective->Debug打开调试视图。
6.调试程序首先要会设置断点和单步运行。
7.单步执行效率比较慢,如果我们感觉到第6行到第10行的代码没有问题了,想让程序直接运行到第11行,怎么办?首先我们要在第11行设置断点,然后单击Resume图标(快捷键F8)。
8.单步执行效率比较慢还导致另外一个问题,比如一个大循环中间出了问题怎么办?这时可以通过条件断点解决问题。调试循环代码时,会有一个值我们特别关注,这时在Variable标签中查看变量的值,比如我们此时比较关注sum,每次单步执行都可以看到sum的变化情况了,
设置条件断点,我们在第11行左边单击鼠标右键,选择Breakpoint Properties...
(三)练习(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在Eclipse下练习调试程序)
1. 实现凯撒密码,并进行测试。
(1)命令行运行结果
(2)eclipse运行结果
(四)
实验一:
因使用的是Mac的OS系统,命令行的执行语句与Linux、Windows都有不同之处,经过百度之后,再根据教学图片的结合,最后调试出命令行。
实验二:
经过实验,对于eclipse使用更加的了解,并且对于断点有了新的理解,可以更加熟练地调试程序。
实验三:
经过百度,了解了凯撒密码的历史和由来。编写程序的过程比较艰难,但当程序在命令行中编译成功时,喜悦之情溢于言表。
(五)
实验体会:多次尝试使用实验楼环境进行实验,但都失败,提示“系统资源不足”。
但因为我的电脑是Mac的OS系统,操作起来和Windows不一样,偶尔用同学的电脑进行编译,也能让我在不同的系统环境下进行Java的练习。
每一个系统环境的语言习惯都不同,通过百度搜索,我了解到了有关OS系统下命令行的执行语句习惯用法,对OS系统有了更深刻的了解。同时,通过老师的Linux系统下的截图,也大致的了解了Linux系统下的命令行界面。
平常编Java程序时都是使用Sublime_Text2,但因为Sublime的直接编译功能出错,只能从命令行中进行编译。这一次体会了eclipse直接进行编译,体会到eclipse的方便。