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

一、vi/vim

vi/vim分为三种模式:命令模式,输入模式、底线命令模式

命令模式

此状态时用户对键盘进行敲击会被识别为命令而非字符输入
常见命令:

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

输入模式

在输入模式下,才可以进行字符的输入
可以进行以下操作:

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

底线命令模式

底线命令模式可以输入单个或多个字符的命令,命令数量多
基础命令:

  • q 退出程序
  • w 保存文件

二、JAVA

Java是从C++中衍生出的一种编程语言,和C++都属于面向对象的程序语言,但C++同时也可以进行面向过程的程序设计。
Java和C++相比更为简单,在C++中指针是一个非常常用的功能,通过指针利用地址直接指向内存中的变量,可以直接对变量进行修改,但是指针的操作较为复杂繁琐。Java中取消了指针的运用,减少了不必要错误发生的可能性。

java小程序

main函数

public static void main(String[] args) 
	{
		new EasyCalculator();
	}	

界面部分

public class EasyCalculator extends JFrame{

	JPanel panel;
	JTextField num1,num2,sign1,sign2,result;
	JButton button1,button2,button3,button4,button5;

	public EasyCalculator()
	{
		this.setBounds(300,200,400,200);
		this.setTitle("Easy Calculator");
		this.setLayout(new BorderLayout());
		num1=new JTextField("");
		num2=new JTextField("");
		sign1=new JTextField("");
		sign2=new JTextField("=");
		result=new JTextField("");

		button1=new JButton("+");
		button2=new JButton("-");
		button3=new JButton("*");
		button4=new JButton("/");
		button5=new JButton("=");

		panel=new JPanel();
		panel.setLayout(new GridLayout(0,5));
		sign1.setEditable(false);
		sign2.setEditable(false);
		result.setEditable(false);
		
		num1.setHorizontalAlignment(SwingConstants.CENTER);
		num2.setHorizontalAlignment(SwingConstants.CENTER);
		sign1.setHorizontalAlignment(SwingConstants.CENTER);
		sign2.setHorizontalAlignment(SwingConstants.CENTER);
		result.setHorizontalAlignment(SwingConstants.CENTER);
		
		panel.add(num1);
		panel.add(sign1);
		panel.add(num2);
		panel.add(sign2);
		panel.add(result);

		panel.add(button1);
		panel.add(button2);
		panel.add(button3);
		panel.add(button4);
		panel.add(button5);
		this.add(panel);
		addActionListener();
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

监听事件

public void addActionListener()
	{
		button1.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e)
			{
				sign1.setText("+");
			}
		});

		button2.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e)
			{
				sign1.setText("-");
			}
		});
		
		button3.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e)
			{
				sign1.setText("*");
			}
		});
		
		button4.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e)
			{
				sign1.setText("/");
			}
		});
		
		button5.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e)
			{
				String n1=num1.getText();
				String n2=num2.getText();
				String op=sign1.getText();
				double d1=Double.parseDouble(n1);
				double d2=Double.parseDouble(n2);
				if(d2==0 && op.equals("/"))
					result.setText("ERROR");
				else
				{
					if(op.equals("+"))
						result.setText(""+(d1+d2));
					if(op.equals("-"))
						result.setText(""+(d1-d2));
					if(op.equals("*"))
						result.setText(""+(d1*d2));
					if(op.equals("/"))
						result.setText(""+(d1/d2));	
				}
			}
		});
	}

三、JUnit

JUnit是一个Java语言的单元测试框架。包括以下特性:
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器
基本类HelloWorld.java

package HelloWorld;

public class HelloWorld {
	public String hello()
	{
		return "Hello World";
	}

	public static void main(String args[])
	{
		HelloWorld world=new HelloWorld();
		System.out.println(world.hello());
	}
}

测试类HelloWorldTest.java

package HelloWorld;

import static org.junit.Assert.*;

import org.junit.Test;

public class HelloWorldTest {
	public HelloWorld world=new HelloWorld();
	
	@Test
	public void test() {
		assertEquals("Hello World!",world.hello());
	}

}

四、Ant

Ant是跨平台的构建工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。
nt的构建文件是基于XML编写的,默认名称为build.xml

Ant页面元素

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

Ant常用任务

copy任务:该任务主要用来对文件和目录的复制功能
delete 任务:对文件或目录进行删除
mkdir 任务:创建目录
move任务:移动文件或目录
javac 任务:实现编译 Java 程序的功能
java 任务:实现运行 Java 程序的功能
jar 任务:生成 jar 文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值