博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20165202 实验一 Java开发环境的熟悉
阅读量:4328 次
发布时间:2019-06-06

本文共 2259 字,大约阅读时间需要 7 分钟。

一、实验内容及步骤

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

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

    mkdir 20165202exp1

  • 进入目录

    cd 20165202exp1

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

    mkdir bin mkdir src

  • vim编辑代码

    vi Hello.java

    1297055-20180401163114384-2004859617.jpg

  • javac,java的执行在“自己学号exp1”目录

    javac -d bin src/Hello.java

  • 运行程序

    java Hello

    1297055-20180401163104825-1881692023.jpg

  • 运行截图

    1297055-20180401163134254-1705369086.jpg

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

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

    1297055-20180401163218736-560540316.jpg

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

    1297055-20180401163259434-2129434657.jpg

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

    1297055-20180401170201082-1726102693.jpg

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

    1297055-20180401163242434-1054103834.jpg

(三)练习(通过命令行和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)正常情况

1297055-20180401165546271-48703500.jpg

(2)异常情况

1297055-20180401165601559-1913106254.jpg

(3)边界情况

1297055-20180401165051556-2036939010.jpg

  • IDEA运行:

    (1)正常情况

1297055-20180401165119936-1202414842.jpg

(2)异常情况

1297055-20180401165141234-438484881.jpg

(3)边界情况

1297055-20180401165200686-455759618.jpg

  • IDEA调试

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

    1297055-20180401170637833-453677711.jpg

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

    1297055-20180401170656037-1631328654.jpg

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

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

1297055-20180401181037126-1219813757.jpg

后来只能输出固定前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

你可能感兴趣的文章
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
CTP2交易所成交回报
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>
ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
查看>>
CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析
查看>>
使用正确的姿势跨域
查看>>
AccountManager教程
查看>>
Android学习笔记(十一)——从意图返回结果
查看>>
算法导论笔记(四)算法分析常用符号
查看>>
ultraedit激活
查看>>
总结(6)--- python基础知识点小结(细全)
查看>>