《数据结构与面向对象程序设计》实验1实验报告(20202309葛鹏宇)
# 20202309 2021-2022-1 《数据结构与面向对象程序设计》实验1报告
课程:《程序设计与数据结构》
班级: 2023
姓名: 葛鹏宇
学号:20202309实验教师:王志强 实验日期:2020年9月16日
必修/选修: 必修
## 1.实验内容
基于命令行进行简单的Java程序编辑、编译、运行和调试。
练习Linux基本命令;
学习Java程序的JDB调试技能:
编写简单的Java程序。
## 2. 实验过程及结果
(1)、基于命令行进行简单的Java程序编辑、编译、运行和调试。
普通模式: 光标 h左 j下 k上 l右
x删除所在字符 dd删除所在行 dw删除所在英文单词
.重复一遍之前操作 w跳到下一个单词开头
E跳到当前单词结尾 b跳到前一个单词开头
0跳到行首 $跳到行尾
i切换为插入模式:输入文本
esc切换为普通模式 再:切换为命令行模式:q!强退不保存 wq!强退保存
wq或者x 保存退出
w<文件路径> 另存为
esc切换为普通模式
(2)、练习Linux基本命令;
man命令会列出一份完整的说明。 其内容包括命令语法、各选项的意义及相关命令 ,可以查看Linux中命令的使用帮助,还可以查看软件服务配置文件、系统调用、库函数等帮助信息。
例:查看man命令的帮助信息:
~$ man man
cat命令用于查看内容较少的纯文本文件
例:查看filename.txt文件:
~$ cat filename.txt
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。
例:直接删除文件:
~$ rm -f filename.txt
mv命令可以移动文件或对其改名。
例:将文件file_1重命名为file_2:
~$ mv file_1 file_2
cp命令功能为复制文件或目录,可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
例:复制多个文件:
~$ cp -r file1 file2 file3 dir
vi命令是linux系统字符界面下的最常用的文本编辑器。vi编辑器是所有linux的标准编辑器,可以对文本进行创建,查找,替换,删除,复制和粘贴等操作。在linux系统shell提示符中输入vi和文件名后,就进入vi编辑界面。如果系统内还不存在该文件,就等于新建文件,如果系统内存在给文件,就意味着编辑该文件。
例:编辑指定文件:
~$ vi filename.java
Linux grep 命令用于查找文件里符合条件的字符串。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
例:在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:
~$ grep test*file
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
例:查找文件、显示命令路径:
~$ which bash/bin/bash
~$ which adduser /usr/sbin/adduser
(3)、学习Java程序的JDB调试技能:
用shift+ctrl+t打开三个标签页,分别用于编写代码,编译运行代码,JDB调试代码。在第一页写完代码后不需只需保存不需退出,alt+2切换到第二页javac -g (文件名)检验。alt+3切换到第三页用jdb (文件名)调试,通过stop in设置间断点方便检查,step继续运行,输入list可以查看运行到源代码的所在位置。
(4)、编写简单的Java程序。
通过vi新建一个文件a.java
编写程序a.java
运行a.java
编写
运行
## 3. 实验过程中遇到的问题和解决过程
- 问题1:无法安装jdk环境
- 问题1解决方案:参考网上办法,将虚拟机网络适配器更换到VMnet8(NAT)使虚拟机接入网络,再下载jdk安装包解决。
- 问题2: 最开始运行程序失败。
- 问题2解决方案:在询问同学之后发现是要先用java -g (文件名)检验,当文件变为.class后缀时就可以运行。
## 其他(感悟、思考等)
第一次接触到虚拟机linux系统和java语言,实验时多次出现不会操作的地方以及有的地方因为不熟练Java犯了逻辑错误,很多时候只能关掉重来,耗费了不少时间,但是在做实验时的摸索中还是掌握了不少terminal的使用技巧,完成Java程序虽然不是很顺利但是还是能够让它成功运行.
## 参考资料
- [《Java程序设计与数据结构教程(第四版)》]