分类 - 编程之路

2020-01-29 01:02:52    38    0    0

一. 定义枚举类

通过enum关键字来定义枚举类,enum定义的类型就是class,只不过它有以下几个特点:

  • 定义的enum类型总是继承自java.lang.Enum,且无法被继承;
  • 只能定义出enum的实例,而无法通过new操作符创建enum的实例;
  • 定义的每个实例都是引用类型的唯一实例;
  • 可以将enum类型用于switch语句。
  1. enum Weekday {
  2. MON(1, "星期一"), TUE(2, "星期二"), WED(3, "星期三"), THU(4, "星期四"), FRI(5, "星期五"), SAT(6, "星期六"), SUN(0, "星期日");
  3. public final int dayValue;
  4. private final String chinese;
  5. private Weekday(int dayValue, String chinese) {
  6. this.dayValue = dayValue;
  7. this.chinese = chinese;
  8. }
  9. @Override
  10. public String toString() {
  11. return this.chinese;
  12. }
  13. }
2020-01-29 00:38:39    27    0    0

一. 数据类型

Java的数据类型分如下两种,引用类型可以赋值为null,表示空,但基本类型不能赋值为null

  • 基本类型:byte,short,int,long,boolean,float,double,char
  • 引用类型:所有classinterface类型


Java核心库为每种基本类型都提供了对应的包装类型:

基本类型对应的引用类型
booleanjava.lang.Boolean
bytejava.lang.Byte
shortjava.lang.Short
intjava.lang.Integer
longjava.lang.Long
floatjava.lang.Float
doublejava.lang.Double
charjava.lang.Character

2020-01-29 00:10:14    43    0    0

一. 字符串原理

  • 概要说明
    Java中,String是一个引用类型,它本身也是一个class,实际上字符串在String内部是通过一个char[]数组表示的,因此,按下面的写法也是可以的String s2 = new String(new char[] {'H', 'e', 'l', 'l', 'o', '!'}); 因为String太常用了,所以Java提供了"..."这种字符串字面量表示方法。Java字符串的一个重要特点就是字符串不可变。这种不可变性是通过内部的private final char[]字段,以及没有任何修改char[]的方法实现的。

  • 早期JDK版本的String
    总是以char[]存储,它的定义如下:

  1. public final class String {
  2. private final char[] value;
  3. private final int offset;
  4. private final int count;
  5. }
2020-01-27 18:42:27    121    0    0

一. 类和实例

  • 一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。
  • 如果不确定是否需要public,就不声明为public,即尽可能少地暴露对外的字段和方法。
  • 创建新对象时,优先选用静态工厂方法而不是new操作符。
  1. class Person {
  2. public String name;
  3. public int age;
  4. }
  5. Person ming = new Person();
  6. ming.name = "Xiao Ming";
  7. ming.age = 12;
  8. System.out.println(ming.name);


  • 定义为publicclassinterface,可以被当前包,其他包的任何类访问。
2019-12-19 21:46:47    51    0    0

在Java中,如果一个Java对象可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合。很显然,Java的数组可以看作是一种集合

一. List

在集合类中,List是最基础的一种集合:它是一种有序链表。List的行为和数组几乎完全相同:List内部按照放入元素的先后顺序存放,每个元素都可以通过索引确定自己的位置,List的索引和数组一样,从0开始。

1.1 创建list

我们来比较一下ArrayList和LinkedList:通常情况下,我们总是优先使用ArrayList。

方法ArrayListLinkedList
获取指定元素速度很快需要从头开始查找元素
添加元素到末尾 速度很快速度很快
在指定位置添加/删除需要移动元素不需要移动元素
内存占用较大
2019-12-18 18:58:27    113    0    0

一、概要说明

Maven是一个Java项目管理和构建工具,它可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。它的主要功能有:

  • 提供了一套标准化的项目结构。
  • 提供了一套标准化的构建流程(编译,测试,打包,发布……)。
  • 提供了一套依赖管理机制。 

二、项目结构

2.1 目录结构

一个使用Maven管理的普通的Java项目,它的目录结构默认如下:

2019-08-24 15:39:05    111    0    0

一个ndarray数组,其中的元素类型必须一致。后面的例子默认已经导入了numpy了import numpy as np。在numpy中多维的体现可以从 [ 的个数体现,一个表示一维数组,两个表示二维数组,三个表示三维数组。

一、创建n维数组

1、Python序列创建

通过Python内置序列(列表、元组、迭代器等)生成。dtype指定元素类型。注意:这里有两种形式的 dtype指定,dtype的类型范围可能会超出最大范围,比如 int8 表示的范围为-128 ~ 127,所以要特别注意,常用dtype类型见后面。

2019-05-20 15:52:51    215    0    0

一、并行并发

  • 并行是指在同一时刻,多个任务(进程、线程等)同时执行,互补干扰,通常会是多核CPU实现。 

  • 并发是指在一个时间段内多个任务都处于运行状态,但同一时刻只有一个任务处于运行状态,在这个时间段内多个任务可能根据实际情况交替执行任务 

  • 总结:体现到具体的实现过程,并发指的是程序的结构,并行指的是程序运行时的状态。 

2019-05-20 14:29:48    290    0    0

迭代器

  可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。 

  • 迭代是Python最强大的功能之一,是访问集合元素的一种方式。
  • 迭代器是一个可以记住遍历的位置的对象。
  • 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
  • 迭代器可通过next()方法获取下一个值。
  • 字符串,列表或元组对象都可用于创建迭代器。
  • 任何实现了__iter__()__next__()方法的对象都是迭代器。__iter__()返回迭代器自身,__next__()返回容器中的下一个值
2019-05-20 11:18:17    72    0    0

查看文档

查看自动补全文档

  1. :help ins-completion

真正好用的补全我觉得只有四个:关键字补全、文件名补全、Vim命令补全、宏补全、包括头文件的补全。其中最后两个是专门为C语言设计的,不过经过配置,也能支持C++。