20202319 实验一 《linux基础与java开发环境》实验报告
# 20202319 2021-2022-1 《数据结构与面向对象程序设计》实验一报告
课程:《程序设计与数据结构》
班级: 2023
姓名: 吕炳翰
学号:20202319
实验教师:王志强
实验日期:2021年9月19日
必修/选修: 必修
## 1.实验内容
1、基于命令行进行简单的Java程序编辑、编译、运行和调试。
2、练习Linux基本命令;
3、学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html
4、编写简单的Java程序。
## 2. 实验过程及结果
一、基于命令行进行简单的Java程序编辑、编译、运行和调试。
1.命令行基本操作
(1)cd命令用来切换工作目录
(2)cd .. 进入上级目录
(3)mkdir命令用来创建目录
(4)mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中,将一组文件移至一个目标目录中
(5)rm命令可以删除一个目录中的一个或多个文件或目录
(6)ls命令用来显示目标列表
(6)创建一个java程序
(7)vim编辑器的运用
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、练习linux基本命令
关于文件:vi 【文件名】(生成一个文件,并进入)、rm 【文件名】(删除这个文件)【文件名】 -version(查询该文件是否存在)、cat 【文件名】(显示文件中的内容)
关于目录:ls(查询目录)、ls -a(查询全部目录,包括隐藏目录)、cd(切换到根目录)
复制:cp test test1(复制文件test到test1)
文件改名:mv test test1(将文件test的名称改为test1)
查找文件:find 【文件名】
打开帮助手册:man man(man 指令名:详细查看关于该指令的使用说明)
修改时间:touch -t 【时间】 【文件名】
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、学习Java程序的JDB调试技能
jdb的调试
【1】(无输入型)调试Hellojava文件
【2】(有输入型)使用jdb调试shijian程序
4、编写简单的Java程序。
运行结果
## 3. 实验过程中遇到的问题和解决过程
- 问题1:首先是在使用linux和vim编辑器的时候,由于是第一次使用这种方式操作系统,而且特别是对于命令都不太熟悉,所以导致根本不知道怎么用这个编辑器。
- 问题1解决方案:随后我就去CSDN上搜索了一些口令后开始自己尝试敲,慢慢也就熟练了起来。
- 问题2:在安装jdk的时候出现了比较麻烦的事情,系统一直显示无法获得锁。
- 问题2解决方案:后来上百度搜索找到了相应的解决办法。
##到目前为止学习java的感悟与思考
初次遇见java这门新语言,就感觉它在一些方面上和c语言十分相似,在某些方面又十分的不一样,都说万事开头难,刚开始java的繁琐的口令以及命令都与平常敲c语言非常不一样,所以能感到十分的乏力以及厌倦,尤其是上课的时候老师能够敲打的十分自如以及流利,更让我觉得应该学好这门语言,所以我开始上百度,CSDN,通过能找到的方式去寻找java的入门方式,随后可逐渐熟练起来,上课也试着追赶老师的进度,作为新时代的大学生,就应该学会拓宽视野,去学习更多知识,所以,上课时做好笔记,下课积极练习,随后再去找一些题目,从而做到更能提高自己的java水平,努力向成为一名合格的java人才靠近。