中级实训自学报告

中级实训自学报告

关于vim、Java、Ant、Junit的自学报告:

  • Vim
  • Java
  • Ant
  • Junit

Vim

Vim编辑器作为vi的升级版本,不仅完全兼容vi的所有指令,还加入了许多新的特性,实际上我在虚拟机中经常使用的编辑器除了sublime之外就是vim了,vim功能强大,但是却需要了解许多指令以及配置。

如何编辑文件
当我们使用vim来编辑文件,如vim hello.java时,首先进入的是命令行模式,此时是不能直接编辑文件的,要按下i来进入插入模式,值得一提的是,用i来进入是从光标当前位置开始输入,而用a和o来进入分别是从下一个位置和插入新行,从行首开始输入

如何保存/退出编辑文件
在插入模式下先按ESC,就可以回到命令行模式,此时输入:w或者:w!就可以保存文件,输入:q或者:q!退出编辑,输入:wq!或者wq保存 并退出。至于加不加!的区别,加了!之后有强制性的意思,如wq!可以强制写入,忽略文件的只读属性

如何在vim里面复制粘贴
在命令行模式下按v就可进入字符选择模式,此时可以利用h(左),l(右),j(下),k(上)来移动选择要复制的内容,如图所示:
这里写图片描述
当选好后按下y就完成复制,再按下p就可以完成粘贴了

对Vim进行简单配置
刚装好的vim真的很难用,但我们可以通过修改它的配置让它更方便使用:在终端使用sudo vim /etc/vim/vimrc来对vim的配置文件进行编辑,我的配置如下:
这里写图片描述
设置语法高亮
这里写图片描述
set nu显示行号
set tabstop=2 tab长度设置为2
set nobackup保存文件时不进行备份
set ruler右下角显示光标位置的状态行
set mouse=a使vim编辑支持鼠标操作
set showmatch括号自动补全

其实也是很简单的配置

值得一提的是,在vim支持鼠标操作后,复制粘贴就很容易了:用鼠标选中要复制的字符串,再到要粘贴的光标处按下鼠标滚轮,即可完成粘贴

Java

要使用java,首先得安装JDK(Java开发的核心,它包括Java的运行环境(JVM+Java系统类库)和Java工具),并配置环境变量,这个教程网上有很多

首先编写最简单的helloworld,Java与C++都是面向对象语言,Java是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术,因此可以发现main函数写在了helloworld这个类里面:
这里写图片描述
另外,Java中main函数的参数String[] argv是必须写的,这与C++不同。在之前我使用eclipse编写Java程序时可以通过Run Configuration输入这个参数的值,本次实训中我用的命令行来编写Java程序,要在命令行中输入参数,如下所示
这里写图片描述
这里写图片描述
传递参数的命令 java Test args[0] args[1 ] args[2 ] ……

Calculator小程序
关于Calculator小程序,实际上就是一个简单的Java GUI设计,下面的+-*/=可以用5个按钮JButton来制作,它支持事件监听;要支持输入的操作数可以用JTextField来制作;要显示的另外3个部分都可以用JLabel来实现。
它们三者都可以用setText()函数来设置显示的内容,用getText()来获取显示的内容。
这个程序的关键在于给Button设置事件监听并处理事件。
关于各种语法的记录:
addActionListener()给JButton设置监听器
actionPerformed(ActionEvent e)处理事件,在点击button时触发,可在此函数中通过e.getSource()获取点击的button

public class Calculator extends JFrame implements ActionListener{}表示Calculator类继承JFrame类并实现ActionListener接口,JFrame是GUI的基础,Calculator类继承它后就成为一个窗体,可以设置窗体的各种控件、属性
setBorder()可以给控件JLabel设置标签
setLayout(2,5,5,5)设置窗体布局,Grid布局为网格布局,此处参数代表2行5列,行列间距都为5,控件从左往右,从上往下排列
setSize()和setLocation()分别设置窗体大小和初始显示位置

运行结果
这里写图片描述

Ant

Ant是一种基于Java的build工具,它可以实现项目的自动构建与部署功能,我感觉它类似于去年初级实训学习的makefile工具。安装和配置环境变量方法在github上已经给出详细说明。

Ant的关键文件是build.xml(默认名称),在执行ant命令时,默认会去寻找build.xml文件,按照该文件来进行构建和部署。

Ant的关键元素

  • project project元素是Ant构件文件的根元素,每个Ant构件文件至少应包含一个project文件,每个project元素可包含多个target元素。
    它的属性有:name(设置project元素名称)、default(指定Ant默认执行的target的名称)、basedir(指定基路径位置,一般用 “.” ,即当前目录)

  • target target元素是Ant的基本执行单元,它可以包含一个或者多个任务,每个target之间可以有相互依赖关系
    它的属性有:name、depends(描述target之间的依赖关系,当要依赖多个target时,用 , 来间隔target名称,并依照depends中target出现的顺序依次执行每个target)、if(验证指定属性是否存在,存在则target执行)、unless(作用与if相反)、description

  • property property属性类似于变量的定义,可以通过它来定义之后要用到的属性值,如
    这里写图片描述
    可以在之后通过${name}来获得“amigo”这个值

用Ant来编译运行Java程序
对于之前写的helloworld程序,可以通过ant命令来一键编译运行,build.xml如下:
这里写图片描述
每个target的作用:
build用来编译helloworld.java文件,生成的helloworld.class文件放入classes文件夹
run用来运行helloworld,它依赖于clean和build,在执行run之前要先运行clean和build,classpath指定helloworld.class的路径
jar用来生成jar包,jar文件是一种封装,将要引用的通用类打包便于管理,当然helloworld例子中并不需要
clean用来删除编译生成的helloworld.class文件

写好之后就可以在终端输入ant run或者ant(build.xml中设置了默认执行run)就可以运行helloworld了
这里写图片描述

Junit

Junit是Java的单元测试,可以针对一个独立的工作单元(通常指一个方法)来进行正确性验证,即对Java程序的一个方法进行测试

首先编写一个HelloWorld类和一个HelloWorldTest测试类
这里写图片描述
这里写图片描述

把这两个java文件放在同一目录下,可以用junit来进行测试。为了更方便地使用junit,可以先配置junit的环境变量,参考github:
这里写图片描述
在配置好环境后,就可以使用了:
这里写图片描述
@Test 注释表示该方法为测试方法,即本例中的TestHello,该方法用public void修饰

用Ant和Junit来测试HelloWorld:
新建项目文件夹,将.java文件放入src文件夹,在项目文件夹里编写build.xml,如下所示:
这里写图片描述
在此处只列出了关键部分,可以看到,在javac中我增加了对HelloWorldTest.java和junit-4.9.jar的include,实际上这是为了同时编译两个.java文件,并引用要用到的junit-4.9.jar中的类

在run中我增加了junit测试,printsummary设为true可以打印出junit得到的信息,classpath指定要用到的.class所在路径;而使用java来运行的写法也与之前有了很大不同,classname值变为了”org.junit.runner.JunitCore”,HelloWorld变成了java命令的参数。

运行结果
这里写图片描述
可看到junit和java的运行结果

猜你喜欢

转载自blog.csdn.net/chenf1999/article/details/79944887