# 20165315 实验一 Java开发环境的熟悉

一、实验内容及步骤

(一)使用JDK编译、运行简单的Java程序

  • macOS命令行下运行Java

    • 打开终端
    • 输入mkdir 20165315exp1建立以自己学号命名的
    • 输入cd 20165315exp1进入目录
    • 输入mkdir src bin建立srcbin目录
    • 输入vi src/Hello.java创建并在vim编辑器中打开Hello.java文件
    • 在vim编辑器中编写程序
    • 输入javac -d bin src/Hello.java编译文件至bin目录
    • 输入java -cp bin ljp.Hello运行文件
    • 实验截图

(二) 使用IDEA编辑、编译、运行、调试Java程序

1 . 新建HelloJDB项目和HelloJDB.java文件

2 .在文件中编写代码

3 .在需要设置断点的一行左侧单击鼠标,出现红色圆点,使用快捷键shift+control+R进入单步调试

4 .使用快捷键fnF8进行step over操作,输出sum

5 .如果想判断循环内部是否出问题,比如我们想进入for循环,在第十行设置断点,右击出现对话框,在里面填写自己想测试的数值,如i==50,再使用快捷键fn+F9即可得到运行结果

总结:

常用调试快捷图标功能:

  • Step Over(F8):程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

  • Step Into(F7):程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)

  • Force Step Into:进入任何方法

- Step Out(Shift+F8):如果在调试的时候进入了一个方法,并觉得该方法没有问题,就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕
  • Run to Cursor:将程序运行到光标处

(三)练习(通过命令行和IDEA两种方式实现,并使用IDEA进行调试)

实现求两个数的最大公约数和最小公倍数的功能,数从命令行输入,并进行测试(正常情况,异常情况,边界情况)

  • 设计思路

题目要求实现在命令行输入并计算最小公倍数和最大公约数的功能,我首先先想到用Integer.parseInt()实现命令行的输入,其次需要编写两个方法分别实现计算最大公约数的功能和最小公倍数的功能,所以我先编写了两个方法中的代码,编写完成后,再完成其与main函数的衔接。

  • 通过命令行实现

    (1)正常情况

(2)边界情况

(3)异常情况

  • 通过IDEA实现

(1)正常情况

(2)边界情况

(3)异常情况

  • 通过IDEA调试

1.在第五行中设置断点,并进行单步调试

2.若想进入“最大公约数方法”中,可以使用快捷键fn+F7执行Step Into命令

3.若想直接进入“最小公倍数方法”中,可以先在第19行设置断点,再执行Resume命令

二、实验过程中遇到的问题

  • 在编写“实现求两个数的最大公约数和最小公倍数的功能,数从命令行输入”的代码时,我误将“最大公约数方法”和“最小公倍数”方法编入了main方法中,导致如图编译问题

  • 在编写时,没有理解题目要求的异常情况的意思,以为是输入异常数据后让程序出错,在娄老师的指正下,我对程序做了修改

三、实验体会与总结

本次实验内容比较简单而基础,但是仍体现了编写代码的基本步骤:编写代码前先在脑海中构建好程序框架,再一步一步用代码实现自己的想法,最后有余力还可以优化程序。平时学习的过程中光是抄写书上代码是不够的,还是需要自己独立编写程序,将课本理论付诸实际。

步骤 耗时 百分比
需求分析 3min 7%
设计 5min 12%
代码实现 20min 50%
测试 3min 7%
分析总结 10min 24%

20165315 实验一 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. ajax用户名存在检测

    一.ajax请求的四个步骤: 1.创建ajax对象 var xmlhttp=new XMLHttpRequest();//IE5,IE6以外的浏览器 var xmlhttp=new ActiveXOb ...

  2. ReactiveX 学习笔记(15)使用 Rx.NET + Json.NET 调用 REST API

    JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站. ...

  3. Android EventBus3.x 使用详解

    ♪(^∇^*) 五一假期在家无事,新项目中用的是RxJava2+EventBus感觉还不错,趁这闲暇总结下EventBus. 一.概要简述 EventBus是一个基于观察者模式的Android事件发布 ...

  4. 通用坐标投影转换器Uneversal Coord Transformer

    关键词:投影,重投影,坐标转换,坐标系,空间参考,北京54,西安80,中国2000,WGS84,UTM,墨卡托,网络墨卡托 软件名称:通用坐标投影转换器Uneversal Coord Transfor ...

  5. FMS Dev Guide学习笔记(远程共享对象)

    一.开发交互式的媒体应用程序1.共享对象(Shared objects)    ----远程共享对象 在你创建一个远程共享对象之前,创建一个NetConnection对象并且连接到服务器.一旦你创建了 ...

  6. java中Integer和int的区别(转)

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...

  7. hdu1576-A/B-(同余定理+乘法逆元+费马小定理+快速幂)

    A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. js高级-变量内存分析

    var  a = 9, b, c={age:9}, d; b = a; b = 19; console.log(a) console.log(b) d = c; d.age = 22; console ...

  9. SpringBoot @Async注解失效分析

    有时候在使用的过程中@Async注解会失效(原因和@Transactional注解有时候会失效的原因一样). 下面定义一个Service: 两个异步执行的方法test03()和test02()用来模拟 ...

  10. 开启Centos系统的SSH服务

    1.登录Centos6.4系统. ◆示例:使用root用户登录. 注:若为非root用户登录,输入执行某些命权限不够时需加sudo. 查看SSH是否安装. 2.◆输入命令:rpm -qa | grep ...