一些常用API:正则表达式,异常,泛型

一.正则表达式

        1.1.正则表达式:就是由一些特定的字符组成,代表的是一个规则

        1.2:书写规则:public boolean matches​(String regex)

                                判断字符串是否匹配正则表达式,匹配返回true,不匹配返回false。

 字符类(只匹配单个字符

预定义字符(只匹配单个字符)

数量词

        1.3用于查找信息:

                爬取的用法:

       //创建一个匹配规则对象,封装正则表达式(爬取规则)
        String regex = "(\\w{2,30})@(\\w{2,20})(\\.\\w{2,10}){1,2}";
        Pattern pattern = Pattern.compile(data);
        //内容和爬取规则建立联系,达到一个匹配器对象
        Matcher matcher = pattern.matcher(data);
        //开始使用匹配器对象,开始爬取内容

        1.4正则表达式用于搜索替换、分割内容,需要结合String提供的如下方法完成:

p​ublic String replaceAll(String regex , String newStr)

​

按照正则表达式匹配的内容进行替换
 

public String[] split(String regex):

按照正则表达式匹配的内容进行分割字符串,反回一个字符串数组。

二.异常

        2.1异常:代表程序出现的问题。

        2.2异常的分类

1.运行时异常:RuntimeException及其子类,编译阶段不会出现错误提醒,运行时出现的异常(如:数组索引越界异常)

2.编译时异常:编译阶段就会出现错误提醒的。(如:日期解析异常)

        2.3.异常的处理

                用来查找bug,可以作为方法内部的特殊返回值,通知上层调用者底层的执行情况。

                1.抛出异常:在方法上使用throws关键字,可以将方法内部出现的异常抛出去给调用者处理。

                2.捕获异常:直接捕获程序出现的异常。

        2.4.异常的作用,自定义异常

                异常是用来查询系统bug的关键参考信息,异常可以作为方法内部的一种特殊返回值,以便通知上层调用者底层的执行情况

                Java无法为这个世界上全部的问题都提供异常类来代表, 如果企业自己的某种问题,想通过异常来表示,以便用异常来管理该问题,那就需要自己来定义异常类了。

package Exception.AgeIliegalexception;

/**
 * 自定义编译时异常
 * 1、继承Exception.
 * 2、重写父类构造器。
 */
public class AgeIllegalException extends Exception{
    public AgeIllegalException() {
    }

    public AgeIllegalException(String message) {
        super(message);
    }

        2.5异常的处理

                2.5.1抛出异常:在方法上使用throws关键字,可以将方法内部出现的异常抛出去给调用者处理。

                2.5.2捕获异常(try…catch):直接捕获程序出现的异常。

在开发中异常的常见处理方式是:底层的异常抛出去给最外层,最外层集中捕获处理。

三.集合

        3.1.Collection单列集合:Collection代表单列集合,每个元素(数据)只包含一个值。

                List系列集合:添加的元素是有序、可重复、有索引。 ArrayList、LinekdList :有序、可重复、有索引。

                Set系列集合:添加的元素是无序、不重复、无索引。 HashSet: 无序、不重复、无索引; LinkedHashSet: 有序、不重复、无索引。 TreeSet:按照大小默认升序排序、不重复、无索引。

       3.2Collection的遍历方式:

                3.2.1.迭代器:迭代器是用来遍历集合的专用方式(数组没有迭代器),在Java中迭代器的代表是Iterator。

Iterator<String> it = lists.iterator();
while(it.hasNext()){
  String ele = it.next();
  System.out.println(ele);
}

                3.2.2获取集合的迭代器,迭代器遍历集合的代码:

                Iterator<E> iterator():得到迭代器对象,默认指向当前集合的索引0

                3.2.3通过迭代器获取集合的元素,如果取元素越界会出现的异常:

                会出现NoSuchElementException异常。

        3.3增强for循环

                写法:for (元素的数据类型 变量名 : 数组或者集合) {           }

                增强for可以用来遍历集合或者数组。 增强for遍历集合,本质就是迭代器遍历集合的简化写法。

                3.3.1.增强for可以遍历的容器

                既可以遍历集合也可以遍历数组。

                3.3.2.增强for的关键是记住它的遍历格式,具体格式:

                for(元素的数据类型 变量名 : 数组或者集合) {      

                    //在此处使用变量即可,该变量就是元素 }

        3.4.Lambda表达式

                得益于JDK 8开始的新技术Lambda表达式,提供了一种更简单、更直接的方式来遍历集合。

                

                3.4.1集合中存储的是元素的什么信息?

                集合中存储的是元素对象的地址。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值