vi、java、junit、ant自学

vi编辑器

简介

vi编辑器是linux最基本的文本编辑器,基本全部靠键盘进行操作和输入。
vi编辑器可分为3种状态,分别是命令模式、插入模式和底行模式。
当我们初始进入vi的时候,首先进入的就是命令模式。在命令模式下能够控制屏幕光标的移动,字符、字或行的删除。
在命令模式下按i可进入插入模式,按:则进入底行模式。在插入模式按ESC进入命令行模式

在linux下的基本操作

###命令行模式
[i] 进入插入模式,从光标位置输入文字
[a] 进入插入模式,从目前光标位置的下一个位置开始输入文字
[o] 进入插入模式,插入新的一行,从行首开始输入文字
[h] [j] [k] [l] 分别控制光标上下左右一格,也可以直接用上下左右
[ctrl][b] 屏幕后移动一页
[ctrl][f] 屏幕前移动一页
[ctrl][u] [ctrl][d] 分别往前后移动半页
[0] 光标移到文章开头
[G] 光标移到文章末尾
[w] 光标跳到下个字开头
[b] 光标回到上个字开头
[x] 删除光标后面的一个字符
[X] 删除光标前面的一个字符
[dd] 删除行.
[yy] 复制所在行
[p] 粘贴
[r] 替换字符
[u] 撤销操作

底行模式

[set nu] 为每一列列出行号
[#] 跳到第几行
[/关键字] 查询关键字,[n]继续往下寻找
[w] 保存文件
[q] 退出
[wq] 保存并退出

实际操作

进入插入模式,编辑一段文字
插入

保存操作
保存

复制粘贴
复制

设置行号
行号

总结

总体来说vi可以说是和其他的编辑器有很大的不同,一些快捷键有所区别,主要的是全键盘输入,对于提高打码速度有很大的作用。其次还是首次接触,和常用vscode还有觉得有些别扭的。

java

对于java,由于上学期已经选了java面对对象设计的专选课,所以也不能算是自学了,对于java基本的知识以及一些设计多线程、UI、多态、继承和接口,还是基本了解的。既然是自学报告,这里就用少一些篇幅吧。
由于实训,又复习了一遍java,对于给定的教程觉得还是比较入门的一些。从java和从c++的区别来说,java最好的地方就是取消了让人迷得要死的指针了。
java是纯面对对象的语言,和c++还是有很多相似之处的,所以学习起来也不很难。由于是纯面对对象的语言,java把main设置为一个静态的共有函数,以此来调用其他的函数。
一个简单的小程序

import java.util.*;
public class a {
	public static void main(String agrs[]) {
		System.out.println("please input");
		Scanner s = new Scanner(System.in);
		int a = 0;
		a = s.nextInt();
		for (int i = 1; i<= a; i++) {
			for (int t = i; t < a; t++) {
				System.out.print(" ");
			}
			for (int t = i; t >= 1; t--) {
				System.out.print(t);
			}
			for (int t = 1; t <= i; t++) {
				if (t == 1) {
				}
				else {
				System.out.print(t);
				}
			}
			for (int t = i; t < a; t++) {
				System.out.print(" ");
			}
			System.out.println();
		}
		s.close();
		
	}
}

输出结果
java1

例如一个animal的程序,主要是继承和多态

abstract public class Animal{ 
	abstract public void greeting(); 
} 

public class Cat extends Animal { 
	public void greeting() { 
		System.out.println("Meow!"); 
}
}

public class Dog extends Animal { 
	public void greeting() {
		System.out.println("Woof!"); } 
	public void greeting(Dog another) { 
		System.out.println("Woooooooooof!"); } 
}
public class BigDog extends Dog { 
	public void greeting() { 
		System.out.println("Woow!"); 
	}
	public void greeting(Dog another) { 
		System.out.println("Woooooowwwww!"); 
	} 
}

public class TestAnimal { 
	public static void main(String[] args) { // Using the subclasses 
		Cat cat1 = new Cat(); 
		cat1.greeting(); 
		Dog dog1 = new Dog(); 
		dog1.greeting(); 
		BigDog bigDog1 = new BigDog(); 
		bigDog1.greeting(); // Using Polymorphism 
		Animal animal1 = new Cat(); 
		animal1.greeting(); 
		Animal animal2 = new Dog(); 
		animal2.greeting(); 
		Animal animal3 = new BigDog(); 
		animal3.greeting(); 
		//Animal animal4 = new Animal(); // Downcast 
		Dog dog2 = (Dog)animal2; 
		BigDog bigDog2 = (BigDog)animal3; 
		Dog dog3 = (Dog)animal3; 
		Cat cat2 = (Cat)animal2; 
		dog2.greeting(dog3); 
		dog3.greeting(dog2); 
		dog2.greeting(bigDog2); 
		bigDog2.greeting(dog2); 
		bigDog2.greeting(bigDog1); 
		} 
}

animal

Junit

简介

Junit是一个进行单元测试的软件,我们学习使用的Junit4,相比Junit3有了很大的改进。
Junit主要有下面一些命令
@Before:
使用了该元数据的方法在每个测试方法执行之前都要执行一次
@After:
使用了该元数据的方法在每个测试方法执行之后要执行一次。
@Test:
测试该部分代码
@ignore:
该元数据标记的测试方法在测试中会被忽略。

配置Junit环境

将Junit-4.9.jar放到jdk的lib文件夹里,并设置环境变量
junit1

实验

简单的小程序HelloWorld

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

public class HelloWorld {
    String str;
    public void hello() {
        str = "Hello World!";
         System.out.println(str);
    }
    public String getStr() {
        return str;
    }
}
//HellowWorldTest.java
import org.junit.Test;
import junit.framework.TestCase;
import static org.junit.Assert.*;
public class HelloWorldTest {
    public HelloWorld helloworld = new HelloWorld();

    @Test
    public void testHello() {
        helloworld.hello();
        assertEquals("Hello World!", helloworld.getStr());
    }
}

junti

Ant

简介

Ant 是一个 Apache 基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。能够实现一键编译、运行和配置。Ant运行时需要一个build.xml的构建文件。其是基于XML写的,如果用其他的构建文件则需要使用命令ant –f hello.xml sayHelloWorld、ant -buildfile hello.xml sayHelloWorld 或 ant –file hello.xml sayHelloWorld。Ant有4个关键元素,分别是project、target、
property 和 task。

project 元素是 Ant 构件文件的根元素,Ant 构件文件至少应该包含一个 project 元素,其有name属性、default属性和basedir属性。其中basedir用于指定基路径位置。

target 元素为 Ant 的基本执行单元,它可以包含一个或多个具体的任务。多个 target 可以存在相互依赖关系。其depends 属性
用于描述 target 之间的依赖关系,if 属性
用于验证指定的属性是否存在,若不存在,所在 target 将不会被执行,unless 属性的功能与 if 属性的功能正好相反。

property 元素可看作参量或者参数的定义

环境部署

将Ant文件夹通过命令行移动到/usr/local里,再进行设置环境变量
ant1
ant2

实验

使用ant构建Helloworld小工程,并junit
build.xml

<?xml version="1.0"?>  
<project name="HelloWorld" default="test" basedir=""> 
	<property name="testdir" location="build/classes" />
   	<property name="srcdir" location="src" />
   <property name="full-compile" value="true" />
   <path id="classpath.base"/>
   <path id="classpath.test">
      <pathelement location="/lib/junit-4.9.jar" />
      <pathelement location="${testdir}" />
      <pathelement location="${srcdir}" />
      <path refid="classpath.base" />
   </path>
   <target name="clean" >
      <delete verbose="${full-compile}">
         <fileset dir="${testdir}" includes="**/*.class" />
      </delete>
   </target>
   <target name="compile" depends="clean">
      <javac srcdir="${srcdir}" destdir="${testdir}"
         verbose="${full-compile}">
         <classpath refid="classpath.test"/>
      </javac>
   </target>
   <target name="test" depends="compile">
      <junit>
         <classpath refid="classpath.test" />
         <formatter type="brief" usefile="false" />
         <test name="HelloWorldTest" />
      </junit>
   </target>
</project>  

实验结果
ant2
ant3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值