阶段一自学报告

阶段一自学报告


第一部分:Vim

VIM是一个非常强大的文本编辑器,这点毋庸置疑,之前也经常有所耳闻。这次借实训之机有机会对其有了进一步的了解。
在 Ubuntu 中可以使用如下命令来安装 Vim:
sudo apt-get install vim
然后再命令行中输入vim便可以打开vim了。

此处输入图片的描述

vim和别的文本编辑器有很多不同。默认打开vim时为查看模式,想要进入编辑模式,只需按 i 键进行插入insert或者 a 键进行添加add。想要返回到查看模式或者进行命令式功能的操作,按 Escape 键即可。插入insert和添加add的差异仅仅在于你是想在光标位置之前还是在光标之后进入编辑模式并进行文字输入。
下面举例一些在正常模式中使用的命令:

x:删除一个字符

u:撤销一个操作(相当与 Ctrl+z)

dd:删除一行内容

dw:删除一个单词

yy:复制一行内容

yw:复制一个单词

p:粘贴一个之前删除或复制的行或者单词

e:跳到下个单词(LCTT 译注:词尾)(比单纯用方向键更快)

r:替换一个字母(按 r,松开,然后再按新字母)

当然,vim的功能可不仅仅局限于此。事实上,vim真正强大的地方在于它庞大的第三方插件体系。
通过 sudo apt-cache search vim 指令可以搜索感兴趣的插件。

这里推荐一个第三方管理插件vim-plug,能够方便对下载的各种插件进行管理。
学习vim就像学弹钢琴一样,一旦学会,受益无穷。一开始学的时候的确会有难度,上手之后便会愈发地感觉到其魅力。我的建议是每天都学1到2个新的命令,这样在两到三周后,你就会感到vim的强大的。

第二部分:Java

Java是一门使用非常广泛的语言,也是近几年来非常热门的一门语言。此前的学习也对java有所接触,不过学习的并非很深入。接着这次实训的机会,我也算是对java有了一次系统的学习。
相比C++具有面向对象编程的特点,Java是一种纯面向对象、跨平台的编程语言,摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
要想用java编写程序,自然需要先配置jdk环境。与windows不同,在linux下配置jdk相对比较直接。下载jdk解压至/usr/java目录。用本文编辑器打开 /etc/profile ,并在最后加入

export JAVA_HOME=/usr/java/jdk-9.0.1
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

之后我们查看是否安装成功,输入java -version便可以看到java的版本了。

关于java的语法,其实我们之前也有所接触过。这里想提一下和java非常类似的c#,它们的思想和方法都是非常类似的。因为之前也有接触过c#,所以对java开发的上手也很快。java和c#都是面向对象语言,这种思想是很关键的,可以更好地调整我们的编程思路,也能使我们更优雅地进行编程。
一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。
Java语言的本身的特点如下:

1、 Java语言足够简单,相对于其他的任何语言而言,是很容易学的(入门简单);

2、 Java避免了C/C++之中复杂的指针关系,而使用了更为简单的引用方式来进行内存传递;

3、 Java是为数不多的支持多线程开发的编程语言;

4、 Java提供了自动的垃圾收集机制,可以定期释放出无用的垃圾空间;

5、 Java语言的安全性较高;

6、 Java最大的特点是具备可移植性,即:同一个程序在不同的操作系统上都可以运行。

这次的实训中第一阶段我们完成了一个简单计算器的编写。既然要做计算器,那么首先我们就得设计计算器的界面。这便需要用到java中的GUI了。通过自己查找资料和询问同学,我对GUI有了一定的了解。GUI也分为很多种类,主要有swing和javafx两种。相对来说javafx会相对新一些。这次实训我主要先用了swing来练手。要用swing做计算器我们需要让我们的类继承JFrame类。通过添加JTextField和JButton我们可以添加按钮和文本框。之后可以通过一系列set函数来设置我们计算器的样式。这样我们的计算器就可以拥有一个模型了。然后我们再实现算法逻辑的部分。自然地,我们可以通过获取text文本中的值来进行计算。不过这次我使用了监听函数,使ok按钮被点击后会自动进行计算,这和js的代码有些类似。这样我们的计算器就可以运行了。

此处输入图片的描述

第三部分:Ant

Ant是一种java的构建工具,用来实现软件的自动化的构建。初识ant时感觉它有点像linux上C++的makefile,实现的功能和其及其类似。更深入的了解后,知道了ant是基于xml的文件,所以更容易阅读;Ant是用Java实现的,本身支持跨平台;Ant基于插件的方式开发,本身内置了常用的大部分的插件,而且第三方的扩展也很容易;Ant除了用来构建Java程序,也可以用来构建其他的任何程序,例如C++等。曾经在web开发和wpf开发中也有所接触过XML语言,对于其基本的结构还是有一定的了解的。所以这次学习ant的过程也不算太为艰难。
首先是配置ant的过程。说实话一开始看网上的教程还是挺迷茫的,自己在linux试了好久才试成。首先自然要配置好jdk,然后下载ant至指定文件夹解压,并进行环境配置,用本文编辑器打开 /etc/profile ,并在最后加入

export ANT_HOME=/usr/local/ant
export PATH=$PATH:$ANT_HOME/bin

这样我们就配置好了Ant的环境变量。

接下来我们要来写build的xml文件,也是Ant的关键部分。我们知道xml文件有很多的标签元素。在ant中,也有许多的元素。首先是project元素。Project元素是Ant文件的根元素,Ant构建文件中至少应该包含一个project元素,否则会发生错误。在每个project元素下面可以包含多个target元素。

project的属性包括:

name : 项目名称

default:当调用时没有指定target时,此project的默认targe

basedir:用于指定基路径的位置,改属性没有指定时,使用Ant的构建文件的父目录作为基路径

然后是target元素。target为Ant的基本执行单元,他可以包含一个或多个具体的任务。

target的属性有:

name: target的名称,这个属性在一个project中是唯一的。我们可以通过指定 target 元素的名称来指定某个 target 。

depends:用来描述target间的依赖关系,若与多个 target 存在依赖关系时,需要以“,”间隔。 Ant 会依照 depends 属性中 target 出现的顺序依次执行每个 target 。被依赖的 target 会先执行。

if:用于验证指定的属性是否存在,若不存在,所在 target 将不会被执行。

unless:该属性的功能与 if 属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在 target 将会被执行。

description:该属性是关于 target 功能的简短描述和说明。

多个target可以存在相互依赖的关系。Ant会依照depends属性中target出现的顺序依次执行每个target。然而,要记住的是只要某个target依赖于一个target,后者就会被先执行。

最后是property元素。

property元素可看作变量或者参数的定义(即经常使用的变量),project 的属性可以通过 property 元素来设定,也可在 Ant 之外设定。例如。若要在外部引入某文件,例如 build.properties 文件,可以通过如下内容将其引入

第四部分:Junit

JUnit是一个易学易用的Java单元测试框架,是基于Xunit架构的单元测试框架的实例,使用非常广泛。Junit4最大的改进是大量使用注解(元数据),很多实际执行过程都在Junit的后台做完了,而且写test case 的类不需要继承TestCase,只需要在所要做test case的方法前加@Test 注解即可。
引入JUnit相对于Ant来说就较为容易了,因为Junit在很多主流的IDE中都提供了支持。
这里用Eclipse作为范例。

  1. 在Eclipse上创建工程,任何Java工程都行。
  2. 引入Junit的libraries库,选用Junit4
    引用library
  3. 新建一个Java类,作为测试源码
  4. 在该类上右键新建JUnit Test Case,自动生成一个测试类
    此处输入图片的描述
    测试类的代码为

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

    public class HelloWorldTest {
    private HelloWorld hw;

    @Before
    public void setUp() {
    hw = new HelloWorld();
    }

    @Test(expected=NumberFormatException.class)

    public void testHello() {
    hw.sayHello();
    }
    @Test
    public void testWorld() {
    hw.sayWorld();
    }

    @After
    public void tearDown() throws Exception {
    hw = null;
    }

    }

  5. 之后右键测试类Run as JunitTest便可进行测试,新界面上会提示运行个数和错误个数。

这次的实训中第一阶段我们完成了一个简单计算器的编写。这便需要用到java中的GUI了。

第三部分:Ant

Ant是一种java的构建工具,用来实现软件的自动化的构建。初识ant时感觉它有点像linux上C++的makefile,实现的功能和其及其类似。更深入的了解后,知道了ant是基于xml的文件,所以更容易阅读;Ant是用Java实现的,本身支持跨平台;Ant基于插件的方式开发,本身内置了常用的大部分的插件,而且第三方的扩展也很容易;Ant除了用来构建Java程序,也可以用来构建其他的任何程序,例如C++等。曾经在web开发和wpf开发中也有所接触过XML语言,对于其基本的结构还是有一定的了解的。所以这次学习ant的过程也不算太为艰难。
首先是配置ant的过程。说实话一开始看网上的教程还是挺迷茫的,自己在linux试了好久才试成。首先自然要配置好jdk,然后下载ant至指定文件夹解压,并进行环境配置,用本文编辑器打开 /etc/profile ,并在最后加入

export ANT_HOME=/usr/local/ant
export PATH=$PATH:$ANT_HOME/bin

这样我们就配置好了Ant的环境变量。

接下来我们要来写build的xml文件,也是Ant的关键部分。我们知道xml文件有很多的标签元素。在ant中,也有许多的元素。首先是project元素。Project元素是Ant文件的根元素,Ant构建文件中至少应该包含一个project元素,否则会发生错误。在每个project元素下面可以包含多个target元素。

project的属性包括:

name : 项目名称

default:当调用时没有指定target时,此project的默认targe

basedir:用于指定基路径的位置,改属性没有指定时,使用Ant的构建文件的父目录作为基路径

然后是target元素。target为Ant的基本执行单元,他可以包含一个或多个具体的任务。

target的属性有:

name: target的名称,这个属性在一个project中是唯一的。我们可以通过指定 target 元素的名称来指定某个 target 。

depends:用来描述target间的依赖关系,若与多个 target 存在依赖关系时,需要以“,”间隔。 Ant 会依照 depends 属性中 target 出现的顺序依次执行每个 target 。被依赖的 target 会先执行。

if:用于验证指定的属性是否存在,若不存在,所在 target 将不会被执行。

unless:该属性的功能与 if 属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在 target 将会被执行。

description:该属性是关于 target 功能的简短描述和说明。

多个target可以存在相互依赖的关系。Ant会依照depends属性中target出现的顺序依次执行每个target。然而,要记住的是只要某个target依赖于一个target,后者就会被先执行。

最后是property元素。

property元素可看作变量或者参数的定义(即经常使用的变量),project 的属性可以通过 property 元素来设定,也可在 Ant 之外设定。例如。若要在外部引入某文件,例如 build.properties 文件,可以通过如下内容将其引入

第四部分:Junit

JUnit是一个易学易用的Java单元测试框架,是基于Xunit架构的单元测试框架的实例,使用非常广泛。Junit4最大的改进是大量使用注解(元数据),很多实际执行过程都在Junit的后台做完了,而且写test case 的类不需要继承TestCase,只需要在所要做test case的方法前加@Test 注解即可。
引入JUnit相对于Ant来说就较为容易了,因为Junit在很多主流的IDE中都提供了支持。
这里用Eclipse作为范例。

  1. 在Eclipse上创建工程,任何Java工程都行。
  2. 引入Junit的libraries库,选用Junit4
    引用library
  3. 新建一个Java类,作为测试源码
  4. 在该类上右键新建JUnit Test Case,自动生成一个测试类
    此处输入图片的描述
    测试类的代码为

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

    public class HelloWorldTest {
    private HelloWorld hw;

    @Before
    public void setUp() {
    hw = new HelloWorld();
    }

    @Test(expected=NumberFormatException.class)

    public void testHello() {
    hw.sayHello();
    }
    @Test
    public void testWorld() {
    hw.sayWorld();
    }

    @After
    public void tearDown() throws Exception {
    hw = null;
    }

    }

  5. 之后右键测试类Run as JunitTest便可进行测试,新界面上会提示运行个数和错误个数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值