Java_String类

Posted 依然耀眼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_String类相关的知识,希望对你有一定的参考价值。

String类概述

String表示字符串,所有的字符串字面值都是常量(如"abc","hello"),也是字符串的对象。

字符串对象有两种形式

  • String s1="abc" 这就是一个字符串对象
  • String s2=new String("abc") 这也是一个字符串对象

两种创建对象的区别

1 String s1="abc";//s1变量,存储的是"abc"在常量池中的地址值
2 String s2=new String("abc");//s2变量,存储的是new String("abc")在堆内存中的地址值

 

String的构造方法

String提供了多种创建对象的方式,举例如下

 1  
 2 //创建一个空的String对象,等价于""
 3 String s1=new String();
 4 //创建一个String对象,值为"abc"
 5 String s2=new String("abc");
 6 //创建一个String对象,值为"abc"。
 7 byte[] bs={97,98,99}
 8 String s3=new String(bs);
 9 //创建一个String对象,值为"abcdefg"
10 char chs={\'a\',\'b\',\'c\',\'d\',\'e\',\'f\',\'g\'};
11 String s4=new String(chs);
12 //创建一个String对象,值为"bcdef"
13 String s5=new String(chs,1,6);

 

String的方法API

对于字符串的操作有很多,如获取字符串的长度、判断字符串以什么开头、判断字符串是否包含子串等等。

获取功能

 1 public int length()  
 2     获取字符串的长度
 3 public char charAt(int index)  
 4     获取字符串中指定位置的字符
 5 public String substring(int start,int end) 
 6     截取字符串中从start开始,到end结束的子字符串
 7 public String substring(int start) 
 8     截取字符串中从start开始,到末尾的子字符串
 9 public int indexOf(String str) 
10     获取字符串中参数字符串的索引

替换和分割

1  
2 public String replaceAll(String regex,String news)  
3     使用正则表达式替换字符串
4 public String[] split(String regex) 
5     使用正则表达式切割字符串

判断功能

1  
2 public boolean equals(Object s)
3     比较字符串的内容是否相等
4 public boolean equalsIgnoreCase(String s)
5     比较字符串的内容是否相等,忽略大小写的
6 public boolean startsWith(String str)
7     判断字符串以什么开头
8 public boolean endsWith(String str)
9     判断字符串以什么结束

 

String相关练习题

1. 练习1

 1  
 2 /*
 3 需求:计算字符串中大写字母、小写字母、数字字符出现的次数
 4 */
 5 public class Test1{
 6     public static void main(String[] args){
 7         String str="aabbccddeeff";
 8         int small=0;//小写字母
 9         int big=0;//大写字母
10         int num=0;//数字字符
11         //遍历字符串中的字符
12         for(int i=0;i<str.length();i++){
13             char ch=str.charAt(i);
14             if(ch>=\'a\'&&ch<=\'z\'){
15                 small++;
16             }
17         }
18         System.out.println("大写字母格式:"+big);
19         System.out.println("小写字母格式:"+small);
20         System.out.println("数字字符格式:"+num);
21     }
22 }

2. 练习2

 1 /*
 2 需求:获取字符串中"java"出现的次数
 3 分析: 
 4 1. 使用indexOf查找字符串中"java"第一次出现的索引index
 5 2. 如果index!=-1就表示找到一个"java",同时计数器自增
 6 3. 使用substring截取从index后面的字符串,继承查找。
 7 4. 直到index==-1,就说明后面没有"java"可以查找了
 8 */
 9 public class Test2{
10     public static void main(String[] args){
11         String str="hellworldjavaadsfbjavahhheejavammmjavahegjavahello";
12         //计数器
13         int count=0;
14         int index;//"java"的索引
15         while((index=str.indexOf("java"))!=-1){
16             count++;
17             str=str.substring(index+"java".length());
18         }
19         System.out.println("java出现的次数为:"+count);
20     }
21 }

3. 练习3

 1  
 2 /*
 3 需求: 把字符串中首字母变为大写,其他的变为小写
 4 1. 获取首字母,使用toUpperCase变为大写
 5 2. 获取其他字符,使用toLowerCase变为小写
 6 3. 把步骤1和步骤2,拼接起来即可
 7 */
 8 public class Test3{
 9     public static void main(String[] args){
10         String str="hello,welcome To Java";
11         //获取首字母,变为大写
12         String s1=str.substring(0,1).toUpperCase();
13         String s2=str.substring(1).toLowerCase();
14         String s=s1+s2;
15         //打印结果
16         System.out.println(s); 
17     } 
18 }

 

以上是关于Java_String类的主要内容,如果未能解决你的问题,请参考以下文章

java_String类的功能

Java_常用类

Java_字符串池以及字符串类

Java_String_01_由转义字符串得到其原本字符串

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

elasticsearch代码片段,及工具类SearchEsUtil.java