Vi, Java, Ant和Junit的自学报告(studyreport.md)

Vi, Java, Ant和Junit的自学报告(studyreport.md)

Vi

Vi:打开/新建文件, 进入Vi界面:$ vi file

如果该文件存在,则打开文件;否则,新建一个名为file的文件.
e.g. $ vi HelloWorld.java$ vi main.cpp

Vi: 命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)

命令模式:初次进入vi界面,就是命令模式。此模式下,任何输入字符都会被识别为命令。常见命令:

  1. i 切换到输入模式,以输入字符。
  2. x 删除当前光标所在处的字符。
  3. : 切换到底线命令模式,以在最底一行输入命令。

输入模式:从命令模式输入"i"字符,到达输入模式。此模式下的输入跟正常的文本输入基本一致。注意以下两点:
1. 按insert键,会切换光标为输入/替换模式,光标将变成竖线/下划线
2. 按esc键,会返回到命令模式。

底线命令模式:从命令模式输入":"字符,到达底线命令模式。该模式下,常用的命令有:
1. w 保存
2. q 退出
3. wq 保存并退出
【注意:-r 可以强制执行命令】

Java

Java: 从HelloWorld.java开始

下面是HelloWorld.java的内容,程序运行输出HelloWorld

// 声明公共类HelloWorld,公共类的名字需要与文件名保持一致
public class HelloWorld {
	// main函数是程序入口,类似于c++的main函数
	public static void main(String[] args) { // 约定俗成的写法,args是参数
		// 输出HelloWorld并回车
		System.out.println("HelloWorld!");
	}
}
Java: 从编译到运行

编译:javac HelloWorld.java,生成字节码文件HelloWorld.class
运行:java HelloWorld,运行HelloWorld.class,输出HelloWorld

[administrator@host-172-18-229-12 ~]$ vi HelloWorld.java
[administrator@host-172-18-229-12 ~]$ javac HelloWorld.java
[administrator@host-172-18-229-12 ~]$ java HelloWorld
HelloWorld!
[administrator@host-172-18-229-12 ~]$ cat HelloWorld.java
public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("HelloWorld!");
	}
}

Ant

Ant: 环境配置(Win10)
  1. 下载apache-ant-1.10.0-bin.tar.gz
  2. 解压到F:\apache-ant-1.10.0并设置环境变量
变量名
ANT_HOMEF:\apache-ant-1.10.0
PATHF:\apache-ant-1.10.0\bin
  1. 运行ant,输出如下表示成功安装
> ant
Buildfile: build.xml does not exist!
Build failed
Ant: 自动编译HelloWorld
  1. 在当前目录下添加build.xml
<project name="helloworld" default="all" basedir=".">
	<target name="all" depends="init,run,jar" >
	</target>
	<target name="init">
		<property name="dirs.base" value="${basedir}"/>
		<property name="classdir" value="${dirs.base}/classes"/>
		<property name="src" value="${dirs.base}/src"/>
		<property name="lib" value="${dirs.base}/lib"/>
		<property name="outputjar" value="${dirs.base}/lib/HelloWorld.jar"/>
		<mkdir dir="${classdir}"/>
		<mkdir dir="${lib}"/>
	</target>
	
	<target name="jar" depends="init">
		<jar jarfile="${outputjar}" >
			<fileset dir="${classdir}" />
		</jar>
	</target>

	<target name="compile" depends="init">
		<javac debug="true" srcdir="${src}"
		destdir="${classdir}" />
	</target>
	
	<target name="run" depends="compile">
		<java classname="src.HelloWorld" classpath="${classdir}" />
	</target>
	
	<target name="clean" depends="init">
		<delete dir="${classdir}"/>
	</target>
</project>
  1. xml语法类似于html。各个字段解释如下:
# 设置project属性:项目名为helloworld, 默认执行all命令,默认目录为当前目录
<project name="helloworld" default="all" basedir="."></project>
# 添加命令all,该命令依赖init,run,jar这三个命令,表示在执行all之前,执行这三个命令
<target name="all" depends="init,run,jar" ></target>
# 添加命令init,该命令会执行介于<target name="init"></target>之间的语句
<target name="init">
	# 设置一些变量,变量名为name, 变量值为value, 引用形式为${name}
	<property name="dirs.base" value="${basedir}"/>
	<property name="classdir" value="${dirs.base}/classes"/>
	<property name="src" value="${dirs.base}/src"/>
	<property name="lib" value="${dirs.base}/lib"/>
	<property name="outputjar" value="${dirs.base}/lib/HelloWorld.jar"/>
	# 执行mkdir命令创建目录
	<mkdir dir="${classdir}"/>
	<mkdir dir="${lib}"/>
</target>
# 添加compile命令,依赖于init。即首先执行init,然后执行javac语句,执行编译
<target name="compile" depends="init">
	<javac debug="true" srcdir="${src}"
	destdir="${classdir}" />
</target>
# 运行前需要编译
<target name="run" depends="compile">
	# 注意classname是包名.类名的形式
	<java classname="src.HelloWorld" classpath="${classdir}" />
</target>

其它命令类似,此处不再赘述。

JUnit

JUnit: 环境配置
  1. 下载junit-3.8.1.jar
JUnit: 测试HelloWorld
  1. 重写HelloWorld.java
public class HelloWorld {
	public static String printHelloWorld() {
		String output = "HelloWorld";
		System.out.println(output);
		return output;
	}
}
  1. 编写测试用例,测试printHelloWorld()的返回值是否为"HelloWorld"
import junit.framework.TestCase;

public class TestHelloWorld extends TestCase {
	public void testPrintHelloWorld() {
		HelloWorld hello = new HelloWorld();
		String result = hello.printHelloWorld();
		assertEquals("HelloWorld", result);
	}
}
  1. 新建TestAll.java文件,执行测试用例
import junit.framework.TestSuite;
import junit.framework.Test;
import junit.textui.TestRunner;

public class TestAll extends TestSuite {
	public static Test suite() {
		TestSuite suite = new TestSuite("TestSuite Test");
		suite.addTestSuite(TestHelloWorld.class);
		return suite;
	}
	public static void main(String[] args) {
		TestRunner.run(suite());
	}
}
JUnit: 编译运行测试

javac -classpath="junit-3.8.1.jar" TestAll.java TestHelloWorld.java HelloWorld.java
java -classpath="junit-3.8.1.jar" TestAll
只要不报错,就代表运行成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值