全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java String类常用方法练习小结

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。

String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、

创建字符串副本并将所有字符全部转换为大写或小写。

String类是最常用的类之一,下面就通过几个练习,熟悉String类中的提供的重要方法。

字符串练习一

给定一个字符串数组,按照字典顺序,进行大小写排序

思路:

1.对数组排序,可以用选择排序、冒泡排序等等。

2.for循环嵌套,比较,交换位置。

3.不同之处,以前比较的是数字,用的是比较运算符;

现在比较的是字符串对象,应该使用compareTo方法。

public class StringTest_1
{
 //对字符串数组进行排序
 public static void stringSort(String[] arr)
 {
 //采用冒泡排序
 for(int i=0;i<arr.length-1;i++)
 {
  for(int j=0;j<arr.length-1-i;j++)
  {
  //用compareTo方法进行字符串比较
  if(arr[j].compareTo(arr[j+1])>0)
  {
   String temp=arr[j];
   arr[j]=arr[j+1];
   arr[j+1]=temp;
  }
  }
 }
 showArray(arr);
 }
 //定义方法,以[str1,str2,str3]的格式来打印数组
 public static void showArray(String[] arr)
 {
 System.out.print("[");
 for(int i=0;i<arr.length;i++)
 {
  if(i!=arr.length-1)
  System.out.print(arr[i]+",");
  else
  {
  System.out.print(arr[i]+"]\n");
  }
 }
 }
 public static void main(String[] args) 
 {
 String arr[]={"nba","abc","cba","zz","qq","haha"};
 //打印数组
 showArray(arr);
 //对数组进行排序并输出
 stringSort(arr);
 }
}

运行:

字符串练习二

一个子串在字符串中出现的次数

思路:

1.用indexOf方法获取子串在字符串中第一次出现的位置index

2.再用indexOf方法获取以(index+子串长度)为起始的剩下的字符串中子串出现的位置,直到字符串中不再包含子串。可用while循环实现。

3.每次找到后用计数器记录即可。

public class StringTest_2 
{
 public static void main(String[] args) 
 {
 String str="abcqwabcedcxabcuabcjkabcnmbabc";
 //String str=null;
 try
 {
  int count=countChildStr(str,"abc");
  System.out.println("abc在"+str+"中出现的次数为:"+count);
 }
 catch (NullPointerException ne)
 {
  System.out.println(ne);
 }
 catch(RuntimeException re)
 {
  System.out.println(re);
 }
 }
 public static int countChildStr(String str,String key)
 {
 if(str==null||key==null)
 {
  throw new NullPointerException("空指针异常,源字符串和子串都不能为NULL");
 }
 if(key=="")
 {throw new RuntimeException("调用不合法,子串要有内容");}
 int count=0,index=0;
 while((index=str.indexOf(key,index))!=-1)
 {
  count++;
  index+=key.length();
 }
 return count;
 }
}

字符串练习三

找到两个字符串的最大公共子串

思路:

1.判断较长字符串中是否包含较短字符串,如果包含,则较短字符串则为最大公共子串。

2.如果不包含,就对较短字符串以长度递减的方式取子串,去较长字符串中判断是否包含,如果包含就找到了,不用再找了。

3.重点:对字符串以长度递减的方式取子串

public class StringTest_3
{
 public static void main(String[] args) 
 {
 //创建两个不为空的字符串
 String str1="abxczwsxcvdfas";
 //String str1=null;
 String str2="ghwsxcvxcdbgthnnnrfqwe";
 try
 {
  String str=searchMaxCommonStr(str1,str2);
  System.out.println("最大公共子串是:"+str);
 }
 catch (NullPointerException ne)
 {
  System.out.println(ne);
 }
 }
 public static String searchMaxCommonStr(String str1,String str2)
 {
 if(str1==null||str2==null)
  throw new NullPointerException("空指针异常,参数不能为Null");
 //断定较长字符串和较短字符串
 String max=(str1.length()>str2.length())?str1:str2;
 String min=(str1.equals(max))?str2:str1;
 //按长度递减的方式取子串,从min.length~~1
 for(int i=min.length();i>0;i--)
 {
  for(int x=0,y=x+i;y<min.length();x++,y++)
  {
  String childStr=min.substring(x,y);
  //若较长字符串中包含此子串,则找到了
  //否则继续找
  if(max.contains(childStr))
   return childStr;
  }
 }
 return null;
 }
}

运行:

字符串练习四

写一个和trim功能相同的方法

思路:

1.定义两个变量,用来存储两个角标

2.分别从头和尾遍历字符串,直到找到第一个不为空格的字符

3.截取字符串

public class StringTest_4
{
 public static void main(String[] args) 
 {
 String str=" abc ws ";
 str=myTrim(str);
 System.out.println(str);
 }
 public static String myTrim(String s)
 {
 int begin=0,end=s.length()-1;
 //从头遍历
 while(begin<=end && s.charAt(begin)==' ')
 {
  begin++;
 }
 //从尾部遍历
 while(begin<=end && s.charAt(end)==' ')
 {
  end--;
 }
 return s.substring(begin,end+1);
 }
}

运行:

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# java  # string类  # java string类的常用方法详细介绍  # Java String类的常用方法汇总  # java string类方法深入解析  # 详解Java String类常用方法有哪些  # Java中String类常用方法使用详解  # Java中String类常用方法详细汇总  # 的是  # 较长  # 遍历  # 较短  # 能为  # 几个  # 都不  # 第一个  # 要有  # 可以用  # 并将  # 此类  # 不为  # 再用  # 就对  # 转换为  # 则为  # 最常用  # 就找  # 再找 


相关文章: 网站设计制作公司地址,网站建设比较好的公司都有哪些?  淘宝制作网站有哪些,淘宝网官网主页?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  网站app免费制作软件,能免费看各大网站视频的手机app?  ,在苏州找工作,上哪个网站比较好?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何在香港服务器上快速搭建免备案网站?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  建站之家VIP精选网站模板与SEO优化教程整合指南  红河网站制作公司,红河事业单位身份证如何上传?  如何快速登录WAP自助建站平台?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  建站之星如何助力企业快速打造五合一网站?  宁波自助建站系统如何快速打造专业企业网站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  建站之星会员如何解锁更多建站功能?  教学网站制作软件,学习*后期制作的网站有哪些?  如何做网站制作流程,*游戏网站怎么搭建?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  建站上传速度慢?如何优化加速网站加载效率?  北京制作网站的公司,北京铁路集团官方网站?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何选择适合PHP云建站的开源框架?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  c# 在高并发场景下,委托和接口调用的性能对比  建站主机助手选型指南:2025年热门推荐与高效部署技巧  七夕网站制作视频,七夕大促活动怎么报名?  如何高效配置IIS服务器搭建网站?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  网站好制作吗知乎,网站开发好学吗?有什么技巧?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何快速配置高效服务器建站软件?  如何用搬瓦工VPS快速搭建个人网站?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  北京网站制作的公司有哪些,北京白云观官方网站?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何在自有机房高效搭建专业网站?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  香港服务器部署网站为何提示未备案?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  建站之星上传入口如何快速找到?  济南专业网站制作公司,济南信息工程学校怎么样?  如何打造高效商业网站?建站目的决定转化率  如何选择最佳自助建站系统?快速指南解析优劣 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。