# 20165315 实验一 Java开发环境的熟悉
一、实验内容及步骤
(一)使用JDK编译、运行简单的Java程序
- macOS命令行下运行Java
- 打开终端
- 输入
mkdir 20165315exp1
建立以自己学号命名的 - 输入
cd 20165315exp1
进入目录 - 输入
mkdir src bin
建立src
和bin
目录 - 输入
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 .使用快捷键fn
+F8
进行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% |