Vim,Java,Ant和Junit的自学报告

标签: Vim Java Junit Ant
14人阅读 评论(0) 收藏 举报

Vim,Java,Ant和Junit的自学报告

Vim

三种模式

命令模式(Command mode)常用命令

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。
  • 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。使用gg=G可对整篇代码进行排版。
  • v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。
  • 选中文本后
    • d 删除
    • y 复制
    • p 粘贴
  • dd 删除一行
  • u 撤销
  • ZZ 保存并退出

输入模式(Insert mode)

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式(Last line mode)

  • q 退出程序
  • w 保存文件
  • wq 保存并退出
  • q!不保存直接退出

Java

jdk的安装和配置

  • sudo apt-get install default-jdk
  • 配置环境变量:JAVA_HOME 添加jdk安装目录,CLASSPATH添加JAVA_HOME/lib
  • java -version
    这里写图片描述
    如图所示说明jdk环境变量配置完成。

基本数据类型

  • 逻辑型:boolean.
  • 文本型:char.
  • 整型:byte,short,int 和 long.
  • 浮点型:double 和 float.

复合数据类型(对象数据类型)

Java的类:

class 类名 {
    声明属性;
    声明构造函数;
    声明方法;
} 

调用方法的写法与c++一样:对象.方法名

基本语法

与C++类似。

程序流程控制

  • 循环:while,do while,for
  • 分支: if else,switch
  • 跳转:break,continue, label:,return

标签是出现在一个语句之前的标识符,标签后面要跟上一个冒号(:),标签的定义如下:

label:statement;//定义标签
break [label] //用来从语句、循环语句中跳出。
  • 异常处理:try-catch-finally,throw

拆箱与装箱

Integer counter = 1; // 装箱
int counter2 = counter; // 拆箱

JVM会自动执行转换,并会对代码进行优化,在自动装箱时对于值从–128到 127 之间的值,使用一个实例(地址相同)。
当两个对象之间比较时,比较的是地址。

数组

int[] a = {1, 2, 3};
int[] b;
b = new int[5];
int[] c = b;

继承

与c++不同,每个子类只能从一个父类继承(单继承)

内存管理

垃圾收集器以较低的优先级在系统空闲周期中执行,通俗一点说就是它级别低,别人不运行时候才轮到它,因此垃圾收集器的速度比较慢。有些时候我们会使用 System.gc()。手动回收。这样来提高性能。

GUI组件(以Calculator为例)

swing


  • JFrame:窗口

构造函数JFrame(String title)
创建一个标题为title的,初始不可见的窗口。
JFrame frame = new JFrame("Easy Calculator");

public void setLocation(int x,int y)
设置窗口位置

frame.setLocation(300, 200);

public void setResizable(boolean resizable)
设置此窗体是否可由用户调整大小。

frame.setResizable(false);

public void pack()
调整此窗口的大小,以适合其子组件的首选大小和布局。如果该窗口和/或其所有者还不可显示,则在计算首选大小之前都将变得可显示。在计算首选大小之后,将会验证该窗口。
public void setVisible(boolean b)
根据参数 b 的值显示或隐藏此组件。

frame.setVisible(true);

public void setLayout(LayoutManager mgr)
设置此容器的布局管理器。

frame.getContentPane().setLayout(new BorderLayout());


  • JPanel:用于容纳同类型的组件
  • JTextField:文本框,允许编辑单行文本

JTextField(String text, int columns)
构造一个用指定文本和列初始化的新 TextField。
String first = "0";
JTextField first_field = new JTextField(first, 5); //文本为0,最多5列


  • JButton:按钮

JButton(String text)
创建一个带文本的按钮。
JButton add = new JButton("+");  
//给按钮添加事件处理器,有点像javascript
add.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        signal = "+";
        signal_field.setText(signal);
        result_field.setText(result);
    }
});

更高级的特性还没来得及学呢

Ant

作用类似makefile,但更高级

build.xml - 位于项目根目录

几个基本的元素

<?xml version="1.0" Encoding="UTF-8" ?>
<Project default="run" name="HelloWorld"> //项目的名称
</Project>
<property name="src" value="src" /> //相当于定义一个变量src,值为src,使用方式:${src}
<target name="compile" depends="init"> //编译,并定义依赖关系:需要先进行初始化
    <javac srcdir="${src}" destdir="${dest}"/> //编译src文件夹中的文件,输出到dest文件夹
</target>
<target name="build" depends="compile"> //打包,需要先进行编译
   <jar jarfile="${hello_jar}" basedir="${dest}"/> 
</target>
<target name="run" depends="build"> //运行,需要先进行打包
   <java classname="HelloWorld" classpath="${hello_jar}"/>
</target>
<target name="clean"> //清理,删除classes文件夹和HelloWorld.jar
   <delete dir="${dest}" />
   <delete file="${hello_jar}" />
</target>
<target name="rerun" depends="clean,run">  //清理并重新(编译、打包)运行
   <ant target="clean" />
   <ant target="run" />
</target>

编译

ant build

运行

ant run

清理

ant clean

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

保存后退出。

source ~/.bashrc

路径生效。

编写测试类

//HelloWorld.java
import java.util.*;

public class HelloWorld {
    String str;
    public void HelloWorld(){
        str = "Hello World!";
    }
    public String getStr() {
        return str;
    }
}
//HelloWorldTest.java
//在 import 关键字后面加上 static 关键字,就可以把后面的类的 static 的变量和方法导入到这个类中,调用的时候和调用自己的方法没有任何区别。
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

-ea是enableassertion的缩写,在测试时使断言有效,参数为 [:packagename…|:classname]

junit测试结果

也可以用把junit集成到ant中
在build.xml中添加

<target name="test" depends="compile">
    <java classname="org.junit.runner.JUnitCore">
        <classpath>
            <pathelement path=\${dest} />
            <pathelement path="/opt/resources/junit-4.9.jar"/>
        </classpath>
        <arg value="HelloWorldTest" />
    </java>
</target>

之后

ant build //编译
ant test //测试
查看评论

Powershell HTML 报告管理

-
  • 1970年01月01日 08:00

Vi,Java,Ant,Junit自学报告

Vi,Java,Ant,Junit自学报告本自学报告将分别对Vi, Java, Ant. Junit进行论述,再附上一些自己的感想。1.Vi1.1 Vi是什么Vi是Linux系统自带的命令行文本编辑器...
  • LoHiauFung
  • LoHiauFung
  • 2017-03-18 21:13:34
  • 391

Vi, Java, Ant, Junit自学报告

Vi学习一直以来都有听说过两大编辑器之神:emacs 和 vim。这次有机会学习一下vim的“简化版”——vi,我是很感兴趣的。 vi 编辑器是所有 Unix 及 Linux 系统下标准的编辑器,它...
  • Young_Chen_
  • Young_Chen_
  • 2017-03-19 22:19:40
  • 170

Vi、Java、Ant、Junit自学报告

Vi、Java、Ant、Junit自学报告 〇、前言 Ⅰ、Part1 Vi 1.1 Vi的定义 1.2 Vi的三种模式 1.3 Vi的基本操作 1.3.1 打开文件 1.3.2 输入文字 1.3...
  • wyxwyx469410930
  • wyxwyx469410930
  • 2018-04-15 15:30:07
  • 54

Vi,Java,Ant和Junit的自学报告

# Vi,Java,Ant和Junit的自学报告 # **实训第一周**   虽然才刚开始初步的实训学习,但是短短的两天半的时间内,却已经做了不少事情。同学们在群里的询问、回答、讨论,都让我...
  • qq_33375026
  • qq_33375026
  • 2017-04-05 22:58:16
  • 169

Ant与Junit自学报告

Ant的使用 Ant是一个基于java的生成工具,我们可以用Ant来编译java类、自定义标签、配置文件、可以把相关架构整理成包,还可以打包J2EE Web项目然后用Tomcat运行。Ant的功能非...
  • m0_37782473
  • m0_37782473
  • 2018-04-15 10:17:09
  • 10

Vi,Java,Ant,Junit的自学报告

Vi,Java,Ant,Junit,SonarQube的自学报告 Vi/Vim 参考资料:《鸟哥的Linux私房菜》 为什么在Linux的世界中选择vi,vim 可以快速地在终端中编辑属于纯...
  • tigerbrother123
  • tigerbrother123
  • 2018-04-15 21:01:35
  • 13

雾山的Robotium学习笔记---使用<em>junit</em>report导出测试<em>报告</em>

共9个 共3页 1 <em>2</em> 3 下一页 jenkins <em>junit</em>测试...<em>JUnit</em>使用<em>ANT</em>格式化生成html测试<em>报告</em> 立即下载 上传者...资源所需积分/<em>C</em>币 当前拥有积分 当前拥有<em>C</em>币 5 0...
  • 2018年04月17日 00:00

Vim,Java,Ant和Junit的自学报告

Vim,Java,Ant和Junit的自学报告 Vim,Java,Ant和Junit的自学报告 Vim 三种模式 命令模式(Command mode)常用命令 输入模式(Insert mode)...
  • hath_cdy
  • hath_cdy
  • 2018-04-15 18:53:37
  • 14

[Grid World]实训第一阶段--vi,java,ant,junit自学报告

自学报告 vi java ant Junit vi编辑器的使用vi编辑器是所有Unix及Linux系统下标准的编辑器。1. vi基本概念vi有三种状态,命令模式(comma...
  • LadyCaro
  • LadyCaro
  • 2017-03-19 16:40:06
  • 457
    个人资料
    等级:
    访问量: 294
    积分: 31
    排名: 223万+
    文章分类
    文章存档
    最新评论