我是靠谱客的博主 清秀故事,最近开发中收集的这篇文章主要介绍重拾java基础(十二):java最常用类型String总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、String类概述

1.  字符char  一个字符    ''      字符串 String  一个或多个    ""
2. String是引用数据类型,属于java.lang包
3. 编码表     ascii   unicode
4. Java语言支持unicode

二、构造方法


    空构造 public String()
           String s1=new String();
            System.out.println(s1);
           输出结果为空。
    参数为字符串   public  String(String  s)
           String s2=new String("hello");  //String  s2="hello";
            System.out.println(s2);
           输出结果为  hello
    参数为字节数组  public String( byte[]  bytes )  转换
            byte[] t={97,98,99,'d'};   //byte b='d';
            String s3=new String(t);
            System.out.println(s3);
           输出结果为   abcd   它是将byte数组类型转化为ASCII
                       表对应的字符
    参数为字符数组  public String( char[]  value )  转换
           char[] c={'a','b','c',100};  //char d=100;
            String s4=new String(c);
            System.out.println(s4);
            输出结果为   abcd   它是将char数组类型转化为ASCII
                       表对应的字符。

三、String是一个特殊的引用类型

1. 它支持两种写法:
   String s="hello";   //s也是对象
   String s=new String("hello");
            注意:String s1="hello";
String s2="hello";
这时有三个对象  s1、s2、hello

2. 画内存分配图
  • new String的内存分配图

这里写图片描述

  • new和不new两种方式的内存分配

这里写图片描述


  • 这里写图片描述

    3.一个字符串常量可以直接当成一个对象去使用
    这里写图片描述

四、+

1. 拼接字符串    只能拼接字符串  
2. 如果一个字符串跟一个非字符串的进行拼接,那么Java会自动把非字符串的转 换成字符串,然后再进行拼接
3. 注意的是:使用+拼接字符串时的内存分配图(String对象是不可变的)

这里写图片描述

4. 即使String对象不是new出来的,那么在进行字符串拼接时也是每次都在堆    中新开辟内存空间
5. 字符串常量在拼接时,不会在堆中新开辟内存空间
(重点)

五、判断功能相关的方法

boolean equals(Object obj)
       String s1="hello";
        String s2=new String("HellO");
        System.out.println(s1==s2);
        System.out.println(s1.equals(s2));
        输出结果为  false  falseequals比较的是内容区分大小写
boolean equalsIgnoreCase(String str)
String s3="hello";
String s4="Hello";
System.out.println(s3==s4);
System.out.println(s3.equalsIgnoreCase(s4));
輸出結果為 false   true  ;equalsIgnoreCase
比较的是内容不区分大小写
boolean contains(String str)
String s1="hello";
System.out.println(s1.contains("ho"));
输出结果为  false   这个方法是看“hello”中是否包含ho
            记得不能分开,如果是he的话结果就是 true
boolean startsWith(String str)
System.out.println(s1.startsWith("he"));
输出结果是:true   这个方法是求输入的这个字符串是否
                    以你定义的这个字符串开头的!
                      这里就是看  “hello”是否以he开头
                    如果换成e   结果就为false了。
boolean endsWith(String str)
        System.out.println(s1.endsWith("llo"));
输出结果为:true   这个方法是求输入的这个字符串是否
                    以你定义的这个字符串结尾的!
                      这里就是看  “hello”是否以lo结尾
                    如果换位ll  结果就为false了。

boolean isEmpty()     ""  null
        s1="";
System.out.println(s1.isEmpty());
输出结果为:true   这个方法是看 s1这个字符串是否为"" 
                    如果是就为true
注意:null
1.null在Java中是作为常量存在的
2.它表示对象不存在
3.一个是可以作为初始值来用,一个是可以加快垃圾回收的速度

六、获取功能相关的方法


int length()
        String s1="heloool";
System.out.println(s1.length());


    输出结果为:7     这个方法是来求一个字符串的长度的。

            char charAt(int index)
            System.out.println(s1.charAt(0));

    输出结果为 h   这个方法是用来输入字符串的某个字符的地址坐标来
                   输出这个坐标所对应的值;如果输入2的话输出应该为l。  

    int indexOf(int ch) 和int indexOf(String str);
    System.out.println(s1.indexOf("he"));

    输出结果为  0   这个方法是用来寻找输入的字符串(例如he)在当前字
                           符串(heloool)中首次出现的,首个字符的位置。
                           注意he要连写,并且不能为ho这种形式  他们都会
                           输出  -1

    int indexOf(int ch,int fromIndex)和int indexOf(String str,int fromIndex)
    System.out.println(s1.indexOf("l",4));

    输出结果为  6   这个方法是用来寻找输入的字符串(例如l)在当前字
                           符串(heloool)中你定义的从哪个地址坐标(4)开始
                           出现的,首个字符的位置。

    String substring(int start)和
    String substring(int start,int end)
            ////        String substring(int start)
             System.out.println(s1.substring(3)); 

     输出结果为:oool    这个方法是为了求出  s1这个字符串中 从3开始
                 包括(3)这个坐标,开始输出字符串,一直到结尾。         

            //      String substring(int start,int end)
            System.out.println(s1.substring(2,5));

     输出结果为  loo    这个方法是为了求出  s1这个字符串中 从2开始
                 包括(2)这个坐标,开始输出字符串,一直到5(不包括5                     
                 这个坐标)。

       注意:java有两个原则     一、就近原则;二、顾前不顾后原则。 

七、转换功能相关的方法

byte[] getBytes()
        String s1="abcde";
        byte[] b=s1.getBytes();
        for (int i = 0; i < b.length; i++) {
            System.out.println(b[i]);
}
输出结果为:97 98 99 100 101(竖着写)
            这个方法表示将一个String 类型的字符串转化为:byte
            类型的数组;对应的值为ASCII表值。

char[] toCharArray()
        char[] c=s1.toCharArray();
        for (int i = 0; i < c.length; i++) {
            System.out.println(c[i]);
}
输出结果为:a b c d e (竖着写)
这个方法表示将一个字符转变为数组 。
注意   数组类型为char
static String valueOf(char[] chs)  //相当于  new  String(char[] c)
        String s2=String.valueOf(c);
        System.out.println(s2);
输出结果为:abcde     
            这个方法是将c这个数组转化为字符串  
static String valueOf(基本数据类型 i)  
        int j=100;
        s2=String.valueOf(j);   //s2=j+"";
        System.out.println(s2+100); 
输出结果为:100100
            这个方法是将基本数据类型转化为字符串。
  注意   :  我们一般将基本数据类型转化为字符串类型一般用
              s2=j+"";
String toLowerCase()
        String s3="hElLo";
        System.out.println(s3.toLowerCase());
输出结果为:hello
            这个方法是将字符串统一为小写形式。
String toUpperCase()
System.out.println(s3.toUpperCase());
输出结果为:HELLO
                   这个方法是将字符串统一为大写形式。
String concat(String str)        “+”
        String s4=s3.concat(",world");
        System.out.println(s4);
       输出结果为:hElLo,world
            这个方法是将字符串进行拼接。

八、String类的其他功能

替换
String replace(String old,String new)
        String s1="helloe";
        s1=s1.replace("l", "123");
        System.out.println(s1);
输出结果为:he123123oe
            这个方法是将字符串中的l全部用123来替换。
分割  String[] split(String regex)
        String s2="abcdeffcdtt";
        String[] ss=s2.split("cd");
        for (int i = 0; i < ss.length; i++) {
            System.out.println(ss[i]);
        }
输出结果为:ab  eff  tt(竖着写)
            这个方法是从cd分割,且不要cd  其前与后都
            分别存入数组。              
去除字符串两端的空格  String trim()
        String s3="   he   llo  world   ";
        s3=s3.trim();
        System.out.println(s3);
输出结果为:he   llo  world
            这个方法是将s3字符串两端的空格去掉!

        s3=s3.replace(" ", "");
        System.out.println(s3);
        输出结果为:helloworld
           注意:     用""来替换" "  这样就起到了删除效果
补充:  
int lastIndexOf(int ch)
int lastIndexOf(int ch,int fromIndex)
int lastIndexOf(String s)
        String s4="hello";
        System.out.println(s4.indexOf("l"));
          //输出为2    这个是从前向后找
        System.out.println(s4.lastIndexOf("l"));
          //输出为3    这个是从后向前找!
int lastIndexOf(String s,int fromIndex)

最后

以上就是清秀故事为你收集整理的重拾java基础(十二):java最常用类型String总结的全部内容,希望文章能够帮你解决重拾java基础(十二):java最常用类型String总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部