20202318柳星宇《数据结构与面向对象程序设计》实验一报告
课程:《程序设计与数据结构》
班级: 2023
姓名: 柳星宇
学号:20202318
实验教师:王志强
实验日期:2020年9月23日
必修/选修: 必修
## 1.实验内容
- 基于命令行进行简单的Java程序编辑、编译、运行和调试。
- 练习Linux基本命令;
- 学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html
- 编写简单的Java程序。
- 初步掌握Linux命令特别是man,find,locate,grep,which,whereis,cheat等核心命令;-
- 初步掌握Java开发的流程,会选用合适的开发环境;
- 掌握Java开发工具的使用,能编写简单的Java程序,会编辑、编译、运行简单的程序;
- 掌握相应环境下的调试方法。
## 2. 实验过程及结果
学习JAVA基础命令快捷键及相关操作
一. 基于命令行进行简单的Java程序编辑、编译、运行和调试。
Vim编辑器的使用
(1) 三个模式的互换: i——插入模式;“ :”——普通模式进入命令行模式; Esc——插入模式进入命令行模式。
(2) 光标移动(普通模式):h键(左移一个字符);I键或空格(右移一个字符);j键(下移一行);k(上移一行);w(移动到下一个单词);b(移动到上一个单词)
(3) 插入模式:i(在当前光标处进行编辑);l(在行首插入);A(在行末插入);a(在光标后插入一个新行);o(在当前行后插入一个新行);O(在当前行前插入一个新行);cw(替换从光标所在位置后到一个单词结尾的字符)
(4) 保存与退出: :q!(强制退出不保存);shift+zz 或:wq(保存并退出)、:w(文件转存); :wq!(强制保存并退出)
(5) y: 复制在可视模式下选中的文本;yy 或Y: 复制整行文本;p: 在光标之后粘贴。P: 在光标之前粘贴。
(6) 重复指令:.表示重复上一个命令操作。
(7) 删除指令:x(删除光标所在处的字符);X(删除光标所在前一个字符);dd(删除整行/剪切);dw(删除一个单词);D(删除至行位);d^(删除至行首);dG(删除至文档结尾);d1G(删除至文档首部);ndd(n为数字,表示一共删除n行)
(8) 显示行号::set nu。
(9)i: 在当前光标的前面插入字符
a: 在当前光标的后面追加字符
o: 在当前光标的下一行行首插入字符
I: 在一行的开头添加文本
A: 在一行的结尾处添加文本
O: 在光标当前行的上一行插入文本
s: 删除当前光标处的字符并进入到插入模式
S: 删除光标所在处的行,并进入到插入模式
u: 撤销修改
(10)
分割窗口
split/vsplit filename
窗口间跳转
ctrl+w hjkl
ctrl+w w
移动窗口
ctrl+w HJKL
调整窗口尺寸
ctrl+w +/- 调整窗口的高度
ctrl+w </> 调整窗口的宽度
ctrl+w = 所有的窗口设置相同的尺寸
:resize n将当前窗口尺寸调整为N行
关闭窗口
close: 关闭一个窗口
qall: 退出所有窗口
qall!: 放弃修改,退出所有窗口
wqall: 保存并退出所有窗口
wall: 保存所有窗口
(11)
java:运行Java程序
javac:编译Java程序
## 3. 实验过程中遇到的问题和解决过程
- 问题1:VIM程序安装出错,javac无法运行
- 问题1解决方案:课上经老师指导完成修改安装
- 问题2:使用快捷键和命令字符不熟练、错误使用的问题
- 问题2解决方案:查阅云班课上的学习资料,重复练习,加深印象
- 问题:
学习感悟:
java与上学期学习的C语言最大的不同是编辑器以及编辑环境的不同,在前期,我的虚拟机总是能发现这个没安装好那个没安装好,让我很是头痛,尽管目前基本完成了作业要求,我也不清楚我的软件是否完整,目前还是打算走一步算一步。其次,由于不像Visual Studio Installer和PyCharm一样的集成开发环境,在编辑的时候需要仔细地斟酌每个细节,更由于语言的精准性,常常需要切换大小写编辑,对我刚接触java的我感到力不从心,效率低下。尽管java有很多让我感到违心的地方,也不能否认它是一门优秀的高级语言,我也会在日常学习中主动加强练习,理解java的编程理念,争取掌握更多java编程技能。
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)