20202312郭威 实验一《Linux基础与java开发环境》实验报告
实验一
# 20202312 2021-2022-1 《数据结构与面向对象程序设计》实验一报告
课程:《程序设计与数据结构》
班级: 2023
姓名: 郭威
学号:20202312
实验教师:王志强
实验日期:2021年9月22日
必修/选修: 必修
## 1.实验内容
1、基于命令行进行简单的Java程序编辑、编译、运行和调试。
2、练习Linux基本命令;
3、学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html
4、编写简单的Java程序。
## 2. 实验过程及结果
一、基于命令行进行简单的Java程序编辑、编译、运行和调试
1、命令行:vim的命令行是在文件中进行基本操作的必要知识,通过三个模式的转换和输入,控制光标、插入位置、空行等基本操作。
(1)三个模式的互换:i——普通模式进入插入模式;:——普通模式进入命令行模式;Esc——命令行模式进入命令行模式。
(2)光标移动:h(左)、l(右)、j(下)、k(上)、w(移动到下一个单词)、b(移动到上一个单词)。
(3)插入(插入模式):i(在当前光标处进行编辑)、l(在行首插入)、A(在行末插入)、a在光标后插入一个新行、o(在当前行后插入一个新行)、O(在当前行前插入一个新行)、cw(替换从光标所在位置后到一个单词结尾的字符)。
(4)删除:x(删除光标所在处的字符)、X(删除光标所在前一个字符)、dd(删除整行/剪切)、dw(删除一个单词)、D(删除至行位)、d^(删除至行首)、dG(删除至文档结尾)、d1G(删除至文档首部)、ndd(n为数字,表示删除n行)
(5)保存与退出::q!(退出但不保存)、shift+zz /:x /:wq(保存并退出)、:w【文件】(另存到【文件】中)、:wq!(强制保存并退出)
(6)重复指令:.表示重复上一个命令操作
(7)游标跳转:gg(移动到第一行)、G(移动到最后一行)、nG(n为数字,表示移动到第n行)、w(到下一个单词的开头)、e(到当前单词的结尾/下一个单词的结尾)、b(到前一个单词的开头)、ge(到前一个单词的结尾)、0 / ^(到行头)、$(到行尾)
(8)显示行号::set nu
(9)复制与粘贴(普通模式):nyy(n为数字,复制游标所在的n行),p(粘贴到光标下)、P(粘贴到光标后)
(10)撤销与替换:r+【待替换字母】(将游标所在字母替换为指定字母)、~(反转游标所在字母的大小写)、R(连续替换,直到按下Esc)、cc(替换整行)、cw(替换一个单词)、u{n}(撤销n次操作)
2、java程序的操作:
(1)编辑:
应用linux命令行指令:vi/vim+文件名即可新建一个文件。
(2)编译:
先利用javac生成class类文件,在直接用Java+文件名即可运行。
(3)调试:
利用jdb进行调试,通过设置断点,在使用next一步步运行程序,找出程序存在的问题。
二、练习Linux基本命令
(1)mkdir:mkdir命令用来创建目录
(2)cd:cd命令用来切换工作目录
(3)cd .. :进入上一级目录
(3)mv:mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中,将一组文件移至一个目标目录中
(4)rm:rm命令可以删除一个目录中的一个或多个文件或目录
(5)ls:ls命令用来显示目标列表
(6)man:查阅 command 命令的使用手册,man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用
(7)cp: 复制某文件至某地址
(8)cat:用来查看某个文件的内容
(9)vi/vim;用来创建一个新的文件并进行编辑
三.学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html。
(1)设置断点:方法断点、行断点、条件断点、临时断点
(2)递归算法
四.编写简单的Java程序
1.输出“HelloWorld”
2.编写一个简单的猜数程序。
## 3. 实验过程中遇到的问题和解决过程
- 问题1:在开始在虚拟机上使用Java编译时,对如何编译总是不知道,出现过文件名不统一,标识符错误等等情况。
- 问题1解决方案:自己开始在云班课上找一些编译的方法,同时又去看书,了解到标识符的限制,改了文件名,多次尝试后,才将程序编译了出来。
- 问题2:在写Linux基本操作命令时,发现自己对于许多基本命令都不是很熟悉,有一些甚至根本不知道其作用。
- 问题2解决方案:后面自己才网上百度并在CSDN上看到了一些有关文章,上面对这些基本命令进行了较为详细的诠释并且附加图片进行说明,自己才对这些命令了解一些。
##到目前为止学习java的感悟与思考
在最开始接触到Java时是在第一节课时看到老师在课堂上演示一些操作,可能由于老师讲的比较快,自己对于这些感觉云里雾里的感觉。下课后自己在寝室尝试操作,发现自己不知从哪下手,我想起上课时老师讲的一句话:“要学会自学能力”。于是我开始在云班课,百度,CSDN,B站等进行找相关资源进行学习。可能刚开始比较艰难,但过程中自己发现,Java在你很多地方与C有共通之处,有很多知识点自己其实基本已经会了,后面自成功将程序弄了出来,在那一刻,自己心里感到十分踏实与喜悦。自己也体会到:自己要能学会一定的自学能力,并且要学习一些网络相关知识,开拓自己的能力与视野。
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...