包装类、正则验证

来源:互联网 发布:linux 显示当前目录 编辑:程序博客网 时间:2024/06/05 08:28
包装类:
Java作为面向对象的语言,一切皆对象,基本数据类型却不是对象,没有对象的特征,无法进行对象操作;
java为每个基本数据类型提供了一个包装类,我们可以向操作对象一样操作基本数据类型;


1.Number:int--->Integer byte--->Byte  short--->Short
long--->long  float--->Float  double--->Double


2.Object:boolean-->boolean  char--->Charactor


使用时需注意:
1.所有的包装类都是final类,不能创建它们的子类;
2.包装类是不可改变类,一旦创建了一个包装类的对象,那么它所包含的基本类型数据就不能改变;


正则表达式:


字符类:[abc]:表示匹配a、或者匹配b、或者匹配c;
[^abc]:表示可以匹配任何字符,除了abc;
[a-zA-Z] :表示可以匹配字母a到z,或者匹配字母A到Z;
[0-9]:表示可以匹配数字0-9;


预定义格式类:
.(点):表示任何字符,我就是.字符本身。用法:\\.(第一个\表示转义符,后面的\.才是表示.)
\d:表示数字(0-9),效果就是[0-9];
\D:非数字字符,等价于[^0-9];
\w:单词字符[a-zA-Z0-9]:表示可以是小写a-z或者大写A-Z,数字也可以,下划线也满足要求;
\W:非字符;[^\w]  [^a-zA-Z0-9];


边界匹配:
^:表示行的开头;
$:表示行的结尾;


数量词:
?:例如:[0-9]?:0-9中的数字出现一次或者一次也没有(最多出现一次);
*: 例如:[0-9]*:0-9中数字出现0次或者多次;
+:例如\\w+或者[a-z0-9]+表示出现一次或者多次(至少出现一次);
{n}:例如[0-9]{6}:表示0-9匹配必须是6位;
{n,}:例如[0-9]{6,}:表示0-9中出现的数字必须是6位或者以上(至少6位);
{n,m}:例如:[0-9]{4,8}:表示0-9出现至少4次,最多8次


运算符:
XY:表示X后面必须Y元素;
X|Y:要么出现X,要么出现Y;
(X):将X里面的内容单独看成一个组


中文:
[\u4e00-\u9fa5]:表示匹配中文,\u4e00:表示中文字的开头第一个汉字,\u9fa5:表示中文字的结尾的最后一个汉字




集合:


概念:  1.现实生活中,很多事物凑在一起;
2.在数学中,具有相同属性事物的一个整体
3.在java中的集合,用来储存数据,以某种组织及网购并以特点的方式来进行访问;目的是提供一个可以用来处理对象的集合的框架,(一种工具,就像容器,存储任意数量的对象);


集合的作用:
1.在类的内部,对数据进行组织,不如当前每个学生都可以选择学习的科目;
2.简单而快速的搜索内容;


Java中集合框架的结构:


collection:collection接口是最基本的集合接口,不提供直接的实现,collection代表的是一种规则;
所包含的元素都必须遵循一条或者多条规则(某些实现类可以重复数据,有些实现类不能重复数据)
    (有些实现类必须按照指定的顺序进行插入,有的实现类插入顺序散列,有些排序,有些不排序)


在实际开发中不会直接使用collection接口进行开发,基本上是用collection的子接口;


List:


List接口为collection直接子接口,List接口代表的是有序的集合;是用某种特定的插入顺序来维护元素的数据,对集合中每个元素获取到精确位置进行访问,也就是说通过索引可以访问带元素;允许数据重复;


ArrayList是List的实现类:
1.ArrayList是一个动态的数组,底层是封装的数组;
2.他运行插入的数据位null;
3.创建ArrayList对象的时候,我们并没有制定它的大小,但是虚拟机初始容量10,该容量表示大小
4.随着我们数据的增加,容器的大小会随着增加,每次往容器中放入数据都会进行判断容量是否足够,当快要溢出来的时候,就进行动态扩容;
5.允许数据重复;