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

网站建设公司做的网站安徽今天刚刚发生的新闻

网站建设公司做的网站,安徽今天刚刚发生的新闻,深圳专业商城网站制作,如何做企业网站的排名Java---第八章 字符串String字符串的常用方法StringBuilder和StringBuffer常用方法 对比String 和StringBuilder 和 StringBuffer 字符串 String 特性#xff1a; String 类位于java.lang包中#xff0c;无需引入#xff0c;可直接使用String 类是由final修饰的#xff… Java---第八章 字符串String字符串的常用方法StringBuilder和StringBuffer常用方法 对比String 和StringBuilder 和 StringBuffer 字符串 String 特性 String 类位于java.lang包中无需引入可直接使用String 类是由final修饰的表示String 类是一个最终类不能被继承String 类构建的对象不可再被更改 package org.device.Device;public class DeviceTest {public static void main(String[] args) {//当使用一个字面量给字符串赋值的时候首先会去字符串常量池里检测是否//存在其字面量如果存在//则直接使用这个字面量的地址赋值即可如果不存在//则需要在字符串常量池中创建这个字面量然后//再将地址赋值过去String s 超用心;s 在线学习;//这里的字符串拼接发生在堆内存上System.out.println(s);} }常见的构造方法 public String(String original);public String(char value[]);public String(char value[],int offset,int count);public String(byte bytes[]);public String(byte bytes[].int offset,int length);public String(byte bytes[],Charset charset);//字符集分别解释 public String(String original);public static void main(String[] args) {String s 超用心在线学习;System.out.println(s);//这里会创建两个对象一个是字面量会在常量池中创建一个对象//另一个是new String()构造方法创建出来的对象String s1 new String(超用心在线学习);System.out.println(s1);} }上面有String s “超用心学习”下面再创建就会先去常量池里查找发现有一个然后只创建一个堆内存对象 public String(char value[]);public String(char value[],int offset,int count);public static void main(String[] args) {char[] values {a,d,m,i,n};String s2 new String(values);System.out.println(s2);String s3 new String(values,1,3);//跳过1个再继续输出3个System.out.println(s3);}输出 admin dmi public String(byte bytes[]);public String(byte bytes[].int offset,int length);public static void main(String[] args) {byte[] bytes {97,98,99,100,101,102};String s4 new String(bytes);System.out.println(s4);String s5 new String(bytes,2,3);System.out.println(s5);}输出 abcdef cde 字节可以存储整数字符也可以用整数表示这个整数就是ASCII码对应的整数值 public String(byte bytes[],Charset charset);//字符集public static void main(String[] args) {byte[] bytes {97,98,99,100,101,102};Charset charset Charset.forName(UTF-8);String s6 new String(bytes,charset);//bytes编码为UTF-8System.out.println(s6);}字符串的常用方法 获取长度 public int length();//获取字符串长度举例 public static void main(String[] args) {String s1 超用心学习;int length s1.length();System.out.println(length);}字符串比较 public boolean equals(Object anObject);//比较两个字符串是否相等public boolean equalsIgnoreCase(String anotherString); //忽略大小比较两个字符串是否相等举例 字符串之间比较时首先会看两个字符串的长度是否相等如果相等再看其中每个字符是否相等 public static void main(String[] args) {String s2 abc;String s3 abc;String s4 ABC;System.out.println(s2.equals(s3));System.out.println(s2.equals(s4));System.out.println(s2.equalsIgnoreCase(s4));}字符串大小写转换 public String toLowerCase();//转换成小写public String toUpperCase();//转换成大写举例 public static void main(String[] args) {String s2 abc;String s4 ABC;String s5 s2.toUpperCase();System.out.println(s5);String s6 s4.toLowerCase();System.out.println(s6);}获取字符在字符串中的下标 public int indexof( int ch);//获取指定字符在字符串中第一次出现的下标public int lastIndexof(int ch);//获取指定字符在字符串中最后一次出现的下标获取字符串在字符串中的下标 public int indexof(String str);//获取指定字符串在字符串中第一次出现的下标public int lastIndexof(String str);//获取指定字符串在字符串中最后一次出现的下标获取字符串中的指定下标的字符 public char charAt(int index);举例 public static void main(String[] args) {String s kliyaliyun.com;int index1 s.indexOf();//打印该字符串中第一个的下标System.out.println(index1);int index2 s.lastIndexOf();//打印该字符串中最后一个的下标System.out.println(index2);int index3 s.indexOf(.);int index4 s.lastIndexOf(.);boolean case1 (index1 index2);boolean case2 (index3 index4);boolean case3 (index3 - index2 1);boolean case4 (index1 0 index4 s.length());if(case1 case2 case3 case4){System.out.println(字符串s是一个邮箱地址);}System.out.println(s.charAt(0));//k}字符串截取 public String substring(int beginIndex);//从指定开始位置截取字符串直到字符串末尾public String substring(int beginIndex,int endIndex); //从指定开始位置到指定结束位置截取字符串示例 字符串截取截取时使用左闭右开区间 [0,4 public static void main(String[] args) {String s Java是一门非常高深的语言;String sub1 s.substring(0,4);System.out.println(sub1);String sub2 s.substring(7);System.out.println( sub2);}输出 Java 非常高深的语言 字符串替换 public String replace(char oldChar,char newChar); //使用新的字符替换字符串中旧的字符public String replace(CharSequence target,CharSequence replacement); //使用替换的字符串来替换字符串中的字符串public String replaceAll(String regex,String replacement); //使用替换的字符串来替换字符串中满足正则表达式的字符串示例 public static void main(String[] args) {String s hello world;String s1 s.replace(o,a);System.out.println(s1);String s2 s.replace(o,a);System.out.println(s2);String info a1b2c3d4;//regular expresssion 正则表达式//三至五位数字的正则表达式//[1-9][0-9]{2,4}//英文字符串的正则表达式//[a-zA-Z]// 表示任意长度String result info.replaceAll([0-9],);//把其字符串中的数字替换成空}获取字符数组 public char[] toCharArray();获取字节数组 public byte[] getBytes();.//获取字节数组public byte[] getBytes(Charset cahrset);//获取指定编码下的字节数组示例 public static void main(String[] args) {String s my god;char[] values s.toCharArray();for(int i0;is.length();i){System.out.println(values[i]);}byte[] bytes s.getBytes();for(int i0;ibytes.length;i){System.out.println(bytes[i]);}byte[] bytes1 s.getBytes(Charset.forName(GB2312));System.out.println(bytes1);}字符串拼接 public String concat(String str);//将字符串追加到末尾去除字符串两端的空白字符 public String trim();示例 public static void main(String[] args) {String s1 Hello;String s2 World;String s3 s1 s2;System.out.println(s3);String s4 s1.concat(s2);System.out.println(s4);String s5 ab cd ;String s6 s5.trim();//将字符串两端空格剪掉System.out.println(s6);}字符串分割 public String[] split(String regex);//将字符串按照匹配的正则表达式分割字符串匹配正则表达式 public boolean matches(String regex);//检测字符串是否匹配给定的正则表达式示例 public static void main(String[] args) {String s a1b2c3d4;String[] arr s.split([0-9]);for(int i0;iarr.length;i){System.out.println(arr[i]);}String personInfo 刘德华,男,53,很帅气;String[] arr1 personInfo.split(,);for(int i0;iarr1.length;i){System.out.println(arr1[i]);}String regex [a-z0-9];boolean match s.matches(regex);System.out.println(match);}不得不提到的intern()方法 public native String intern();示例 public static void main(String[] args) {String s1 超用心;String s2 在线学习;String s3 s1 s2;String s4 超用心在线学习;System.out.println(s3 s4);//false//将字符串s3放入常量池放入时会先检测常量池中是否存在s3字符串//如果s3已经存在了s5就直接使用s3的字符串地址即可//若不存在就在常量池中创建字符串s3String s5 s3.intern();System.out.println(s5 s4);//true}StringBuilder和StringBuffer 特性介绍 位于Java.lang包中无需引入可以直接使用是由final修饰的表示一个最终类不可以被继承所构建的对象可以实现字符序列的追加但不会产生新的对象只是将这个字符序列保存在字符数组中 构造方法 以StringBuilder为例这两个都一样的 public StringBuilder();//构建一个StringBuilder对象默认容量为16public StringBuilder(int capacity);//构建一个StringBuilder对象并指定初始化容量public StringBuilder(String str); //构建一个StringBuilder对象并将指定的字符串存储在其中示例 public static void main(String[] args) {StringBuilder sb1 new StringBuilder();StringBuilder sb2 new StringBuilder(1024);StringBuilder sb3 new StringBuilder(超用心学习);}常用方法 追加 public StringBuilder append(String str);//将一个字符串添加到StringBuilder存储区public StringBuilder append(StringBuffer sb); //将StringBuffer存储的内容添加到StringBuffer存储区中示例 public static void main(String[] args) {StringBuilder sb1 new StringBuilder(1024);sb1.append(超用心学习);sb1.append(1);sb1.append(1.0);sb1.append(true);sb1.append(a);System.out.println(sb1);}输出 超用心学习11.0truea 删除指定区间存储的内容 public StringBuilder delete (int start,int end); //将StringBuilder存储区指定的开始位置到指定的结束位置直接的内容删除删除存储区指定下标位置存储的字符 public StringBuilder deleteCharAT(int index);示例 public static void main(String[] args) {StringBuilder builder new StringBuilder(abcdefg);builder.delete(1,5);//区间(1,5)不包括1和5System.out.println(builder);//afgbuilder.deleteCharAt(0);System.out.println(builder);//fg}在StringBuilder存储区指定偏移位置处插入指定的字符串 public StringBuilder insert(int offset,String str);将存储区的内容倒序 public StringBuilder reverse();示例 public static void main(String[] args) {StringBuilder builder new StringBuilder(admine);builder.reverse();System.out.println(builder);//enimdabuilder.insert(2,,);System.out.println(builder);//en,imda//需要注意的是length()方法返回的是char[]中使用的数量System.out.println(builder.length());//6}获取指定字符串在存储区中的位置 public int indexof(String str);//获取指定字符串在存储区中第一次出现的位置public int lastIndexof(String str);//获取指定字符串在存储区中最后一次出现的位置例题 将从控制台输入的数字转换成财务数字101,111001.25使用StringBuilder完成 public static void main(String[] args) {//将从控制台输入的数字转换成财务数字101,111001.25//使用StringBuilder完成Scanner sc new Scanner(System.in);System.out.println(请输入一串数字);double money sc.nextDouble();StringBuilder builder new StringBuilder();builder.append(money);int index builder.indexOf(.);//打印.的下标if(index3){for (int iindex-3;i0;i-3){builder.insert(i,.);}}System.out.println(builder.toString());}对比String 和StringBuilder 和 StringBuffer 都是用来处理字符串的在处理少量字符串的时候它们之间的处理效率几乎没有任何区别但是处理大量字符串时 由于String类的对象不可更改因此在处理字符串会产生新的对象对内存消耗较大。 StringBuilder和StringBuffer使用的是对字符串的字符数组内容进行拷贝不会产生新的对象因此效率较高。 而StringBuffer为了保证在多线程情况下字符数组中的内容正确使用在每个成员方法上面加了锁有锁就会增加消耗因此StringBuffer在处理效率上低于StringBuilder
http://www.yayakq.cn/news/4732/

相关文章:

  • 个人网站开发的现状做网站要多少费用
  • 网站设计总结与心得体会设计制作公益广告牌教案
  • 青岛网站设计电话网站模板可视化编辑
  • 营销网站 建设 高端电脑在哪网站接做扇子单
  • 企业网站建设参考资料wordpress暗箱
  • 哪个网站上做自媒体最好相册制作app
  • 网站建设总费用指定关键字 网站有更新就提醒
  • 西安做网站seo河南省人事考试中心
  • 用数字做域名网站WordPress设置登录后搜索
  • 企业自助建站系统下载我要建设一个网站
  • 网站开发 售后服务协议买域名可以自己做网站吗
  • 网站建设在国外迁西个人网页设计制作软件
  • 国内知名网站建设排名上海设计展2021室内设计
  • 榆林医疗网站建设运城建网站
  • 微商网站开发合同wordpress模板 菜谱
  • 网站设计教程文档外贸之家
  • 怎么免费搭建网站wordpress head.php
  • 网站后台插件青海公路建设服务网站
  • 校园综合门户网站建设方案电子商务网站设计的书
  • 做分析图很好用的网站电子版证件照免费制作微信小程序
  • 做系统下载网站建设网站开发 php
  • 万网的网站建设是什么小说网站流量怎么做
  • 无锡建设厅的官方网站群晖wordpress域名
  • 风铃网站代做网站建设工作汇报
  • 聊城房地产网站建设icann 域名注册网站
  • 温州专业网站开发网站设计平面设计素材网站哪个好
  • 大型网站过程快速制作网站
  • 网站如何跳转vultr怎么建设影视网站
  • 轮胎 东莞网站建设app的网络推广方案
  • 陕西网站建设托管泰兴网站优化