20135106 宋世超
一、实验内容
1. 使用JDK编译、运行简单的Java程序
2.使用Eclipse 编辑、编译、运行、调试Java程序
二、实验要求
1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程
2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。
3.实验报告中统计自己的PSP(Personal Software Process)时间
步骤 |
耗时 |
百分比 |
需求分析 |
40min | 10% |
设计 |
40min | 20% |
代码实现 |
60min | 40% |
测试 |
30min | 10% |
4. 严禁抄袭。分析总结 |
30min | 20% |
4. 严禁抄袭。
三、实验步骤
(一)命令行下Java程序开发
1.首先双击桌面上的Xface终端图标。
2.打开终端(类似Windows下的cmd),之后会自动运行shell程序。
3.输入cd Code命令进入Code(注意C要大写)目录。
4.输入mkdir 20135100 命令建立实验目录,注意目录名一定是自己的学号(学号要体现在实验报告截图中),可以使用ls命令或dir命令查看建立的目录情况。
5.输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径。
6.输入gedit Hello.java(注意把代码保存到exp1目录中)或vim Hello.java 编辑Hello.java。
7.输入javac -d . Hello.java命令编译代码,输入java ljp.Hello命令运行 程序。
(二)Eclipse下Java程序开发、调试
1.在命令行中输入eclipse命令并回车或单击桌面上的Eclipse EE图标打开Eclipse。
2.在Eclipse中单击File->New-> Java Project新建Java项目。
3.输入项目名称HelloJDB(你可以自己起名),并单击Finish按钮完成新建项目。
4.在Eclipse中单击File->New->Class新建Java类。
5.根据Java代码规范输入包名ljp(小写,可以自定义),类名HelloJDB(单词首字母大写),并勾选上自动产生main函数选项,最后单击Finish按钮。
6.输入如下代码:
package ljp;
public class HelloJDB {
public static void main(String[] args)
{ int i = 5;
int j = 6;
int sum = add(i,j);
System.out.println(sum);// TODO Auto-generated method stub 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; } }
7.单击运行按钮(或使用Ctrl+F11快捷键),就可以在控制台(Console)中看到运行结果。
8.练习调试程序,首先我们通过单击Window->Open Perspective->Debug打开调试视图。
9.调试程序首先要会设置断点和单步运行。
10.单步执行效率比较慢,如果我们感觉到第6行到第10行的代码没有问题了,想让程序直接运行到第11行,怎么办?首先我们要在第11行设置断点,然后单击Resume图标(快捷键F8)。
11.单步执行效率比较慢还导致另外一个问题,比如一个大循环中间出了问题怎么办?这时可以通过条件断点解决问题。调试循环代码时,会有一个值我们特别关注,这时在Variable标签中查看变量的值,比如我们此时比较关注sum,每次单步执行都可以看到sum的变化情况了,
设置条件断点,我们在第11行左边单击鼠标右键,选择Breakpoint Properties...
(三)练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序)
实现四则运算,并进行测试。
实验代码:
import java.util.Scanner;
public class Math {
public static void main(String[] args)
{ Scanner reader = new Scanner(System.in);
System.out.println("请输入两个需要运算的数据");
int x = reader.nextInt();
int y = reader.nextInt();
System.out.println("请输入所进行的运算的符号");
String c = reader.next();
char a = c.charAt(0);
switch (a)
{
case ‘+‘:
System.out.println(x+y);
break;
case ‘-‘:
System.out.println(x-y);
break;
case ‘*‘:
System.out.println(x*y);
break;
case ‘/‘:
if(y!=0)
System.out.println(x/y);
else
System.out.println("输入数据不合法");
break;
default
{
System.out.println("输入符号不合法"); }
break;
}
}
}
四、练习题代码和截图: