vi,java,ant 和Junit 的学习报告

中级实训:vi/vim,java,Ant 和Junit 的学习报告

好久以前的内容了,发出来留个纪念

vi/vim部分

vi/vim共有三种模式,分别为命令模式输入模式以及底线命令模式

各模式下的命令(节选)

命令行模式 (command mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入输入模式下,或者到底线命令模式。

模式 命令 作用
命令模式 i 切换到输入模式,可以输入字符
命令模式 x 删除当前光标所在的字符
命令模式 : 切换到底线命令模式,可以在最底一行输入命令
输入模式(Insert mode)

只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式。

模式 命令 作用
输入模式 字符按键 输入小写字符
输入模式 Shift/CapsLock+字符按键 输入大写字符
输入模式 回车键(ENTER) 换行
输入模式 退格键(BACK SPACE) 删除光标前一个字符
输入模式 删除键(DELETE) 删除光标后一个字符
输入模式 方向键 在文本中移动光标
输入模式 HOME/END 移动光标到一行文本的行首/行尾
输入模式 Page Up/Down 上下翻页
输入模式 Insert 切换光标为输入模式(竖线)或者替换模式(下划线)[编辑器左下角有提示INSERT/REPLACE]
输入模式 Esc 退出输入模式,切换到命令模式

输入模式更多常用快捷键
#x:表示删除光标所在位置的“后面”#个字符。
#dd:从光标所在行开始删除#行。
r:替换光标所在处的字符。
R:替换光标所到之处的字符,直到按下「ESC」键为止。
#G:表示移动光标至文章的第 # 行行首。

底线命令模式(last line mode)

将文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号等。

模式 命令 作用
底线命令模式 q 退出程序
底线命令模式 q! 放弃修改,退出程序
底线命令模式 w filename 保存文件(文件名:filename)
底线命令模式 wq filename 保存并退出程序(文件名:filename)
底线命令模式 Esc 切换到命令模式

Java部分

这次实训主要是Java的初步入门以及其GUI的使用。Calculator项目我主要是使用了Javax.swing这个GUI库。下面通过部分代码进行讲解:

main函数

//在main函数里调用显示界面的函数
public static void main(String[] args){
	javax.swing.SwingUtilities.invokeLater(new Runnable() {
         public void run() {
             showUI();
         }
    });
}

showUI()函数

private static void showUI(){
	//新建一个窗口frame,标题为Calculator
	JFrame frame = new JFrame("Calculator");
	//为窗口frame设置系统默认样式
	JFrame.setDefaultLookAndFeelDecorated(true);
	//为窗口frame设置系统默认关闭操作
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	//为窗口frame设置窗口大小
	frame.setSize(403,190);
	
	// 窗口frame添加面板组件
	JPanel panel = new JPanel();    
    frame.add(panel);
    // 窗口frame添加其他组件
    placeComponents(panel);
	//设置窗口可见
	frame.setVisible(true);
}

placeComponents()函数(节选)

//文本组件

//新建一个JTextField组件
JTextField addNum1 = new JTextField();
//JTextField组件的(位置x,位置y,长,宽)
addNum1.setBounds(row1,up,size,size);
//JTextField组件内文本居中
addNum1.setHorizontalAlignment(JTextField.CENTER);
//将JTextField组件添加到面板组件
panel.add(addNum1);

//按钮组件

//新建一个JButton组件
JButton plus = new JButton("+");
//JButton组件的(位置x,位置y,长,宽)
plus.setBounds(row1,down,size,size);
//JButton组件被按下时触发的监听事件
plus.addActionListener(new ActionListener(){
	public void actionPerformed(ActionEvent e){
		operate.setText(plus.getText());
	}
});

效果图
vi,java,ant 和Junit 的学习报告_第1张图片


Ant部分

Ant类似于大一上学期的makefile命令,都是实现项目快速编译和部署的工具。个人觉得,相较于makefile,Ant使用的xml格式是的项目编译运行的层次步骤一目了然,对应的编译运行命令更加的简单和容易理解。

Ant页面元素

< project > 元素:Ant 构件文件的根元素,Ant 构件文件至少应该包含一个 p roject 元素,否则会发生错误。
< target > 元素: Ant 的基本执行单元,它可以包含一个或多个具体的任务。多个 targ et 可以存在相互依赖关系。
< property > 元素:该元素可看作参量或者参数的定义,project 的属性可以通过 property元素来设定,也可在 Ant 之外设定。

Ant任务

delete 任务:对文件或目录进行删除。
mkdir 任务:创建目录
javac 任务:实现编译 Java 程序的功能
java 任务:实现运行 Java 程序的功能
jar 任务:生成 jar 文件

由于云桌面上已经配置好了Ant的运行环境,下面我就展示这次实训的Ant的实践样例。
build.xml


<project name="calculator" default="run" basedir=".">
	
	<property name="src" value="src"/>
	<property name="dest" value="class"/>
	<property name="dist" value="dist"/>
	<property name="calculator_jar" value="calculator.jar"/>
	
	<target name="init">
	   <mkdir dir="${dest}"/>
	   <mkdir dir="${dist}"/>
	target>
	
	<target name="compile" depends="init">
	   <javac srcdir="${src}" destdir="${dest}" includeantruntime="on"/>
	target>
	
	<target name="build" depends="compile">
	   <jar jarfile="${dist}/${calculator_jar}" basedir="${dest}"/>
	target>
	
	<target name="run" depends="build">
	   <java classname="Calculator" classpath="${dist}/${calculator_jar}" fork="true"/>
	target>
	
	<target name="clean">
	   <delete dir="${dest}" />
	   <delete dir="${dist}" />
	target>
	
	<target name="rerun" depends="clean,run">

	target>
project>
运行效果图:

run命令
vi,java,ant 和Junit 的学习报告_第2张图片
vi,java,ant 和Junit 的学习报告_第3张图片
clear命令
vi,java,ant 和Junit 的学习报告_第4张图片


JUnit部分

新建两个文件,一个写有基本类HelloWorld.java,另一个是测试类HelloWorldTest.java,把这两个文件放在同一个目录下

基本类HelloWorld.java

import java.util.*;

public class HelloWorld{
    public static void main(String[] args){
        hello();
    }

    public static void hello(){
    	System.out.println("Hello world!");
    }
}

测试类HelloWorldTest.java

import static org.junit.Assert.*;
import org.junit.Test;

public class HelloWorldTest {
	//新建待测试类的实体
	public HelloWorld helloworld = new HelloWorld();
	//待测试类的函数hello()的测试
	@Test
	public void testHello(){
		helloworld.hello();
	}
}

运行效果
vi,java,ant 和Junit 的学习报告_第5张图片

你可能感兴趣的:(作业)