一、实验内容及步骤

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

  • 建立“自己学号exp1”的目录
    mkdir 20165202exp1

  • 进入目录
    cd 20165202exp1

  • 在“自己学号exp1”目录下建立src,bin等目录
    mkdir bin mkdir src

  • vim编辑代码
    vi Hello.java

  • javac,java的执行在“自己学号exp1”目录
    javac -d bin src/Hello.java

  • 运行程序
    java Hello

  • 运行截图

  • 码云链接

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

  • 设置断点只需在要设置断点的行号旁用鼠标单击一下即可使用。使用Alt+Shift+F9快捷键调试Java程序

  • 单步运行有两种:Step Into(快捷捷F7)和Step Over(快捷捷F8)实际使用中我们优先使用Step Over,只有方法执行出错了,说明程序问题在被调用方法中,这时再回来通过Step Into进入方法进行调试。
  • 临时断点:最简单的方法是把光标移到要添加断点的行,使用菜单「Run」->「Toggle Temporary Line Breakpoint」或使用快捷键Ctrl+Alt+Shift+F8

  • 条件断点: 在第9行左边断点处单击鼠标右键,弹出断点属性框,我们设置条件“i==50”

  • 方法断点:把光标移到方法中的任一行,使用菜单「Run」->「Toggle Method Breakpoint

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

实现Fibonacci数列功能,并进行测试(正常情况,异常情况,边界情况)

  • 程序代码
  1 import java.util.Scanner;2 3 public class fibonacci {4 5     public static void main(String[] args) {6 7         Scanner scanner = new Scanner(System.in);8 9         System.out.println("请输入一个整数:");10 11         int n = scanner.nextInt();12 13         System.out.println("fibonacci数列为:");14         if(n<=0) {15             System.out.println("非法输入");16         }17         else {18           for (int j = 1; j <= n; j++) {19 20             System.out.println(" a["+j+"] =  "+fibonacci(j));21 22           }23         }24         scanner.close();25 26     }27 28     private static int fibonacci(int i) {29 30         if (i == 1 || i == 2){31 32             return 1;33 34         }else{35 36             return fibonacci(i - 1) + fibonacci(i - 2);37 38         }39 40     }41 42 }
  • 命令行运行:

    (1)正常情况

(2)异常情况

(3)边界情况

码云链接

  • IDEA运行:

    (1)正常情况

(2)异常情况

(3)边界情况

  • IDEA调试

    单步调试:在第6、9行设置断点

    方法断点:在第4、23行设置断点

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

开始写练习代码Fibonacci实现时错误理解了题意,输出值为对应数字下的F函数


后来只能输出固定前n项(例如20),结合之前学习的Scanner这一用法
Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int n = scanner.nextInt();
通过调用解决了无法通过输入改变n的问题

三、实验体会与总结

统计PSP(Personal Software Process)时间:

步骤 耗时 百分比
需求分析 2min 2.5%
设计 8min 10%
代码实现 25min 31.25%
测试 5min 6.25%
分析总结 40min 50%

个人总结
本次实验内容较为基础,主要考察java开发环境的熟悉和一些基本操作。编程有一套完整的流程:分析需求、设计、代码实现、测试、总结,这也是我们今后编程的一个基本框架。在试验过程中学习掌握了idea的相关用法,确实比vim命令行要好用一些,调试过程的显示更加清晰。每周敲入课本代码只是最基本的一项工作,在实际应用中我发现还需要结合更多的思考理解才能真正“学会应用”,不能机械地“为了敲代码而敲”。

转载于:https://www.cnblogs.com/jhs888/p/8687158.html

20165202 实验一 Java开发环境的熟悉相关推荐

  1. 20175316 盛茂淞 实验一 Java开发环境的熟悉

    20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...

  2. 20169205实验一 Java开发环境的熟悉(Linux+IDEA)

    20169205实验一 Java开发环境的熟悉(Linux+IDEA) 实验内容及步骤 使用JDK编译.运行简单的Java程序 打开windows下的cmd → 输入cd Code命令进入Code目录 ...

  3. linux eclipse java_实验一 Java开发环境的熟悉(Linux + Eclipse)

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

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

    20175208 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张家华  学号:20175208 指导教师:娄嘉鹏 实验日期:2019年4月2日 实 ...

  5. 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉

    2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...

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

    实验一简单的java程序编译及运行,文件夹的创建 1.添加文件夹: 命令mkdir+文件夹名称 2.编译,运行Java程序 :javac 主类名.java java 主类名 3.带包(package) ...

  7. 2018-2019-2 20175305实验一《Java开发环境的熟悉》实验报告

    2018-2019-2 20175305实验一<Java开发环境的熟悉>实验报告 实验题目 实验一Java开发环境的熟悉-1 1).实验目的及要求 1.建立"自己学号exp1&q ...

  8. 20155229 实验一《Java开发环境的熟悉》实验报告

    20155229 实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Idea 编辑.编译.运行.调试Java程序. 实验步骤 (一) ...

  9. java开发环境实验总结_20155212 实验一《Java开发环境的熟悉》实验报告

    20155212 实验一<Java开发环境的熟悉>实验报告 命令行下Java程序开发 命令创建实验目录 输入mkdir 2051212创建以自己学号命名的文件夹,通过cd 20155212 ...

  10. 2018-2019-2 20175311 实验一《Java开发环境的熟悉》实验报告

    2018-2019-20175311实验一<Java开发环境的熟悉>实验报告 一.实验内容及步骤 (一):使用简单的JDK编译.运行java程序 题目一比较简单也比较基础,主要就是考查我们 ...

最新文章

  1. 深度学习-语义分割总结
  2. python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析、使用标准差信息添加误差区间条yerr
  3. j函数 判断以 什么开头
  4. c#项目转JAVA,第5个月,基本完成
  5. 浅析C#合并多个WORD文档的具体实现方法
  6. 正则高级用法-分组group+替换
  7. 云服务器 ECS > 安全 > 安全组 > 添加安全组规则
  8. lsblk命令 – 查看系统的磁盘
  9. 程序批量将文本文件中的某字符替换
  10. Axure 进阶教程
  11. 中移动分布式存储超级大单出炉,浪潮等唱主角
  12. 社交电商快速吸粉裂变模式-全新拼团模式
  13. PyTorch:view() 与 reshape() 区别详解
  14. cmd中通过winsat命令测试硬盘、CPU、内存、3d性能等
  15. Invalid initial heap size: -Xms
  16. 《江苏省ITS体系框架与规划——需求分析子课题》工作大纲评审会在南京举行[转贴,出处:ITSC 作者:刘浩,张可]
  17. Qt去除libpng warning: iCCP: known incorrect sRGB profile警告
  18. 可控硅BT136典型应用电路
  19. 输入三角形的三条边长,求面积
  20. 神经网络架构搜索——二值可微分搜索(BATS)

热门文章

  1. L2-2 口罩发放 (25 分)
  2. SQL Server中char与nchar区别
  3. python opencv 摄像头截图_python opencv捕获摄像头并显示内容
  4. js基础知识汇总12
  5. j2ee和mysql怎么连接_Eclipse下配置j2ee开发环境及与MySQL数据库的连接
  6. python绘制风向玫瑰图和污染物玫瑰图
  7. Hash 函数的现状,2012
  8. C/C++ 取整函数
  9. c语言 时间函数,C/C+时间相关的函数
  10. linux 查看http连接等