博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

 

# 20202304 2021-2022-1 《数据结构与面向对象程序设计》实验一报告

课程:《程序设计与数据结构》
班级: 2023
姓名: 何锐
学号:20202304
实验教师:王志强
实验日期:2021年9月19日
必修/选修: 必修

 

## 1.实验内容

  • 基于命令行进行简单的Java程序编辑、编译、运行和调试。
  • 练习Linux基本命令;
  • 学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html
  • 编写简单的Java程序。

## 2. 实验过程及结果

一、基于命令行进行简单的Java程序编辑、编译、运行和调试。

(1)编辑

对于java程序的编辑,在linux系统中主要通过vim实现。Vim是一个非常好的文本编辑器。

首先,vim可以直接通过在终端中使用   vim 文件名   或者    vi 文件名    来创建文本文件,通过不同的文件后缀也可创建不同类型的文件。如:

 进入vim后,可以进行文本编辑,有三种模式:

普通模式(Normalmode)、插入模式(Insertmode)、命令行模式(Commandlinemode)

普通模式==>按ia进入插入模式

普通模式==>按:进入命令行模式

其他模式返回普通模式只需ESC键。

 光标移动为 h左  l右  j下  k上  ;

i在当前光标处进行编辑  ;I在行首插入A在行末插入 ; a在光标后插入编辑 ;

o在当前行后插入一个新行 ; O在当前行前插入一个新行。

x删除游标所在的字符;X删除游标所在前一个字符

Delete同x   ;dd删除整行(即剪切,可以通过p粘贴)   ;dw删除一个单词   ;

 :q!强制退出,不保存       :q退出      :wq!强制保存并退出

在普通模式下.(小数点)表示重复上一次的命令操作

普通模式中,yy复制游标所在的整行

普通模式中使用p粘贴

u{n}撤销一次或n次操作

U(大写)撤销当前行的所有修改

Ctrl+r,撤销undo的操作

更多vim操作和指令可以通过Vimtutor进行边玩边学

 

(2)编译

在完成一个java文件的编辑后,即写完一个完整的.java文件后,通过命令  javac 文件名   来对该java文件进行编译。 

 

 

 这是便完成了编译。

 

(3)运行

这里的hello文件是最基础的helloworld。

运行该程序,即hello.class文件,通过命令  java 文件名(此时不需要扩展名)  即可运行程序,如图:

 

 

 

(4)调试

调试可以通过JDB和GDB调试工具对java代码进行调试,细节见第三部分。

 

 

二、练习Linux基本命令

在练习命令行之前首先练习一下linux关于终端的几个快捷键

  • CTRL+ALT+T:打开终端;
  • CTRL+SHIFT+T:新建标签页;
  • ALT+数字N:终端中切换到第N个标签页;
  • Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成;
  • 上下键盘:切换命令历史,刚输入的命令,按键就可以恢复;
  • CTRL+C:中断程序运行。

 

1.基本命令

ls 列出当前目录下的文件(ls -a可以显示当前目录中的所有内容,包括隐藏文件和目录)

 

 

cd 目录名称 = 进入某目录  (cd ..便是退回上一目录)

 

 如上便进入了java文件夹或目录

 

mkdir 创建文件夹

 

 

rm 删除当前目录下某个文件  

 

 

mv 将某文件转移或重命名

  

 

 

cp 复制某文件至某地址

 

 

2.帮助类命令

info

命令是Linux下info格式的帮助指令。阅读 info 格式的文档。

man

man命令:可以通过一些参数,快速查询linux帮助手册,并且格式化显示。

cheat

cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。

 

3.更多

还有很多命令,使用率不高,但可以便利很多操作。

find查找一个文件在系统中的什么位置,locate是神速版本的find。可以通过cheat find学习find命令。

grep 可以对文件全文检索

whereis,which告诉你使用的命令工具装在什么地方。

apt-cache可以在使用apt-get install安装一个程序时先找找软件源的库里有没有这个程序,有才可以安装。

 

 

 

三、学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html

1.习惯:

在bash中打开三个标签页,一个使用vim编辑代码;一个使用javac, java编译运行代码;一个使用JDB调试代码。

2.过程

首先,完成对java程序的编写,使用:w进行保存。

然后,进行编译,使用javac -g ,其中-g参数是为了产生各种调试信息,一定要加上,否则无法调试。

最后,jdb 文件名 对其进行调试

3.调试基础

设置断点:方法断点、行断点、条件断点、临时断点。

stop in xxx 设置断点

 run 使程序运行

 next 使程序运行下一行

 

 

 

 

 

 

 

 

四、编写简单的java程序:

1.hello world 

2.猜数游戏

 

 

 

 

 3.计算利息

 

 

 

 ##实验过程中遇到的问题和解决过程

1.使用linux和vim的过程中对于命令功能的记忆有些许偏差,在反复记忆和联系后解决。

2.在编写java程序时总是忘记引入类,从云班课上学习类的相关知识后解决。

3.一开始对于调试完全不明白,在帖子里学习后逐渐掌握。

4.关于码云的操作不懂,在csdn上学习后解决。

 

 

##其他(感悟、思考等)

最初不理解为何不适用集成开发环境直接学习java,反而还要使用linux,后来在蓝桥云课上自学linux的相关内容以及结合老师上课所讲后愈发理解linux对于初学者的重要性,对于开源且操作及其方便(熟练后)的系统,利用linux可以帮助学习者了解程序运行的原理,能打牢基础。同时,在逐渐熟练后,linux也能做更多具有想象力和创造性的编程工作。

而java,不同于我们之前所学的c,但又有很多相似之处,在学习后发现它也有自己独到的地方,有的地方方便了很多,但是可能由于我还没有完全上手,在编写过程中我还是有些觉得困难,并不能完全理解类与对象相对于c的过程性的差别和好处。

 

 ## 参考资料


-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)