一、实验内容

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程序

  1. 在已经打开的命令行中输入eclipse命令并回车打开Eclipse。
  2. 在Eclipse中单击File->New-> Java Project建立一个名为Hello的工程;在按照File->New->Class建立一个包名lwr,类名Hello,并勾选上自动产生main函数选项,最后单击Finish按钮。
  3. 输入如下代码

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运行结果

  1. 调试

根据指导设置断点和单步运行

图5 eclipse调试1

图6 eclipse调试2

图7 eclipse调试3

  1. 总结

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

三、实验问题

见实验过程中记录:

  1. 练习命令行时输入格式不正确
  2. 练习eclipse时调试步骤不清楚
  3. 四则运算编写程序时盲目参考网络资料,与已有程序不匹配

四、实验收获

本次实验是熟悉java开发环境的练习,对今后进行开发有作用。在实验中,不应仅仅追求步骤的正确,还应追求对步骤的理解,从实践动手中加深对知识的掌握,更能够灵活地运用知识。

实验一 Java开发环境的熟悉-刘蔚然的更多相关文章

  1. 20145205 实验一 Java开发环境的熟悉

    实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...

  2. 实验一 Java开发环境的熟悉

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

  3. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  4. 实验一Java开发环境的熟悉

    实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...

  5. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  6. 20145208实验一 Java开发环境的熟悉

    20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...

  7. 实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  8. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  9. 2018-2019-2 实验一 Java开发环境的熟悉

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...

随机推荐

  1. android studio ndk 调试

    一: 先看看用 ndk-gdb 手动调试 这种方法只适用于手动编写 Android.mk 的情况,因为我们要手动 build debug 版本的 .so 文件.具体可以参考我的前一篇文章. 1 And ...

  2. 不容易系列之二[HDU2042]

    不容易系列之二 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  3. BZOJ2874 : 训练士兵

    设$a[i][j]$表示$(i,j)$右下角要增加多少 $aj[i][j]=a[i][j]\times j$ $ai[i][j]=a[i][j]\times i$ $aij[i][j]=a[i][j] ...

  4. c# 使用GetOleDbSchemaTable获取access数据库结构

    c# 使用GetOleDbSchemaTable获取access数据库结构 ado.net可以使用GetOleDbSchemaTable方法来获取access数据库的结构,但得到的datatable的 ...

  5. PHP wget 增强脱裤脚本(PDO MYSQL)

    脚本参考了 LCX Gavin2位前辈的帖子.在此表示非常的感谢. https://www.t00ls.net/thread-26740-1-1.html https://www.t00ls.net/ ...

  6. 找1到n所有整数出现1的个数

    编程之美2.4 n=12时,1,11,12这3个数包含1,所以1的个数是5. Line 9是为了防止factor溢出. #include <iostream> #include <s ...

  7. jquery CDN(内容分发网络)使用

    jquery CDN 给开发者提供一种捷径,即不下载jquary 就通过CDN能使用各个版本的jquery. 使用方法很简单,就是在HTML 文档中引用相关版本的jquery. 例如:我用百度的CDN ...

  8. ORA-12518: TNS: 监听程序无法分发客户机连接

    在团队成员增多时,经常出现“无法分发客户端连接”等问题.在网上搜索一番后,最终解决了该问题,现将解决方案总结如下,以供参考和以后备用. 原因:团队成员增多,原有数据库设置不够用,导致连接plsql和启 ...

  9. [项目机会]citrix 虚拟桌面对于java等高CPU占用率如何解决

    citrix 虚拟桌面对于java等高CPU占用率如何解决 问题1:java等客户端对于虚拟桌面cpu影响较大,但是有些用户的确需要使用java支持的程序,是否可以通过其他途径来解决? 问题2:对于其 ...

  10. Tesseract 对验证码的识别原理和实现步骤

    一. Steps: 学习图片库--->处理图片(初步处理)--->校正.学习图片 二. Tesseract: 1. 采集图片库(一般每个出现的字符出现20次左右识别效果比较好),根据图片特 ...