一、实验内容及步骤

(一)使用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这一用法

     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命令行要好用一些,调试过程的显示更加清晰。每周敲入课本代码只是最基本的一项工作,在实际应用中我发现还需要结合更多的思考理解才能真正“学会应用”,不能机械地“为了敲代码而敲”。

20165202 实验一 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. WeX5基础

    最近在研究微信app开发,使用的是WeX5,在这里把一些基础知识点记录下来,忘记了可以翻阅查看. 一:开发后端服务 1.建立数据源:窗口--首选项--studio配置--数据源--增加--数据源类型选 ...

  2. 20145335郝昊《java程序设计》第9周学习总结

    20145335郝昊 <Java程序设计>第9周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用于执行S ...

  3. 游戏服务器的思考之三:谈谈MVC

    游戏服务器也是基于MVC架构的吗?是的,所有的应用系统都是基于MVC架构的,这是应用系统的天性.不管是客户端还是后台,都包含模型.流程.界面这3个基本要素:不同类型的应用,3要素的“重量”可能各有偏差 ...

  4. flume 1.7 安装与使用

    Flume安装 系统要求: 需安装JDK 1.7及以上版本 1. 下载二进制包 下载页面:http://flume.apache.org/download.html 1.7.0下载地址:http:// ...

  5. jQuery loop over JSON字符串 – $.each实例

    先来一段简单的javascript对象的遍历: var json = [ {"id":"1","tagName":"apple&q ...

  6. gcc编译出错---make[5]: *** [s-attrtab] Killed

    内存不足导致的编译出错,解决方法是增加swapfile. root@ubuntu:home# swapon -s Filename    Type            Size    Used    ...

  7. php入门(三)

    PHP 面向对象: 在php5中 var就是public的别名. 变量 $this 代表自身的对象. PHP_EOL;为换行符 构造函数+析构函数 <?php class Site { /* 成 ...

  8. Lucene 更新、删除、分页操作以及IndexWriter优化

    更新操作如下: 注意:通过lukeall-1.0.0.jar 查看软件,我们可以看到,更新其实是先删除在插入, 前面我们知道索引库中有两部分的内容组成,一个是索引文件,另一个是目录文件, 目前我们更新 ...

  9. 修改windows命令行字体

    YaHei Consolas Hybrid

  10. js 弹出层,以及在javascript里定义层样式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...