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)
-  ...

 

posted @ 2021-09-23 00:05  20202312郭威  阅读(78)  评论(0编辑  收藏  举报