当前位置: 首页 > news >正文

厦门市建设局网站住房保障专栏/活动策划

厦门市建设局网站住房保障专栏,活动策划,电子商务网站建设与维护03,品牌推广与传播方案目录 1.正则表达式 2.爬虫 3.时间 4.包装类 5.工具类之Arrays 6.Lambda 1.正则表达式 用于验证字符串是否满足自己所需要的规则。方法:matches 注意:\在Java中有特殊涵义,是将其它的意思本来化,假设"是用来引…

目录

1.正则表达式

2.爬虫

3.时间

4.包装类

5.工具类之Arrays

6.Lambda        


1.正则表达式

用于验证字符串是否满足自己所需要的规则。方法:matches

注意:\在Java中有特殊涵义,是将其它的意思本来化,假设"是用来引用字符串的,但是你如果想要输出它,那是不是就变成了System.out.println(""");那很明显会报错,这需要加上\就行了,将"的意思本来化,就变成了普普通通的"了。正确形式System.out.println("\"");所有在使用上面的\d,\D,\s等等的时候就需要在它前面加上\。

public class aaa2 {public static void main(String[] args) {String r="2161672768";//qq号是9位到10位的,第一个不为0System.out.println(r.matches("[0-9]\\d{8,9}"));}
}

这里的{8,9}表示字符串的后面8个或者9个,也指前面的//d只能出现8次或者9次,因为前面的判断第一个是不是0,用掉了一个字符(【0-9】);

注意:matches(),括号里面的字符串,当然也可以这样。

public class aaa2 {public static void main(String[] args) {String r="2161672768";//qq号是9位到10位的,第一个不为0
//        System.out.println(r.matches("[0-9]\\d{8,9}"));String e="[0-9]\\d{8,9}";System.out.println(r.matches(e));}
}

2.爬虫

搜索关键词或者关键句。

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class aaa2 {public static void main(String[] args) {//有如下文本,请按照要求爬取数据。String str = "Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11,"+ "因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";//1.获取正则表达式的对象Pattern p = Pattern.compile("Java\\d{0,2}");//找java,java后面可以有0到2个数字//2.获取文本匹配器的对象,m:文本匹配器的对象,str:大串,p:规则,m要在str中找符合p规则的小串// 拿着m去读取str,找符合p规则的子串Matcher m = p.matcher(str);//3.利用循环获取while (m.find()) {String s = m.group();System.out.println(s);}}
}

结果如下:

拓展1:我们爬虫要爬的数据一般不止一个,matches有很好的解决方法。假设我们要爬虫java\\d{0,2}和c++\\d{0,2}怎么办呢

可以将String r="(java\\d{0,2})|(c++\\d{0,2})",没错中间的|就是你想的那样,类似c的||(或者)功能,在该方法中同样试用。(只有一条|)

拓展2(需求1):String r="java(?=8|11|17)"

?表示java,=表示java后面是否有8或者11或者17,有就爬取,但是这里打印的时候不会将后面的数字打印出来,只会打印java,方式跟之前的一样,只不过规则的字符串变了。

还有将r="((?i)java)(?=8|11|17)"表示忽略java的大小写进行爬取。

拓展3(需求2):String r="((?i)java)(8|11|17)"或者String r="((?i)java)(?:8|11|17)"

拓展4(需求3)String r="((?i)java)(?!8|11|17)

拓展5:贪婪和非贪婪爬取

拓展6:捕获分组和非捕获分组

3.时间

获取当前时间:Date r=new Date();   long time =r.getTime(); 计算现在距离起始时间过了多少毫秒

修改距离起始时间的毫秒值   r.setTime(毫秒值);         

long的通常要加上大写或者小写的l,L更加显眼。

该方法打印结果如下:

修改后可运用到项目的如下;(默认)

日期的相关标识符:

自定义时间格式如下:

字符串设置时间格式:(方法中的格式要更字符串一样否则会报错)

4.包装类

包装类(Wrapper Class)在Java中是一种特殊的类,它们用来将基本数据类型包装成对象。主要的包装类有 IntegerLongFloatDoubleBooleanCharacterByteShort,分别对应基本数据类型int,long,float,double,boolean,char,byte,short。在后序的集合和Map中有相关例子。

作用:

1.将基本数据类型转换为对象

2.提供了方法来操作基本数据类型

3.支持泛型编程

4.提供了常量和静态方法

5.实现了一些接口

6.自动装箱和拆箱

装箱指将基本数据类型转换成包装对象,拆箱指将包装对象转换成基本数据练习。自动指他们创建出来后,在使用时,底层逻辑会自动转化,不需要自己手动转化。

5.工具类之Arrays

6.Lambda        

Lambda 表达式使得 Java 语言在编程风格上更加现代化和函数式,提升了代码的简洁性、可读性和并行处理的能力,是 Java 8 版本中一个重要的语言特性。

注意:

1.Lambda表达式可以用来简化匿名内部类的书写

2.Lambda表达式只能简化函数式接口的匿名内部类的写法

3.函数式接口:有且仅有有一个抽象方法的接口叫做函数式接口,接口上方可以加@FunctionalInterface注解

Lambda的简写例子如下:

import java.util.Arrays;
import java.util.Comparator;public class test {public static void main(String[] args) {//初识lambda表达式Integer[] arr1 = {3, 8, 5, 7, 9, 1, 4, 2};Integer[] arr2 = {3, 8, 5, 7, 9, 1, 4, 2};Arrays.sort(arr1,new Comparator<Integer>() {public int compare(Integer o1, Integer o2) {return o2-o1;}});System.out.println(Arrays.toString(arr1));Arrays.sort(arr1, (Integer o1, Integer o2) -> {return o1 - o2;});System.out.println(Arrays.toString(arr1));Arrays.sort(arr2, (o1, o2) -> o1 - o2);System.out.println(Arrays.toString(arr2));}
}

结果如下:

为了保证Lambda表达式的目标类型是一个明确的函数式接口,有如下三种常用方式;

1.将Lambda表达式赋值给函数式接口类型的变量。

2.将Lambda表达式作为函数式接口类型的参数传给某个方法。

3.使用函数式接口等Lambda表达式进行强制转换。

可以运行:

//Ring接口中只包含一个无参数的方法
//Lambda表达式代表的匿名方法实现了Ring接口唯一的,无参数的方法
//因此下面的Lambda表达式创建了一个Ring的对象
Ring r=()->{
for(int i=0;i<=100;i++)
System.out.println();
}

无法运行:


Objext r=()->{
for(int i=0;i<=100;i++)
System.out.println();
}

因为Object不是函数式接口,想要强制转换,前提是他们类型一直,如参数, 返回值


Object r=(Ring)()->{
for(int i=0;i<=100;i++)
System.out.println();
}

http://www.jmfq.cn/news/5333527.html

相关文章:

  • 网站建设模/自媒体135网站
  • 浙江省工程建设质量管理协会 网站/百度提问在线回答问题
  • 新葡京网址网站建设/西安全网优化
  • 保山网站建设服务/在线发外链工具
  • 网站建设论坛社区/企业营销策划实训报告
  • 关于网站平台建设调研的函/网站优化排名软件网
  • 高校机关党委网站建设/外贸企业网站设计公司
  • 建设网站导航/免费推广的网站平台
  • 中职网站建设与维护考试题/google 推广优化
  • 邯郸住房及城乡建设部网站/百度seo优化招聘
  • 哈尔滨道里建设局网站/长沙百度seo代理
  • 信息公开暨网站建设管理办法/seo标题优化导师咨询
  • 盘州市网站建设/做网站的软件叫什么
  • 网页设计与网站建设试题/今日热点新闻排行榜
  • 招聘去建设赌博类网站/企业网络规划与设计
  • 内部网站建设依据文件/百度搜索引擎优化方案
  • 北京天仪建设工程质量检测所网站6/网络营销薪酬公司
  • 遵义建设厅官方网站/网站关键词排名优化价格
  • 重庆微网站建设哪家好/百度seo关键词排名
  • 石家庄手机网站建设/东莞网站建设公司
  • 国外开源网站建设软件/快速优化工具
  • 政府网站群建设工作/怎么安装百度
  • 哈尔滨建设银行网站首页/竞价推广教程
  • 如何评判网站建设岗位/2021友情链接qq群
  • 软件开发网站建设维护/深圳推广优化公司
  • 这么自己建设网站/站长工具排名查询
  • 塘下网站建设/十大室内设计网站
  • 公司网站开发 建设/东营网站建设制作
  • 建设部网站增值税/网站推广优化
  • 3 阐述网站建设的步骤过程/域名交易域名出售