Vim
vim的配置
这里参考了https://blog.csdn.net/Ac_wolf/article/details/78813438,不在多做赘述。
比较重要的是:
1.语法高亮。可以按原来的配色,按照个人习惯。
2.自动补全。这个可以减少代码的直接输入量,对于效率提高很有帮助。
vim的三种模式
命令模式
未选择文本
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
- 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。使用gg=G可对整篇代码进行排版。
- v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。
- ggVG 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾
选中文本后
- d 删除
- y 复制(默认是复制到”寄存器)
- p 粘贴 (默认从”寄存器取出内容粘贴)
- +y 复制到系统剪贴板(也就是vim的+寄存器)
- +p 从系统剪贴板粘贴
输入模式(Insert mode)
其中大部分是正常的文本操作,需要注意的是
- 鼠标不能随意改变光标的位置
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底部命令模式
最常用的命令
- q 退出程序
- w 保存文件
- wq 保存并退出
- q!不保存直接退出
Vim总结
是很强大的编辑器,支持多种插件,但是需要大量的联系。
其根本优势在于解决了键鼠分离的问题,熟悉之后几乎键盘的所有键都能成为功能键。但是确实是一件很困难的事。
JAVA
jdk的安装
sudo apt-get install default-jdk
jdk安装完成后注意添加环境变量
vim ./bashrc
添加环境变量
source ./bashrc
java的基本语法
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
java编译运行基本语法
$ javac HelloWorld.java
$ java HelloWorld
Hello World
注:JAVA的基础数据类型和C++极度相似,数组,条件分支结构也都大同小异。
值得注意的有三点:
- java继承只能有一个父类,这一点可以通过接口(Interface)来实现C++的继承多父类效果,
- java具有垃圾回收机制,绝大多数情况下不需要程序员手动释放内存,这也是java的优势之处。
- java取消了指针机制,可以通过引用和内部类等语法来实现指针的部分操作。
javaGUI
主要分为swing和awt两种,其中swing的更新频率相对来说会慢很多。
基本的类型
JFrame//窗口框架
frame = new JFrame("My Calculator");
JPanel //存储相同类型元素
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 5));//设置行列
JTextField //文本框
xfield.setText("12");
JButton//按钮
div = new JButton("/");
每个数据类型都有很多的相关函数,具体请参见http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
Ant
功能
Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在实验中,主要熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。
Build.xml
<?xml version="1.0"?>
项目名称
<project name = "javacProject" default="run" basedir="."/>
清除
<target name = "clean">
<delete dir = "build"/>
</target>
编译
<target name = "compile" depends = "clean" >
<mkdir dir = "build/classes"/>
<javac srcdir="src" destdir = "build/classes"/>
</target>
运行
<target name = "run" depends = "compile">
<java classname = "Calculator" fork= "true">
<classpath>
<pathelement path = "build/classes"/>
</classpath>
</java>
</target>
命令行使用ant
ant + 要执行的targetname//没有的话默认全部执行
Junit
添加环境变量和jdk部分相似
以下为具体环境变量代码
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
Example
要测试的类
import java.util.*;
public class HelloWorld {
String str;
public void hello() {
str = "Hello World!";
}
public String getStr() {
return str;
}
}
测试类
import static org.junit.Assert.*;
import org.junit.Test;
public class HelloWorldTest {
@Test
public static void main(String[] args) {
HelloWorld helloworld = new HelloWorld();
helloworld.HelloWorld();
assertEquals("Hello World!",helloworld.getStr());
}
}
测试
javac HelloWorldTest.java
java -ea org.junit.runner.JUnitCore HelloWorldTest
补充(junit ant合并使用)
<?xml version="1.0" encoding="utf-8"?>
<property name = "output" value = "bin"/>
<property name = "src" value = "src"/>
<property name = "test" value = "test"/>
<property name = "report" value = "report"/>
<target name = "clean">
<delete dir = "${report}"/>
</target>
<target name = "compile" depends = "clean" >
<mkdir dir = "${report}"/>
<javac srcdir="${src}" destdir = "${output}" includeantruntime="true">
<classpath>
<fileset dir= "." includes="**/*.jar"/>
<pathelement path = "${output}"/>
</classpath>
</javac>
<echo>compilation complete</echo>
</target>
<target name = "testcompile" depends = "clean">
<fileset dir= "lib" includes="**/*.jar"/>
<javac srcdir = "${test}" fork= "true" includeantruntime="true"/>
<echo>test compilation complete</echo>
</target>
<target name = "allcompile" depends="compile, testcompile"></target>
<target name = "run" depends="compile">
<java classname="HelloWorld" classpath ="${output}"/>
</target>
<target name = "test" depends="allcompile">
<junit printsummary="on" fork="true" showoutput="true">
<classpath>
<fileset dir= "." includes="**/*.jar"/>
<pathelement path = "${output}"/>
</classpath>
<formatter type="xml"/>
<batchtest todir="${report}">
<fileset dir="${output}">
<include name = "**/*Test.*"/>
</fileset>
</batchtest>
</junit>
<junitreport todir="${report}">
<fileset dir="${report}">
<include name="Test-*.xml"/>
</fileset>
<report todir="${report}">
</report>
</junitreport>
<java classname="org.junit.runner.JUnitCore">
<arg value="HelloWorldTest"/>
<classpath>
<pathelement path="${output}"/>
<pathelement path="./junit-4.9.jar"/>
</classpath>
</java>
</target>