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());
	}
});

效果图
这里写图片描述


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

<?xml version="1.0" encoding="UTF-8" ?>
<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>
	<!--编译项目代码,使用javac命令-->
	<target name="compile" depends="init">
	   <javac srcdir="${src}" destdir="${dest}" includeantruntime="on"/>
	</target>
	<!--生成项目jar文件-->
	<target name="build" depends="compile">
	   <jar jarfile="${dist}/${calculator_jar}" basedir="${dest}"/>
	</target>
	<!--运行项目,使用java命令-->
	<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命令
run命令
这里写图片描述
clear命令
clear命令


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();
	}
}

运行效果
运行效果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZTao-z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值