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

近一周的热点新闻seo免费优化网址软件

近一周的热点新闻,seo免费优化网址软件,巴顿品牌设计公司,汕头小程序定制文章目录 一、String类的重要性二、String类中的常用方法1.字符串构造2.String对象的比较3.字符串查找4.转换5.字符串替换6.字符串拆分7.字符串截取8.其他操作方法9.字符串的不可变性10.字符串修改 三、StringBuilder和StringBuffer 一、String类的重要性 在C语言中已经涉及到… 文章目录 一、String类的重要性二、String类中的常用方法1.字符串构造2.String对象的比较3.字符串查找4.转换5.字符串替换6.字符串拆分7.字符串截取8.其他操作方法9.字符串的不可变性10.字符串修改 三、StringBuilder和StringBuffer 一、String类的重要性 在C语言中已经涉及到字符串了但是在C语言中要表示字符串只能使用字符数组或者字符指针可以使用标准库提供的字符串系列函数完成大部分操作但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想而字符串应用又非常广泛因此Java语言专门提供了String类 二、String类中的常用方法 1.字符串构造 String类提供的构造方式非常多常用的有以下三种 public class Test {public static void main(String[] args) {String s hello;System.out.println(s);String s1 new String(hello);System.out.println(s1);char[] s3 {h,e,l,l,o};System.out.println(s3);} }注意 1.String类是引用类型内部并不存储字符串本身 2.在Java中引起来的也是String类型对象 2.String对象的比较 Java中提供了四种比较方式 1.比较是否引用同一对象 public class Test {public static void main(String[] args) {int a 10;int b 20;int c 10;System.out.println(ab);System.out.println(ac);System.out.println(********);String s new String(hello);String s1 new String(hello);String s2 new String(word);String s3 s;System.out.println(ss1);System.out.println(s1s2);System.out.println(ss3);} }注意 对于内置类型 比较的是变量中的值对于引用类型比较的是引用中的地址 2.boolean equals(Object anObject) 方法按照字典序比较 字典序字符大小的顺序 String类重写了父类Object中equals方法Object中equals默认按照比较String重写equals方法后按照如下规则进行比较 public class Test {public static void main(String[] args) {String s new String(hello);String s1 new String(hello);String s2 new String(Hello);// equals比较String对象中的逐个字符// s与s2引用的不是同一个对象而且两个对象中内容也不同因此输出false// s与s1引用的不是同一个对象但是两个对象中放置的内容相同因此输出trueSystem.out.println(s.equals(s2));System.out.println(s.equals(s1));} }3.int compareTo(String s) 方法: 按照字典序进行比较 与equals不同的是equals返回的是boolean类型而compareTo返回的是int类型。具体比较方式 1.先按照字典次序大小比较如果出现不等的字符直接返回这两个字符的大小差值 2.如果前k个字符相等(k为两个字符长度最小值)返回值两个字符串长度差值 public class Test {public static void main(String[] args) {String s new String(abc);String s1 new String(ac);String s2 new String(abc);String s3 new String(abcde);System.out.println(s.compareTo(s1));//不同输出字符的差值为-1System.out.println(s.compareTo(s2));//输出字符相同为0System.out.println(s.compareTo(s3));//前几个字符相同输出长度差值为-2} } 4. int compareToIgnoreCase(String str) 方法与compareTo方式相同但是忽略大小写比较 public class Test {public static void main(String[] args) {String s new String(abc);String s1 new String(ac);String s2 new String(ABc);String s3 new String(abcde);System.out.println(s.compareToIgnoreCase(s1));//不同输出字符的差值为-1System.out.println(s.compareToIgnoreCase(s2));//输出字符相同为0System.out.println(s.compareToIgnoreCase(s3));//前几个字符相同输出长度差值为-2} } 3.字符串查找 字符串查找也是字符串中非常常见的操作String类提供的常用查找的方法 方法功能char charAt(int index)返回index位置上字符如果index为负数或者越界抛出IndexOutOfBoundsException异常int indexOf(int ch)返回ch第一次出现的位置没有返回-1int indexOf(int ch, int fromIndex)从fromIndex位置开始找ch第一次出现的位置没有返回-1int indexOf(String str)返回str第一次出现的位置没有返回-1int indexOf(String str, int fromIndex)从fromIndex位置开始找str第一次出现的位置没有返回-1int lastIndexOf(int ch)从后往前找返回ch第一次出现的位置没有返回-1int lastIndexOf(int ch, int fromIndex)从fromIndex位置开始找从后往前找ch第一次出现的位置没有返回-1:int lastIndexOf(String str)从后往前找返回str第一次出现的位置没有返回-1:int lastIndexOf(String str, int fromIndex)从fromIndex位置开始找从后往前找str第一次出现的位置没有返回-1 public class Test {public static void main(String[] args) {String s aaabbbcccaaabbbccc;System.out.println(s.charAt(3)); System.out.println(s.indexOf(c));System.out.println(s.indexOf(c, 10));System.out.println(s.indexOf(bbb));System.out.println(s.indexOf(bbb, 10));System.out.println(s.lastIndexOf(c));System.out.println(s.lastIndexOf(c, 10));System.out.println(s.lastIndexOf(bbb));System.out.println(s.lastIndexOf(bbb, 10));} }4.转换 1.数值和字符串转换化 public class Test {public static void main(String[] args) {String s1 String.valueOf(1234);String s2 String.valueOf(12.34);String s3 String.valueOf(true);System.out.println(s1);System.out.println(s2);System.out.println(s3);System.out.println();// 字符串转数字// 注意Integer、Double等是Java中的包装类型int data1 Integer.parseInt(1234);double data2 Double.parseDouble(12.34);System.out.println(data1);System.out.println(data2);} }2.大小写转换 public class Test {public static void main(String[] args) {String s hello;String s1 HELLO;System.out.println(s.toUpperCase());//小写转大写System.out.println(s1.toLowerCase());//大写转小写} } 这两个函数只转换字母 3.字符串转数组 public class Test {public static void main(String[] args) {String s hello;// 字符串转数组char[] ch s.toCharArray();for (int i 0; i ch.length; i) {System.out.print(ch[i]);}System.out.println();// 数组转字符串String s2 new String(ch);System.out.println(s2);} }4.格式化 public class Test {public static void main(String[] args) {String s String.format(%d-%d-%d, 2019, 9,14);System.out.println(s);} }5.字符串替换 使用一个指定的新的字符串替换掉已有的字符串数据可用的方法如下 方法功能String replaceAll(String regex, String replacement)替换所有的指定内容String replaceFirst(String regex, String replacement)替换收个内容 public class Test {public static void main(String[] args) {String s hellohello;System.out.println(s.replaceAll(l, z));System.out.println(s.replaceFirst(l, z));} } 注意事项: 由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串 6.字符串拆分 可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串 方法如下 方法功能String[] split(String regex)将字符串全部拆分String[] split(String regex, int limit)将字符串以指定的格式拆分为limit组 public class Test {public static void main(String[] args) {String str hello word is you;String[] s str.split( );//按照空格拆分for (int i 0; i s.length; i) {System.out.println(s[i]);}} }public class Test {public static void main(String[] args) {String str hello word is you;String[] s str.split( ,2);//按照空格拆分成两份for (int i 0; i s.length; i) {System.out.println(s[i]);}} } 拆分是特别常用的操作. 一定要重点掌握. 另外有些特殊字符作为分割符可能无法正确切分, 需要加上转义 注意事项 1.字符|“,”*“,”“都得加上转义字符前面加上 “\” 2.而如果是 “” 那么就得写成 “\\” 3.如果一个字符串中有多个分隔符可以用”|作为连字符 多次拆分 public class Test {public static void main(String[] args) {String str namezhagnsanage10;String[] s str.split();for (String ss:s) {String[] ret ss.split();for (String sss:ret) {System.out.println(sss);}}} }7.字符串截取 从一个完整的字符串之中截取出部分内容 方法如下 方法功能String substring(int beginIndex)从指定索引截取到结尾String substring(int beginIndex, int endIndex)截取部分内容 public class Test {public static void main(String[] args) {String str helloword;System.out.println(str.substring(5));System.out.println(str.substring(0, 5));} } 注意事项 1.索引从0开始 2.注意前闭后开区间的写法substring(0,5)表示包含0下标的字符不包含5下标的字符 8.其他操作方法 方法功能String trim()去掉字符串中的左右空格,保留中间空格String toUpperCase()字符串转大写String toLowerCase()字符串转小写 public class Test {public static void main(String[] args) {String str hello word ;System.out.println(str.trim());} } trim 会去掉字符串开头和结尾的空白字符(空格, 换行, 制表符等) 9.字符串的不可变性 String是一种不可变对象. 字符串中的内容是不可改变。字符串不可被修改是因为 1.String类在设计时就是不可改变的String类实现描述中已经说明了 String类中的字符实际保存在内部维护的value字符数组中从上图中可以看出 1.String类被final修饰表示该类不能被继承 2.value被final修饰表明value自身的值不能改变即不能引用其它字符数组但是其引用空间中的内容可以修改 2. 所有涉及到可能修改字符串内容的操作都是创建一个新对象改变的是新对象 字符串不可变是因为其内部保存字符的数组被final修饰了因此不能改变。 这种说法是错误的不是因为String类自身或者其内部value被final修饰而不能被修改。 final修饰类表明该类不想被继承final修饰引用类型表明该引用变量不能引用其他对象但是其引用对象中的内容是可以修改的 10.字符串修改 注意 尽量避免直接对String类型对象进行修改因为String类是不能修改的所有的修改都会创建新对象效率非常低下 三、StringBuilder和StringBuffer 由于String的不可更改特性为了方便字符串的修改Java中又提供StringBuilder和StringBuffer类。这两个类大部分功能是相同的 方法功能StringBuff append(String str)在尾部追加相当于String的可以追加boolean、char、char[]、double、float、int、long、Object、String、StringBuff的变量char charAt(int index)获取index位置的字符int length()获取字符串的长度int capacity()获取底层保存字符串空间总的大小void ensureCapacity(int mininmumCapacity)扩容void setCharAt(int index,char ch)将index位置的字符设置为chint indexOf(String str)返回str第一次出现的位置int indexOf(String str, int fromIndex)从fromIndex位置开始查找str第一次出现的位置int lastIndexOf(String str)返回最后一次出现str的位置int lastIndexOf(String str,int fromIndex)从fromIndex位置开始找str最后一次出现的位置StringBuff insert(int offset, String str)在offset位置插入八种基类类型 String类型 Object类型数据StringBuffer deleteCharAt(int index)删除index位置字符StringBuffer delete(int start, int end)删除[start, end)区间内的字符StringBuffer replace(int start, int end, String str)将[start, end)位置的字符替换为strString substring(int start)从start开始一直到末尾的字符以String的方式返回String substring(int startint end)将[start, end)范围内的字符以String的方式返回StringBuffer reverse()反转字符串String toString()将所有字符按照String的方式返回 String和StringBuilder最大的区别在于String的内容无法修改而StringBuilder的内容可以修改。频繁修改字符串的情况考虑使用StringBuilder 注意 String和StringBuilder类不能直接转换。如果要想互相转换可以采用如下原则: 1.String变为StringBuilder: 利用StringBuilder的构造方法或append()方法 2.StringBuilder变为String: 调用toString()方法 String、StringBuffer、StringBuilder的区别 1.String的内容不可修改StringBuffer与StringBuilder的内容可以修改. 2.StringBuffer与StringBuilder大部分功能是相似的 3.StringBuffer采用同步处理属于线程安全操作而StringBuilder未采用同步处理属于线程不安全操作
http://www.tj-hxxt.cn/news/133378.html

相关文章:

  • 搜讯网站开发微信建微网站
  • 西安哪个公司做网站WordPress主题会包含木马吗
  • 湛江网站建设哪家优惠多网站文章要求
  • 免费网站建设免代码wordpress官方响应式主题
  • 网站开发 如何备案一小时学会网站建设
  • html 医药网站模板那里网站建设好
  • 外贸那些网站好用镇江网站制作教程
  • 南梁红色景区建设管理局网站做网站贵
  • 找网站开发项目秦皇岛海三建设一分公司
  • 如何对网站做镜像wordpress 默认相册
  • 做一个公司网站免费的网站推广
  • 性男女做视频网站网络推广和网络运营
  • 在国内可以做国外的网站吗海口最新新闻消息
  • 龙岗建设企业网站wordpress 内容 主题
  • 网站建设营销公司南京建设企业
  • 百度网站解封wordpress免费电子商务插件
  • 北京 网站建设托管公司网站 建设ppt模板
  • 如何对网站进行爬虫网站建设单子
  • 域名注册和网站建设兰州网站seo服务
  • 易语言可以建设网站吗石景山区百科seo
  • 网站让百度收录应该怎么做网址seo关键词
  • 德州中文网站建设成立公司需要哪些人员
  • 做爰片免费网站视频东莞网络优化公司
  • 做网站和推广公司扁平结构的网站
  • 网站备案登记查询系统免费软件有版权吗
  • 公众号怎么制作横屏长图文东莞网站排名优化seo
  • 网站的风格设计擦边球做网站挣钱
  • 网站内容管理后台系统怎么做企业建网站得多少钱
  • 国内网站建设网站排名免费云手机无限时间版
  • 建立简单的网站电子商务工作好找吗