中大实训第一周——Vi,Java,Ant和Junit的自学报告
学艺未精,以下内容仅供参考
Vim 学习
- Vim是从 vi 发展出来的一个文本编辑器,功能强大,但也很难用。。。查了不少资料。先普及一下基础知识吧:
基本上 vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
- 命令模式(也叫Normal模式):状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令insert。
- 输入模式:在命令模式下按下i就进入了输入模式,此模式下跟普通编辑器没什么区别了。
- 底线命令模式:在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
- 接下来讲一下从入门到所谓的高级吧,这些是要用时间去用去感受的,一下子很难全部掌握。
- 先安装Vim,这一步不是本文的重点,可以移步到Vim官网。
- 以下讲解的是在linux下执行的命令:
- 在终端输入vim test.txt或.java , .cpp , .c 等后缀的文件名都能打开,并且vim支持相应代码的高亮度显示,但个人更喜欢sublime。
刚进去是命令模式,按下i键进入输入模式。此时,你可以输入文本了,就像你用“记事本”一样。 - 如果想返回 Normal 模式,请按 ESC 键
- 再按下冒号“:”和“wq”即“:wq”就可以保存你写的文件并正常退出。
- 接下来再讲一些入门级也是常用级语句(命令模式下的)吧
i → Insert 模式,按 ESC 回到 Normal 模式.
x → 删当前光标所在的一个字符。
dd → 删除当前行,并把删除的行存到剪贴板里
p → 粘贴剪贴板
:wq → 存盘 + 退出 (:w 存盘, :q 退出) (:w 后可以跟文件名)
:q!→ 强制退出,不会保存你对文件的修改
:w → 存盘
hjkl (移动光标,但不必需) →你也可以使用光标键 (←↓↑→). 注: j 就像下箭头。个人觉得 (←↓↑→)更 直接好用。
感觉学会上面的命令基本能上手vim编辑了。
- 接下来再介绍其它一下指令吧
u → undo 后退(撤回上一个操作)
ctrl+r → redo 前进
a → 在光标后插入
gg → 到第一行。
G → 到最后一行。 - 更详细的指令推荐一个博客vim简单使用教程-走在大牛的路上
Java学习
- 网上关于java的教程很多,毕竟java是一门很流行的面向对象的编程语言,应该说是纯面向对象,学了C++的我再学java,一开始有点不太适应,特别是main函数放在了一个类里。
Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。
Java可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统。
java常常引以为傲的是一次编译就能在多个平台上运行,不用再重新编译了,原因是java代码与机器之间还设有一层java虚拟机(JVM)所以运行速度不及c和c++。 - 关于java教程我短时间也写不出,也没到这种水平,网上的java教程我整理一下推荐给大家吧
基础的入门的详细的:菜鸟教程、Java快速课程
视频教学:慕课网,龙马高兴教育网
Ant学习
Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。
- 如果是linux系统,直接用sudo apt install ant 就可以了,环境配置都自己设好的(我的情况是这样,如果有别的情况就另当别论了)
- step1:安装:
下载地址:官网,现在已经是1.10版本。解压就能用了,我的路径是(D:\apache-ant-1.9.11-bin)推荐放在根目录。 step2:配置环境变量(我的电脑 -> 属性 -> 高级系统设置 -> 环境变量)(我的是win10的)
设置ant环境变量:
设置Path变量
检测环境变量是否设置成功:
win键+R -> 输入cmd 进入命令行:
输入如下命令:ant
如果出现如下内容,说明安装成功(因为ant默认是执行build.xml文件的):Buildfile: build.xml does not exist! Build failed
但如果出现 ‘ant’ 不是内部或外部命令,也不是可运行的程序或批处理文件
说明安装失败:(可以重复前述步骤,直至安装成功。)下面执行以下helloworld的build.xml
<project name="helloworld" default="complie" basedir=".">
<description>
Hello World
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<target name="init">
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="complie" depends="init"
description="compile the source " >
<!-- Compile the java code from srcinto{build} -->
<javac srcdir="${src}" destdir="${build}"/>
<!-- Compile the java code from srcinto{build} -->
<java classname="HelloWorld">
<classpath>
<pathelement location="build" />
</classpath>
</java>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the buildand{dist} directory trees -->
<delete dir="${build}"/>
</target>
</project>
运行此文件时先创建src文件夹,并且把HelloWorld.java放到里面,然后在命令行里执行ant complie 就可以正常输出helloworld了
讲一下几个很很很基础和重要的两个元素及属性的作用:
- project 元素是构建文件的根元素。
1.name属性,指示 project 元素的名字。例子中的名字就是 MyProject。
2.default属性,指示这个 project 默认执行的 target。在本文的例子中,默认执行的 target 为 dist。如果我们输入命令 ant 时,不指定 target 参数,默认会执行 dist 这个 target。
3.basedir属性,指定根路径的位置。该属性没有指定时,使用Ant的构件文件的所在目录作为根目录。 - target 元素是 task 的容器,也就是 Ant 的一个基本执行单元。一个task可以有多个属性, 一个属性可以包含对一个 property 的引用。
1.name属性,指示target元素的名称。这个属性在一个project元素中必须是唯一的。这很好理解,如果出现重复,Ant就不知道具体该执行哪个 target 了。
2.depends属性,指示依赖的 target,当前的 target 必须在依赖的 target 之后执行。
关于其它更多元素和属性推荐两个博客:
Ant简易教程、ant详细入门教程
Junit学习
在实训中linux上配置junit的感受就是迷。。。。。一开始不会配置各种各样的错误
(一下内容是实训的学习过程,未必适合普通大众,主要分享给下一届师弟师妹们,让他们不要重踏我遇到过的坑和遇到的种种疑惑(-_- 在宿舍疯狂乱叫的感受。。。))
- Step1:
首先找到云桌面放junit-4.9.jar 的位置,一般会帮你下载好的,只需自己配置环境就行,这次是在File System -> opt ->resources 目录下,找到junit-4.9.jar ,将文件复制到Downloads文件夹下(确定要复制到这个文件夹下,当然也可以复制到别的文件夹,但后面讲的内容就要改一些参数了,所以先移到Downloads下吧) - Step2:
然后在命令行(即终端)下运行subl ~/.bashrc (如果你习惯Vim 也可以用 vim ~/.bashrc ) - Step3:
在打开的文件末尾加入下面三句话:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/home/administrator/Downloads/junit-4.9.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
然后保存并退出
- Step4:终端执行source ~/.bashrc,这是使设置的路径生效的作用,看到CLASSPATH中有一部分是关于junit的了吧,前面有路径“Downloads”是吧,这也是让你们把junit-4.9.jar放到Downloads目录下的原因, 当然这也是可以改的。
(这里提醒一个bug :administrator别打错,留意看) - Step5:到此为止juint环境已经配置好了,然后测试一下HelloworldTest
Helloworld.java:
public class HelloWorld {
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 helloworld = new HelloWorld();
@Test
public void testHello() {
helloworld.hello();
assertEquals("Hello World!", helloworld.getStr());
}
}
保存后编译运行,命令如下:
javac HelloWorldTest.java HelloWorld.java
java –ea org.junit.runner.JUnitCore HelloWorldTest
结果显示:
经历了实训第一周,感觉要求上很多东西没说明白,很多东西也没提供方向,全靠自己摸索和队友互相协助,还有现操,unity3d,计组实验,数据库,操作系统等作业。。。好吧,又要继续赶作业了,希望此博客对下一届的学弟学妹们有帮助,少走弯路。