vim,java,ant,Junit自学报告
author: carey
date: 2018-04-15
[本人学院][(http://sdcs.sysu.edu.cn/)]
目录:
vim学习
vim的安装
ubuntu系统,我们可以直接包管理下载。
在终端Terminal敲下:
sudo apt-get install vim-gtk
按照提示下完成下载安装。
vim的简单配置
刚下载好的vim并没有太多的功能,例如可能并没有行号显示,语法高亮,自动补全等。
这需要我们去配置,让vim更人性化。
在终端Terminal敲下命令:
sudo vim /etc/vim/vimrc
然后输入用户密码获得配置权限。
接着,在文件的最后一行输入以下语句:
set nu // 在左侧行号
set tabstop //tab 长度设置为 4
set nobackup //覆盖文件时不备份
set cursorline //突出显示当前行
set ruler //在右下角显示光标位置的状态行
set autoindent //自动缩进
另外如果文件中syntax on
这一句被注释掉了:
if has("syntax")
syntax on
endif
取消注释,就配置好语法高亮。
做完以上的修改,保存文件并退出。
这样如图,我们的vim就初步配置得稍微人性化一些了。
vim简单指令学习
初次使用vim会觉得vim有点麻烦,例如vim有命令模式,命令模式下有很多指令,用来方便我们来编辑代码,进行保存退出,插入删除等。
那么我们就要去了解这些指令。
在实训中我主要使用的是以下几条命令:
命令 | 作用 |
---|---|
i | 在光标之前插入 |
:q | 退出 |
:w | 保存 |
:wq | 保存并退出 |
dd | 删除光标所在行 |
u | 撤销操作 |
gg | 跳到第一行 |
G | 跳到最后一行 |
更多的命令,参照我另外的一篇转载的博客
我的转载之VIM常见命令
java学习
jdk下载安装
ubuntu系统下,我们直接包管理下载安装jdk,在终端Terminal下敲下命令:
sudo apt-get install default-jdk
根据提示完成安装,并且包管理会自动配置好环境变量。
配置检查,在终端Terminal敲下命令
java -version
如果出现下图这样,jdk就安装并配置好了
java简单使用之HelloWorld
以helloworld为例子:
终端下新建helloworld.java代码文件:vim helloworld.java
代码如下:
public class helloworld {
public static void main(String args[]) {
System.out.println("Hello world!");
}
}
helloworld的编译运行,在终端Terminal中敲下编译执行命令:
javac helloworld.java
java helloworld
java简单实用之Calculator简易计算器
关于calculator简易计算器的Java实现。
学习Java的GUI界面知识,继承类JFrame来实现界面
public class Calculator extends JFrame implements ActionListener {
//todo
}
对于按钮功能的实现,我们采用监听器来实现监听和事件处理:
@Override
public void actionPerformed(ActionEvent e){
//todo
}
对于非法的输入,我们进行异常处理,弹出提示框警告
try {
//todo
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Input Invalid!", "WARNING", JOptionPane.WARNING_MESSAGE);
}
具体的代码实现见本人github:
SYSUcarey的github
最后的运行结果:
ant学习
ant的下载安装
使用包管理安装下载,终端Terminal下:
sudo apt-get install ant
根据提示完成ant的安装,包管理自动帮忙配置好环境变量。
检查安装、配置是否成功,终端Terminal下
ant -version
ant的使用
以简单的helloworld为例子。
我们创建的helloworld项目的文件结构如图:
其中src文件夹用来放置代码源文件。
classes文件夹用来放置.class文件。
lib文件夹用来放jar包。
sonar-project.properties是后面使用sonar-runner的相关文件这里不关心。
使用ant进行管理,我们要在项目内创建一个build.xml文件,这里我们创建在项目根目录下。build.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="classes" value="classes"/>
<property name="lib" value="lib"/>
<target name="init">
<mkdir dir="${classes}"/>
<mkdir dir="${lib}"/>
</target>
<target name="clean">
<delete dir="${classes}"/>
<delete dir="${lib}"/>
</target>
<target name="jar" depends="compile">
<jar jarfile="${lib}/helloworld.jar">
<fileset dir="${classes}"/>
<manifest>
<attribute name="Main-class" value="helloworld"/>
</manifest>
</jar>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${classes}">
<include name="helloworld.java"/>
</javac>
</target>
<target name="run" depends="compile">
<java classname="helloworld" classpath="${classes}"/>
</target>
<target name="test">
<javac srcdir="${src}" destdir="${classes}">
<include name="HelloWorldTest.java"/>
<include name="HelloWorld.java"/>
</javac>
<java classname="org.junit.runner.JUnitCore" >
<arg value="HelloWorldTest"/>
<classpath>
<pathelement path="${classes}"/>
<pathelement path="${src}/junit-4.9.jar"/>
</classpath>
</java>
</target>
</project>
根据我的理解,其中
property是设置目录地址,用来后文方便写路径。
target 是ant 的每一个命令, 有命令名,target里面是写对于ant命令的实现。
ant init命令是对文件结构的初始化,创建classes和lib文件夹目录。
ant clean命令是清除部署,删除classes和lib文件夹。
ant compile命令是编译操作,依赖于init操作,用来编译src文件夹里的helloworld.java,并将生成的helloworld.class放进classes文件夹内。
ant run命令是运行helloworld.class文件操作,依赖于compile编译操作。
ant jar命令是打包操作,依赖于compile编译操作,将生成的jar包放入lib文件夹目录。
ant test命令是测试命令,与后面的Junit结合,这里先不关心。
ant 编译运行helloworld.java示范:
终端Terminal下:
ant run
打包操作:
ant jar
发现helloworld.jar已经在lib文件夹下,运行jar包:
java -jar helloworld.jar
Junit学习
Junit下载安装
从Junit官方下载网站https://github.com/KentBeck/junit/downloads上下载(若失效了,请自行百度)
Junit环境变量配置
在终端下:
vim ~/.bashrc
在文件末尾添加
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/home/adminstrator/Downloads/junit-4.9.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
其中第一行JAVA_HOME的配置,指向自己的jdk文件,包管理安装的jdk,文件目录默认在/usr/lib/jvm
中
第二行代码中的/home/adminstrator/Downloads/junit-4.9.jar
要指向自己放置的junit-4.9.jar包,路径要写对。
添加完后,保存并退出
终端下添加下面这一句,使配置生效:
source ~/.bashrc
Junit使用
以helloworld的Junit测试为例子。
在src文件夹下,我们重写helloworld.java文件:
public class helloworld {
public static void main(String args[]) {
System.out.println("Hello world!");
}
String str;
public void hello() {
str = "Hello World!";
}
public String getStr() {
return str;
}
}
同时,我们创建一个HelloWorldTest.java文件:
import static org.junit.Assert.*;
import org.junit.Test;
public class HelloWorldTest {
public helloworld hw = new helloworld();
@Test
public void testHello() {
hw.hello();
assertEquals("Hello World!", hw.getStr());
}
}
这时候我们要用JUnit来测试helloworld的getStr()和hello()函数是否正确。
如果已经配置好了环境变量,我们直接在Terminal敲下命令编译HelloWorldTest即可:
javac HelloWorldTest.java
java org.junit.runner.JUnitCore HelloWorldTest
如果还没有配置环境变量,那么也可以用-classpath路径引用junit-4.9.jar进行编译。我们先把junit-4.9.jar放进src文件夹内
在终端下:
javac -classpath .:junit-4.9.jar HelloWorldTest.java
java -classpath .:junit-4.9.jar org.junit.runner.JUnitCore HelloWorldTest
如果junit-4.9.jar不在src内也可以通过相对路径去引用它,例如如果它在Desktop目录下.
javac -classpath .:../../../junit-4.9.jar HelloWorldTest.java
java -classpath .:../../../junit-4.9.jar org.junit.runner.JUnitCore HelloWorldTest
ant管理Junit来测试helloworld
前面提到过,build.xml里有ant test命令,具体如下:
<target name="test">
<javac srcdir="${src}" destdir="${classes}">
<include name="HelloWorldTest.java"/>
<include name="HelloWorld.java"/>
</javac>
<java classname="org.junit.runner.JUnitCore" >
<arg value="HelloWorldTest"/>
<classpath>
<pathelement path="${classes}"/>
<pathelement path="${src}/junit-4.9.jar"/>
</classpath>
</java>
</target>
其作用就是利用ant来实现测试,不用在终端命令行敲下太多而只用ant test
即可代替。