实验一 Java开发环境的熟悉-刘蔚然
一、实验内容
1. 使用JDK编译、运行简单的Java程序
2. 使用Eclipse 编辑、编译、运行、调试Java程序
要求:
完成实验、撰写实验报告
统计PSP时间
二、实验过程
使用JDK编译、运行简单的Java程序
1.进入实验环境后,打开Xfce终端。其作用类似于cmd命令行,用于打开和执行某些程序。
2.输入cd Code->mkdir 20135216->cd 20135216->mkdir expel1->cd expel1->gedit Hello.java一系列步骤在目录“20135216\expel1\”下建立一个Hello的java文件。此时,会弹出。

图1 命令行环境
3.在gedit中输入如下代码
package lwr;
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 + " !");
}
}
4.调试程序
最初,程序无法运行。


图2 命令行错误
经过咨询同学,发现输入的执行语句中-d. Hello.java有误,应为-d . Hello.java。修改后,程序正常运行。

图3 命令行运行结果
5.总结
1)代码的第一行意为建立包(名为lwr),它影响到使用javac编译代码的方式。 代码第二行,意为使用到Java类库中的类时,要用import导入相关的类;
2)mkdir :建立新文件夹/wenjian
dir 、pwd:列出当前文件/文件夹中的文件
3)代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀
使用Eclipse 编辑、编译、运行、调试Java程序
- 在已经打开的命令行中输入eclipse命令并回车打开Eclipse。
- 在Eclipse中单击File->New-> Java Project建立一个名为Hello的工程;在按照File->New->Class建立一个包名lwr,类名Hello,并勾选上自动产生main函数选项,最后单击Finish按钮。
- 输入如下代码
package lwr;
public class HelloJDB {
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;
}
}
使用Run按钮,可以在下方看到运行结果

图4 eclipse运行结果
- 调试
根据指导设置断点和单步运行

图5 eclipse调试1

图6 eclipse调试2

图7 eclipse调试3
- 总结
1) 单击调试按钮(或使用F11快捷键)开始调试Java程序。
2) 把鼠标放到变量名上来查看变量的值。
3) 单步运行有两种:Step Into(快捷捷F5)和Step Over(快捷捷F5),这两种单步运行功能在运行语句时没有区别,在执行函数调用语句时,Step Into会跳入函数实现,Step Over会直接执行完函数,实际使用中我们优先使用Step Over。
4) 包名一定是小写,类名首字母大写
5) 设置条件断点:首先在行左侧右键,选择Breakpoint Properties...如本程序中,可以设置i的值。设置之后,就可以在查看i的值了。
练习:实现四则运算,并进行测试,试用命令行和eclipse两种方法实现
1.命令行实现
import java.util.*;//类似于C语言中的函数库,用于调用Scanner函数
public class ScannerDemo
{
public static void main(String[] args)
{
// Give tips to input two numbers
System.out.println("Please input the first number:");
Scanner s1 = new Scanner(System.in);
Double i1 = s1.nextDouble();
System.out.println("Please input the second number:");
Scanner s2 = new Scanner(System.in);
Double i2 = s2.nextDouble();
System.out.println("Please input op");
Scanner s3 = new Scanner(System.in);
String op = s3.next();
System.out.println("op as bellow:");
char z = op.charAt(0);
if (z == '+')//对输入的符号进行判断。如果不是+-*/之一,则返回“wrong op”
{
System.out.println(i1+i2);
}
else if (z == '-')
{
System.out.println(i1-i2);
}
else if (z == '*')
{
System.out.println(i1*i2);
}
else if (z == '/')
{
System.out.println(i1/i2);
}
else
{
System.out.println("Wrong op!");
}
}
}
调试程序

图8 命令行调试错误
因为开始时查找网络百科使用了
char z = op.charAt(0);
if(z.equal(‘-‘))
的程序,导致编译出错。后使用简单的
char z = op.charAt(0);
if(z == ‘-‘),编译运行无误

图9 命令行调试结果
2.eclipse实现
package lwr;
import java.util.Scanner;
public class Caculation
{
public static void main(String[] args)
{
double i1,i2;
System.out.println("Please input the first number:");
Scanner s1 = new Scanner(System.in);
i1 = s1.nextDouble();
System.out.println("Please input the second number:");
Scanner s2 = new Scanner(System.in);
i2 = s2.nextDouble();
System.out.println("Please input op");
Scanner s3 = new Scanner(System.in);
String op = s3.next();
System.out.println("op as bellow:");
char z = op.charAt(0);
if (z == '+')
{
System.out.println(i1+i2);
}
else if (z == '-')
{
System.out.println(i1-i2);
}
else if (z == '*')
{
System.out.println(i1*i2);
}
else if (z == '/')
{
if(i2 == 0.000000)
System.out.println("i2 cannot be 0!");
else
System.out.println(i1/i2);
}
else
{
System.out.println("Wrong op!");
}
//System.out.println(i1);
}
}
调试程序

图10 eclipse错误
原因:类名与文件名不一致

图11 eclipse调试成功

图12 eclipse调试结果1

图13 eclipse调试结果2
三、实验问题
见实验过程中记录:
- 练习命令行时输入格式不正确
- 练习eclipse时调试步骤不清楚
- 四则运算编写程序时盲目参考网络资料,与已有程序不匹配
四、实验收获
本次实验是熟悉java开发环境的练习,对今后进行开发有作用。在实验中,不应仅仅追求步骤的正确,还应追求对步骤的理解,从实践动手中加深对知识的掌握,更能够灵活地运用知识。
实验一 Java开发环境的熟悉-刘蔚然的更多相关文章
- 20145205 实验一 Java开发环境的熟悉
实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...
- 实验一 Java开发环境的熟悉
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)
20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...
- 20145208实验一 Java开发环境的熟悉
20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...
- 实验一 Java开发环境的熟悉(Linux + Eclipse)
学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...
- 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然
https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...
- 2018-2019-2 实验一 Java开发环境的熟悉
实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...
随机推荐
- 游戏 gui button
using UnityEngine; using System.Collections; public class Gui : MonoBehaviour { public Texture2D but ...
- BZOJ3749 : [POI2015]Łasuchy
设f[i][S]表示第i份食物被两个人吃的状态为S是否有可能,枚举f[1][]的情况后检验 f[i][0]=(f[i-1][1]&a[i-1]>=a[i])|(f[i-1][3]& ...
- ios7隐藏系统底部导航
ios7隐藏系统底部导航 minimal-ui <meta id="viewport" name="viewport" content="wid ...
- linux fork 进程后 主进程的全局变量
fork一个进程后,复制出来的task_struct结构与系统的堆栈空间是父进程独立的,但其他资源却是与父进程共享的,比如文件指针,socket描述符等 不同的进程使用不同的地址空间,子进程被创建后, ...
- HDU 4649 Professor Tian(DP)
题目链接 暴力水过的,比赛的时候T了两次,优化一下初始化,终于水过了. #include <cstdio> #include <cstring> #include <st ...
- Metronic_下拉列表Select2插件的使用
这个插件是基于Select的扩展插件,能够提供更加丰富的功能和用户体验,它的github官网地址为:https://select2.github.io/,具体的使用案例,可以参考地址:https:// ...
- linux中shell变量$#,$@,$*,$?,$$,$!,$_,$0,$1,$2的含义解释
变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) ...
- C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】
已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- PHPUnit在Windows下的配置及使用
由于我们项目涉及到php,因此需要对php代码进行单元测试.经过一番了解,决定用PHPUnit来测试php.PHPUnit花了不少时间摸索如何配置PHPUnit,看官网的文档也是一把泪.但知道怎么配置 ...
- 移动Web单页应用开发实践——实现Pull to Request(上/下拉请求操作)
在单页应用开发中,无论是页面结构化,还是Pull to Request,都离不开一个技术——页面局部滚动.当下的移动web技术,主要使用下面两种方式实现局部区域的滚动: 基于IScroll组件,也有很 ...