• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
显示昵称已被使用,害
博客园    首页    新随笔    联系   管理    订阅  订阅

20192310 实验一《Linux基础与Java开发环境》实验报告

学号 2020-2021-1 《数据结构与面向对象程序设计》实验x报告

课程:《程序设计与数据结构》
班级: 1923
姓名: 严嘉钰
学号:20192310
实验教师:王志强
实验日期:2020年10月8日
必修/选修: 必修

1.实验内容

  • 基于命令行和IDE进行简单的Java程序编辑、编译、运行和调试。
  • 练习Linux基本命令;
  • 学习Java程序的JDB调试技能
  • 编写简单的Java程序。

2. 实验过程及结果

  • 基于命令行进行简单的java程序编辑、编译、运行和调试

    此为使用vim编辑器编写了一个简单的java程序

    使用javac命令编译java文件后使用java命令运行程序,程序成功运行

    使用jdb对编译好的文件进行调试,stop in设置方法断点,step进行运行下一行代码,next运行下一个方法,locals查看本地变量,print可以查看某个变量的值,list指出运行至源代码的位置
    上传至码云时先git -m commit再git push即可
  • 基于IDE进行简单的java程序编辑、编译、运行和调试

    在 IntelliJ IDEA 里,编译方式一共有三种:
    Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
    Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。
    Make:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中
    在这里我使用的是rebuild进行编译,之后run,可以在下方的窗口中看到程序的运行结果

    在run中找到debug后即可开始调试,下方的debug栏中有用于debug的工具
    在代码左侧点击出现红点代表出现断点
       > Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。

    > Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法,如第25行的put方法。

    > Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。

    > Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。

    > Drop Frame (默认无):回退断点,后面章节详细说明。

    > Run to Cursor (Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。

如图,设置完断点后我设置了四个断点,步过点一个断点后控制台上打出 Please enter m,n:
之后步入下一个断点,在控制台上打入6,此时为m赋值6,并在代码页中体现了。步入下一个断点时,该断点中的判断未执行于是进入断点下的方法,并为n赋值为8,步过到最后一个断点时输出结果

  • 练习linux基本命令
    ls -a 列出目录所有文件,包含以.开始的隐藏文件
    ls -A 列出除.及..的其它文件
    ls -r 反序排列
    ls -t 以文件修改时间排序
    ls -S 以文件大小排序
    ls -h 以易读大小显示
    ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
    删除文件
    rm test
    强制删除文件
    rm -f test
    删除目录
    rm -r family
    移动文件
    使用 mv(move or rename files)命令移动文件
    man为字典
    locate可查询文件地址
    grep搜索指定文件内容
    whereis搜索并返回第一个结果

3. 实验过程中遇到的问题和解决过程

  • 问题1:jdb单步调试时使用locals不能出现变量地址
  • 问题1解决方案:在jdb时加入-g参数
  • 问题2:忘记linux命令
  • 问题2解决方案:百度查阅

其他(感悟、思考等)

使用idea这种IDE进行java程序的编写比使用命令行要来的方便的多,特别是调试时十分直观,是命令行所不能比拟的,但使用命令行可以加深我们对计算机本身的研究,可谓各有利弊

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

posted @ 2020-10-08 15:32  显示昵称已被使用,害  阅读(276)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3