vi/vim的学习

对vi/vim的理解

vi/vim是用来写代码的一种工具,适用于命令行。在命令行中启用vi,更新已有代码或创建新的文件。

在调用了vi之后,命令行会变成暂时的“文本编辑器”,它会对代码中的各种关键字进行高亮,加色处理,以减少程序员的错误。

vi的用法

vim有三种模式。

底线模式:

i  进入命令模式
x  删除当前字符
:   进入底线命令模式

输入模式:

在此可以对文件进行任何编辑。

底线命令模式:

q  推出,系统询问是否保存
wq 保存并推出
q!  强制退出,不保存

这里以c++的helloworld为例,演示做简单的用法。

首先,命令行到要建立文件的目录,调用vim,创建test.cpp:

然后按 i 键进入输入模式,进行代码编辑:

可以看到关键字被上色了。

编辑完成后,按 Esc 退出输入模式。

然后输入 :wq。 即切换至底线命令模式,并且wq保存退出。

此时桌面上就对了一个文件:

JAVA学习

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。

JAVA的特点

Java 语言是简单的,面向对象的,健壮的,安全的,可移植的,高性能的,多线程的,动态的。

学习JAVA

想让我在一篇博客中介绍完JAVA的基本内容,我认为是不可能的。

如果想学JAVA,请访问网站: 学习JAVA

至少我是用这个进行JAVA入门的。

因此这里只说一说马上要用到的 GUI

JAVA简单GUI

JAVA的GUI窗口布局,一般是由容器组成。
顶层容器一般就是JFrame,中层容器长用JPanel,最底层就是各种组件,比如JButton,JLabel等。

这里就简单说说可能用到的GUI

创建JFrame:

     JFrame jf=new JFrame("calculator");jf.setBounds(100,100,560,240);jf.setLayout(null);jf.setVisible(true);

创建JButton,并添加按钮事件:

         JButton jb=new JButton("JButton here");jb.setBounds(i*100,100,100,100);jb.setHorizontalAlignment(JButton.CENTER);jb.setVerticalAlignment(JButton.CENTER);  字居中jb.setFont(f);  f是字体,运用字体jf.add(jb[i]); 加到jframe中jb.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.out.println("点我干嘛");}});     为按钮添加点击事件

设置字体:

Font f=new Font("",Font.PLAIN,35); 最简单的字体,只是改变了size

我对JAVA的体会

JAVA对C++的掌握者非常友好,两者在语言表达上非常相似。同样在运行效率上,java也是和c++较为接近的。

JAVA语言对编写者来说,最大的优点是方便快捷,JAVA有着非常丰富的函数库,比如许多数据结构都定义了toString。
还有,在c++中类型转换是一件比较麻烦的事,而在JAVA中这很方便。
比如:

Float.parseFloat(); 将字符串转换成float
float f=2.5;
String s= f+ ""; 浮点型加上空串就是字符。(如果是整数,后面有.0)

JAVA对封装的概念体现的非常完美。JAVA就是一个由类构成的语言,所有的函数,变量一般都是包含在类里面的。这样程序的结构会变得非常清晰。

ant学习

啥叫ant?

ant是一个构建工具,常常用于java的编译。我们可以形象地把ant理解为 java的gcc。而ant运行所依照的文件build.xml,则非常类似于c++的makefile。会写makefile的人学习ant将会非常容易。

下面来走一下自学流程:

用ant编译hello world

首先创建java的helloworld文件:

然后编写build.xml:

稍作解释:用 把内容括起来,一般一个文件中只有一个project。

有name和depends两个重要属性。name为目标名,depends为依赖目标的名字,如果依赖目标未完成,则先执行依赖目标。
name是用来识别目标的,比如指令 ant init, ant build后面的init,build等就是target名。
在内的是目标需要执行的代码,可以在里面创建文件夹,进行java编译等。

<mkdir dir="folder" />
<javac srcdir="." destdir="." />

然后执行 ant build,看到:

然后就生成了新的.class文件

Junit学习

什么是 JUnit?

JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。

JUnit 促进了“先测试后编码”的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一点,测试一点,编码一点……”,增加了程序员的产量和程序的稳定性,可以减少程序员的压力和花费在排错上的时间。

junit特点:

JUnit 是一个开放的资源框架,用于编写和运行测试。
提供注释来识别测试方法。
提供断言来测试预期结果。
提供测试运行来运行测试。
JUnit 测试允许你编写代码更快,并能提高质量。
JUnit 优雅简洁。没那么复杂,花费时间较少。
JUnit 测试可以自动运行并且检查自身结果并提供即时反馈。所以也没有必要人工梳理测试结果的报告。
JUnit 测试可以被组织为测试套件,包含测试用例,甚至其他的测试套件。
JUnit 在一个条中显示进度。如果运行良好则是绿色;如果运行失败,则变成红色。

用junit测试helloworld

创建JAVA项目。

导入包:

右键项目,点击properties,在出现的窗口中按下图点击。点Add Library,就可以添加JUnit了。

建立三个JAVA class,用于测试helloworld。

hello:用于存储helloworld字符串,以便测试:

package hellotest;public class hello{public String msg;public hello(String s){msg=s;}public String printMsg(){System.out.println(msg);return msg;}
}

helloTest:用于调用assertEquals等断言,判断运行时是否产生错误。

package hellotest;import org.junit.Test;
import static org.junit.Assert.assertEquals;public class helloTest{public String msg;public hello h;@Testpublic void testPrintMessage(){msg="Hello World!";h=new hello(msg);//msg="jkjk";  故意犯错assertEquals(msg,h.printMsg());}
}

testRunner:用于调用helloTest,让测试跑起来,main函数也在此。testRunner也负责打印错误信息和最终结果。

package hellotest;import org.junit.runner.*;
import org.junit.runner.notification.*;public class testRunner{public static void main(String[] args){Result res=JUnitCore.runClasses(helloTest.class);for (Failure fai :res.getFailures()){System.out.println(fai.toString());}System.out.println(res.wasSuccessful());}
}

运行结果:

如果做点手脚,改变一些变量,故意犯错
则结果如下:

总结

vi用来编写代码。
java是一门非常方便快捷的语言,内部提供了非常丰富的函数库,让使用者很方便,且java的设计相比c++牺牲了一点运行速率,但是换来了更多的稳定性和健壮性。
ANT就相当于c++编译用的make,build.xml就可以认为是makefile。其结构,思路,组成都非常相似。ant用于构建Java项目,当项目庞大时需要手动写build.xml,可以让项目更合理的生成。
JUnit是用来测试程序的,还会返回错误信息,测试大样例时可以考虑使用。

软工实训:Vi,Java,Ant,Junit的自学报告相关推荐

  1. Vi,Java,Ant,Junit的自学报告

    Vi,Java,Ant,Junit,SonarQube的自学报告 Vi/Vim 参考资料:<鸟哥的Linux私房菜> 为什么在Linux的世界中选择vi,vim 可以快速地在终端中编辑属于 ...

  2. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  3. 中软国际实训全记录——第二天

    中软国际实训第二天--初步认识JDBC 1.数据库的初始化 2.对于数据库的操作需要实现的步骤 3.使用idea创建项目 util类 bean类 dao类 Test类 JDBC(Java DataBa ...

  4. 中软国际实训全记录——第三天

    中软国际实训第三天--认识ssm与搭建ssm 1.ssm框架基本概念 1.1.Spring 1.2.SpringMVC 1.3.MyBatis 2.建立ssm项目 2.1.新建Maven项目 2.2. ...

  5. 中软国际实训全记录——第一天

    中软国际实训第一天--软件安装 1.安装jdk 2.安装idea 3.安装Tomcat 配置环境变量 配置Tomcat 将Tomcat加入服务中 Tomcat的启动 4.安装maven 配置环境变量 ...

  6. 安博河北实训基地java+android

    安博河北实训基地java软件开发工程师课程       安博河北实训基地android软件开发工程师课程                     艾迪教育 Android工程师简介• Android工 ...

  7. 中软国际实训全记录——第七天

    中软国际实训第七天--实现多条信息的删除 实现对用户信息的多条删除,我们需要使用到aiax,AJAX不是JavaScript的规范,它是Asynchronous JavaScript and XML, ...

  8. 实训项目——多语言学习app 总结报告

    文章目录 实训项目--多语言学习app 总结报告 1. app 介绍 1. 运行app 2. 界面效果 2. 开发过程 1. 开发环境 2. 项目结构 3. 欢迎界面 4. 用户与学习界面 5. 语言 ...

  9. Java学生实训平台_基于jsp的学生实训平台-JavaEE实现学生实训平台 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的学生实训平台, 该项目可用各类java课程设计大作业中, 学生实训平台的系统架构分为前后台两部分, 最终实现在线上 ...

最新文章

  1. JavaScript学习笔记(五)
  2. python的tkinter编写计算器_tkinter写的计算器
  3. ES6语法的学习与实践
  4. 图嵌入综述 (arxiv 1709.07604) 译文五、六、七
  5. 新基建来了!5G边缘计算如何展现勃勃生机?
  6. git报错 ssh: Could not resolve hostname gitee.com:xxxxxx: Name or service not known fatal
  7. 做人的36条常情世故
  8. Nginx笔记总结十六:nginx优化指南
  9. oracle+导入导出教程,oracle导入导出整理(一)
  10. 实验四+074+林盼皇
  11. 【TSP】基于matlab模拟退火算法求解旅行商问题【含Matlab源码 136期】
  12. ask调制matlab实验,ASK调制的matlab代码
  13. 用vbs脚本实现软件的自动登录
  14. 如何绕过校园网认证,不付费就可以使用自己的网络。
  15. Unity制作的照片墙效果
  16. 蘑菇街大三Java后端暑期实习
  17. win10 开热点 【服务主机:网络服务】 疯狂跑流量的解决方案 亲测有效!!!!
  18. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  19. @Column(columnDefinition)的使用
  20. 你真的知道什么是三观吗?

热门文章

  1. 不连续曲线 highcharts_创新要有战略!2条曲线10个思维模型,帮你提高企业创新能力...
  2. Docker启动OnlyOffice
  3. Python 3.8.8 几个常用库的下载和离线包的制作安装
  4. Android单元测试框架介绍 -- 调研篇
  5. 儿童与青少年临床心理学_7个为儿童和青少年制作的礼物
  6. JAVA渔具销售网站
  7. 基数排序(radix sort)
  8. 帮朋友刷赞——抓包并大批量使用shell脚本发送HTTP请求
  9. opencv中vector类的介绍
  10. javascript:求绝对值最小的数