实验一 Java开发环境的熟悉

北京电子科技学院(BESTI)

              

课程:Java程序设计  班级:1352  姓名:林涵锦  学号:20135213

成绩:               指导教师:娄嘉鹏     实验日期:2015.4.14

实验密级:      预习程度:        实验时间: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,并输入以下代码:

package ljp;
import java.util.Scanner;
public class Hello
{
public static void main(String[] args)
{
System.out.println("Input your first name, please:");
Scanner s = new Scanner(System.in);
String name = s.next();
System.out.println("Hello " + name + " !");
}
}

注意代码的第一行,这会影响到我们使用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.输入如下代码:

package ljp;

public class HelloJDBe

{

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; 18 return sum;

}

}

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两种方式实现,自己的学号后两位与题目总数取余的结果就是自己要完成的题号,在Eclipse下练习调试程序)

3.斐波那契数列:

代码:

运行结果:

三、实验分析

1、我的PSP时间

步骤

耗时

百分比

需求分析

5

10%

设计

5

10%

代码实现

25

50%

测试

10

10%

分析总结

5

10%

2、遇到问题与解决方法:

(1)寻找各种图标,因为图标较小,难以找到。

    解决:使用快捷键

(2)粘贴失败

    解决:找到剪贴板

(3)花了很长时间找到设断点的地方

    解决:快捷键加百度

(4)实验楼只能截四张图,所以存图较少

    解决:下次注意自己截图保存

java的第一个实验的更多相关文章

  1. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  2. 20162330 实验二 《Java面向对象程序设计》 实验报告

    2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验二 <Java面向对象程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:162 ...

  3. Java第5次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  4. Java第2次实验提纲(Java基本语法与类库)

    1. 使用Git克隆(clone)项目到你的Eclipse项目中 见以下参考资料中的3 从码云将项目clone到你的电脑 重要提示: 使用Git来管理你的代码以后,当你在本机Eclipse项目中开始编 ...

  5. 2018-2019-2 20175235 实验二《Java面向对象程序设计》实验报告

    实验内容: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 一.单元测试 1伪代码 百 ...

  6. 20175315 实验二《Java面向对象程序设计》实验报告

    20175315 实验二<Java面向对象程序设计>实验报告 一.实验内容及步骤 1.初步掌握单元测试和TDD 单元测试 任务一:三种代码 用程序解决问题时,要学会写以下三种代码: 伪代码 ...

  7. 2018-2019-2 20175320实验二《Java面向对象程序设计》实验报告

    2018-2019-2 20175320实验二<Java面向对象程序设计>实验报告 一.实验步骤及内容 (一)了解使用JUint,并对示例代码MyUtil进行测试 1.先在IDEA中安装J ...

  8. 2018-2019-2 20175202实验二《Java面向对象程序设计》实验报告

    2018-2019-2 20175202实验二<Java面向对象程序设计>实验报告 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初 ...

  9. 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...

随机推荐

  1. C#窗口皮肤制作(二):创建窗口库项目以及最小化、最大化、关闭button的实现

    非常高兴有朋友关注这篇博客,同一时候也十分抱歉让关注的朋友久等了,隔上一篇博客也有3个月没有更新,主要是因为3月份辞职,4月份初离职到期离开了北京高德,来到了上海张江.眼下新工作也处于熟悉其中,希望大 ...

  2. Ext4文件系统架构分析(一)

    本文描述Ext4文件系统磁盘布局和元数据的一些分析,同样适用于Ext3和Ext2文件系统,除了它们不支持的Ext4的特性外.整个分析分两篇博文,分别概述布局和详细介绍各个布局的数据结构及组织寻址方式等 ...

  3. js 固定表头及固定列的js

    //给table 外层加一个div然后将divid传入方法,arr是一个数组里面填写需要固定的列数function fixedCol(arr,divId){ var colArr = arr || [ ...

  4. PHP与nginx之间的运行机制及其原理

    一.普及Nginx与Php-fpm相关知识点 Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服 ...

  5. python2018年秋季调研

    在2018年秋季,Python软件基金会与JetBrains发起了年度Python开发者调查. 报告的目的是寻找Python领域的新趋势,帮助开发者深入了解2018年Python开发者的现状. 本报告 ...

  6. 仙人掌&圆方树

    仙人掌&圆方树 Tags:图论 [x] [luogu4320]道路相遇 https://www.luogu.org/problemnew/show/P4320 [ ] [SDOI2018]战略 ...

  7. 9.26 开课第二十三天 (JS表单验证)

    <form action="lizi1.html" method="post"> 非空验证 <input type="text&qu ...

  8. 14-HTML-CSS案例

    1.超链接美化 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  9. java实现利用httpclient访问接口

    HTTP协议时Internet上使用的很多也很重要的一个协议,越来越多的java应用程序需要通过HTTP协议来访问网络资源. HTTPClient提供的主要功能: 1.实现了所有HTTP的方法(GET ...

  10. Atcoder2167 Blackout

    Atcoder2167 Blackout zjoi讲过的一道神题啊... 首先把每个黑点(a,b)看成一条有向边a->b,然后这个图就变成了一张有自环的有向图. 然后弱联通块就分开了,对于每个连 ...