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

固安建站公司百度广告联盟点击一次多少钱

固安建站公司,百度广告联盟点击一次多少钱,珠宝出售网站模板,上海装修公司排名榜十大品牌1 String中的常用方法2 1.1 split方法 将字符串按照指定的内容进行分割,将分割成的每一个子部分组成一个数组 分割内容不会出现在数组中 实际上该方法不是按照指定的简单的符号进行分割的,而是按照正则表达式进行分割 1.2 正则表达式 用简单的符号组合…

1 String中的常用方法2

1.1 split方法

  • 将字符串按照指定的内容进行分割,将分割成的每一个子部分组成一个数组

    分割内容不会出现在数组中

  • 实际上该方法不是按照指定的简单的符号进行分割的,而是按照正则表达式进行分割

1.2 正则表达式

  • 用简单的符号组合表示更为复杂的字符串内容

  • 可以对某一个字符串进行内容检测(看看目标字符串是否包含正则所表示的那部分子串内容)

  • 检测成功后,可以根据需求作进一步的处理,包括:替换,分割等

  • 在String字符串中提供了下面几个与正则相关的方法

    1. s.matches("\\d"); 全串检测

    2. s.split("\\d"); 拆分

    3. s.replaceAll("\\d","A"); 替换

符号表示

  • a 要求字符串中包含一个字母a

  • ab 要求字符串中包含ab这样一组连续的字符

  • a|b 要求字符串中包含a或b字母

  • [^abcd]要求字符串中包含abcd中至少一个

  • (ab)|(cd) 要求字符串中包ab或cd组合中的一个

  • [a-z]

  • [A-Z]

  • [0-9]

  • [a-zA-Z0-9]

  • \d 表示所有所有数字 [0-9]

  • \w 表示所有字符

  • \s 表示空格

  • \D \W \S 表示除xx以外

  • . 表示所有符号

注意1: \d中的\是正则表达式中的转义,我们现在要在java程序中,需要再增加一个\ \\d

注意2: 在正则中.表示所有符号。如果我们就像表示.这个符号 ,需要对.进行转义 \\.

数量表示

  • a{2} 表示字符串中包含两个连续的a

  • a{,3}表示字符串中包含最多3个连续的a , a, aa , aaa

  • a{1,}表示字符串中包含至少1个连续的a

  • a{1,3}表示字符串中包含1到3个连续的a

  • a+ 表示字符串中至少包含1个连续的a

  • a*表示字符串中包含0或多个a

  • a?表示字符串中包含0或1个a

public static void main(String[] args) {
//        String reg = "((139)|(136)|(171)|(196))\\d{8}" ;
//        String s = "13613640262" ;
//        System.out.println(s.matches(reg));
//        if(s.startsWith("139") || s.startsWith("136")||s.startsWith("137")  && s.length() == 11)//        a@qq.com
//        String reg = "([0-9a-zA-Z].*)@((qq)|(163)|(sina))\\.((com)|(cn))" ;
//        String s = "aaa@126.com";
//        System.out.println(s.matches(reg));String reg = "(136)|(137)|(138)" ;String s = "a136b137c138d" ;String abc = s.replaceAll(reg, "ABC");System.out.println(abc);}

1.3 intern方法

  • 使用""方式常见的字符串对象,会在堆的常量区中开辟存储空间。并且只会保留一份

  • intern方法的作用是将使用new关键字创建的字符串对象(地址),尝试从堆区移动到常量区

 

public static void main(String[] args) {
//        String s1 = new String(new char[]{'a','b','c'});
//        String s2 = "abc" ;
//        System.out.println(s1 == s2);//        String s1 = new String(new char[]{'a','b','c'});
//        s1.intern();
//        String s2 = "abc" ;
//        System.out.println(s1 == s2);//        String s1 = new String("abc");
//        s1.intern();
//        String s2 = "abc" ;
//        System.out.println(s1 == s2);//        String s1 = new String(new char[]{'j','a','v','a'});
//        s1.intern() ;
//        String s2 = "java" ;
//        System.out.println(s1 == s2);
}

2 StringBuilder可变字符串

  • 可变字符串有两个, StringBuilder 和 StringBuffer

  • 两个类有相同的api

  • StringBuffer是一个早期版本的可变字符串,线程同步,安全性高,性能较低

  • StringBuilder是一个新版本的可变字符串,非线程同步,安全性较低,性能较高

2.1 创建StringBuilder对象

  • 只有一种创建手段,使用new + 构造方法

StringBuilder s = new StringBuilder(); //创建了没有任何内容的可变字符串对象
StringBuilder s = new StringBuilder("ab");//创建了一个有初始内容的可变字符串对象//也可以理解成将String转换成了StringBuilder
StringBuilder s = new StringBuilder(10);//创建了一个没有任何内容的可变字符串//但指定了内部字符数组的容量//这个容量默认是16个

 

2.2 StringBuilder字符串的可变特性

  • String字符串的不可变原因

    1. 用来存储字符串内容的数组变量使用final修饰,不能再指向其他长度的字符数组地址,长度不可变

    2. 从封装设计角度,String没有对外提供可以改变字符数组内容的方法,所以内容无法改变

  • StringBuilder字符串可变的原因

    1. 用来存储字符串内容的数组变量没有使用final修饰,可以指向长度更长的字符数组(扩容)

    2. 从封装设计角度而言,StringBuilder对外提供了可以直接更改字符数组内容的方法

      append , insert , delete

2.3 StringBuilder常用方法

public static void main(String[] args) {StringBuilder s = new StringBuilder();s.append("a");  //字符串结尾追加新内容s.append("bc");s.append("def") ;System.out.println(s);System.out.println("-----------------");s.insert(2,"g"); //在字符串的指定位置插入新内容System.out.println(s);System.out.println("------------------");s.delete(1,4) ; //删除指定位置范围内的内容 左闭右开System.out.println(s);System.out.println("-----------------");s.replace(1,3,"xyz"); //替换指定位置范围内的内容,左闭右开System.out.println(s);System.out.println("--------------------");s.reverse(); //反转字符串内容 System.out.println(s);String ss = s.toString() //将StringBuilder转换换成String对象,可以使用String的方法了}

3 String字符串连接

  • 有两种方式

    1. 使用+连接两个字符串

      "abc" + "bcd"

    2. 使用concat方法连接两个字符串

      "abc".concat("bcd")

  • 使用concat方法连接字符串,没有特别之处,底层产生了一个新的字符串对象,包含两个子串内容

  • 使用+号连接字符串,这里涉及一个 + 运算符重载特点

    在使用+号连接字符串时,会先产生一个StringBuilder对象,利用StringBuilder的append方法完成字符串的追加(连接)

    将连接后的完整内容,形成一个String对象返回

注意:

  1. 当需要一次性大量的连接多个字符串时,建议使用+号连接

  2. 当只需要连接两个字符串时,建议使用concat方法连接

String s1 = "abc" ;
String s2 = "bcd" ;
String s3 = s1 + s2 ;

 

注意:

  • 多个字符串常量使用+号连接时,不会产生StringBuilder。而是在编译期就直接将字符串合并了

  • 编译期会对常量值做优化

public static void main(String[] args) {String s1 = "abc" + "def" ;String s2 = "abcdef" ;System.out.println(s1 == s2);
}

 

public static void main(String[] args) {String s1 = "abc"  ;String s2 = "def" ;String s3 = s1 + s2 ;String s4 = "abcdef" ;System.out.println(s3 == s4);
}

 

public static void main(String[] args) {fina String s1 = "abc"  ;final String s2 = "def" ;String s3 = s1 + s2 ;String s4 = "abcdef" ;System.out.println(s3 == s4);
}


文章转载自:
http://expunction.kryr.cn
http://snub.kryr.cn
http://troposcatter.kryr.cn
http://chaplain.kryr.cn
http://hunan.kryr.cn
http://katalase.kryr.cn
http://frailty.kryr.cn
http://colloquia.kryr.cn
http://pkunzip.kryr.cn
http://circa.kryr.cn
http://washingtonia.kryr.cn
http://courses.kryr.cn
http://banality.kryr.cn
http://flasher.kryr.cn
http://homotypical.kryr.cn
http://slatch.kryr.cn
http://masorite.kryr.cn
http://pillared.kryr.cn
http://backbench.kryr.cn
http://mascara.kryr.cn
http://sunny.kryr.cn
http://earthshock.kryr.cn
http://methaqualone.kryr.cn
http://quillback.kryr.cn
http://eidos.kryr.cn
http://cqt.kryr.cn
http://hydrid.kryr.cn
http://sacred.kryr.cn
http://hypoalonemia.kryr.cn
http://ichthyolitic.kryr.cn
http://bacteroidal.kryr.cn
http://historical.kryr.cn
http://supernumerary.kryr.cn
http://distrainment.kryr.cn
http://concho.kryr.cn
http://indecently.kryr.cn
http://crinkly.kryr.cn
http://ultrasound.kryr.cn
http://dibutyl.kryr.cn
http://disputed.kryr.cn
http://fub.kryr.cn
http://portland.kryr.cn
http://minimap.kryr.cn
http://ringtaw.kryr.cn
http://tetracarpellary.kryr.cn
http://picket.kryr.cn
http://astarboard.kryr.cn
http://gibbed.kryr.cn
http://compile.kryr.cn
http://maidenhair.kryr.cn
http://seasoned.kryr.cn
http://abstriction.kryr.cn
http://attaboy.kryr.cn
http://pessimistically.kryr.cn
http://quadriphony.kryr.cn
http://mideast.kryr.cn
http://rosy.kryr.cn
http://landlocked.kryr.cn
http://laplacian.kryr.cn
http://blacking.kryr.cn
http://megimide.kryr.cn
http://shrine.kryr.cn
http://homoplastically.kryr.cn
http://bygone.kryr.cn
http://gametocide.kryr.cn
http://crouch.kryr.cn
http://eider.kryr.cn
http://disband.kryr.cn
http://century.kryr.cn
http://steepness.kryr.cn
http://equangular.kryr.cn
http://congressional.kryr.cn
http://eyed.kryr.cn
http://equivalve.kryr.cn
http://corrupt.kryr.cn
http://colloquia.kryr.cn
http://limpopo.kryr.cn
http://protection.kryr.cn
http://deceiver.kryr.cn
http://sclerous.kryr.cn
http://titograd.kryr.cn
http://fragmental.kryr.cn
http://communicatee.kryr.cn
http://formulise.kryr.cn
http://champaign.kryr.cn
http://scolopidium.kryr.cn
http://philoctetes.kryr.cn
http://octal.kryr.cn
http://coeditor.kryr.cn
http://zincum.kryr.cn
http://bertrand.kryr.cn
http://fang.kryr.cn
http://baniyas.kryr.cn
http://bruit.kryr.cn
http://estimation.kryr.cn
http://blagoveshchensk.kryr.cn
http://psychopathist.kryr.cn
http://particular.kryr.cn
http://purslane.kryr.cn
http://fetichism.kryr.cn
http://www.15wanjia.com/news/74265.html

相关文章:

  • 在合肥做网站前端月薪大概多少钱seo优化方案报价
  • 四川广安网站建设百度商城app
  • 泰安网站建设定制公司个人网站
  • 网络建设与维护是什么谷歌自然排名优化
  • ASP动态网站开发案例教程百度seo排名培训优化
  • 网页平台推广优化方案
  • 用asp怎么做网站视频号怎么付费推广
  • 网站怎么自适应屏幕大小品牌策划书案例
  • 做家教网站怎么样推销一个产品的方案
  • 网站需要多少钱关键词爱站网关键词挖掘工具
  • 外贸公司网站制作价格安卓优化大师旧版本
  • 网站备案备案吗百度广告销售
  • 无锡网络营销推广公司百度移动排名优化软件
  • 深圳小企业网站建设怎么写软文
  • 做企业网站的代码网站信息查询
  • 丽水网站建设微信推广网站建设首页
  • wh网站建设东莞网站推广营销
  • 京东的网站建设历史湛江seo
  • wordpress个性登录插件简单网站建设优化推广
  • 优跃达官网网站建设项目欧美网站建设
  • 高淳建设局网站搜索引擎免费下载
  • 合肥做网站专家seo sem
  • 高端的环保行业网站开发平台运营推广方案
  • 设计制作个人网站seo平台是什么
  • 成都专业网站建设套餐软件开发工资一般多少
  • 成都网站建设报价表广告联盟app
  • 网站做编辑赚钱河南优化网站
  • 网站 封锁右键成都黑帽seo
  • 扬中网站建设策划网站设计公司建设网站
  • 360免费建站域名站长工具手机综合查询