String类

String类也是JDK先好的类,让你直接使用


1.String类表示字符串
                "HelloWorld"
               
定义一个字符串变量来接收
                String str = "HelloWorld";

 2.一切双引号包裹起来的内容都是字符串对象
                 String str = new String("HelloWorld");
3.
字符串是常量,不可以改变的
            如果你发现字符串发生改变,那么程序创建了新字符串

4.构造方法:
                    String​() 
空参,创建一个字符串,没有内容
                    String​(String original) 有参构造,使用指定的一个字符串创建一个字符串对象

                    String​(char[] value) 有参构造,使用字符数组创建一个字符串对象
                    String​(byte[] bytes) 有参构造,使用字节数组创建一个字符串对象

JDK9之前 字符串的底层是一个字符数组
JDK9及之后  字符串的底层是一个字节数组

public class Demo {

    public static void main(String[] args) {

        //定义一个字符串变量来接收

        String str = "HelloWorld";

        System.out.println(str);

        //使用new创建字符串对象

        String str2 = new String("HelloWorld");

        System.out.println(str2);

        //"改变"

        String s = "hello";

        //s = s+"world";

        System.out.println(s);

        s+="world";

        System.out.println(s);//引用类型的变量保存的是内存地址,但是(String继承ObjecttoString())

    }

}

 

直接赋值与构造方法创建字符串的区别

  直接赋值可以创建字符串对象,保存在字符串常量池里面的
  
构造方法创建的字符串对象,保存在堆里面

String的判断方法

 == 是比较运算符
    如果
==比较的是基本类型的话,比较的是值
    如果
==比较的是引用类型的话,比较的是地址值

1. boolean equals​(String anObject):与另一个字符串内容相同,区分大小写
                执行之后返回一个
boolean值,true表示与另一个字符串内容相同,false不同。
                在开发中,不能使用
==来比较字符串的内容,只能使用equals方法。

2.boolean equalsIgnoreCase​(String anotherString):与另一个字符串内容相同,不区分大小写
                 执行之后返回一个
boolean值,true表示与另一个字符串内容相同(不看大小写)false不同。

代码如:

public class String_Demo01 {
public static void main(String[] args) {
// 创建字符串对象
String s1 = "hello";
String s2 = "hello";
String s3 = "HELLO";
// boolean equals(Object obj):比较字符串的内容是否相同
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s3)); // false
System.out.println("‐‐‐‐‐‐‐‐‐‐‐");
//boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
System.out.println(s1.equalsIgnoreCase(s2)); // true
System.out.println(s1.equalsIgnoreCase(s3)); // true
System.out.println("‐‐‐‐‐‐‐‐‐‐‐");
}
}

--------------

获取功能的方法

   int length​()   获取字符串的长度
                "abc"  3
                "a b c" 5
                
跟数组对象无关
                    arr.length
                       
数组长度
    String concat​(String str)  拼接另外一个字符串,放在尾部
                "abc"  "nba"返回  "abcnba"
                
在开发中,如果拼接字符串,使用 +
    char charAt​(int index)
获取指定索引对应的字符
                "abc"  2    'c'

    int indexOf​(int ch)
获取指定字符在字符串中的字符,返回的第一次出现的索引
            "hello"   'l'  在字符串中的索引有2 , 3
                   
如果没有出现呢?返回-1,大家看到-1即是没有找到这个字符
                    byte,short,char三者在参数运算时,自动提升为int
                        int ch = 'a';

    String substring​(int beginIndex):
获取字符串的一个小串.
                "abcdefg" 
索引从3开始 默认到结束  "defg"


    String substring​(int beginIndex, int endIndex) : 获取字符串的一个小串.少一个字符
                "abcdefg"  索引从3开始 到5结束的  "de"

-------------


转换功能
  

char[] toCharArray​() 将字符串转换成字符数组
            返回的一个字符数组,包含字符串的所有字符

            "abc"    a,b,c
    byte[] getBytes​()
将字符串转换成字节数组
            返回的一个字节数组,包含字符串每个字符的数字表示


    String replace​(String oldStr, String newStr)
            CharSequence
:字符序列  就是字符串
                    将字符串中的指字旧的符串,全部换成新的字符串

             "javadfdsjavadsfsjava" "#dfds#dsfs#"

切割方法


        String[] split​(String regex)
    方法会将字符串按照小括号里面的符号进行切割,生成多个小字符串,放进一个字符串数组返回。

public class Demo {

    public static void main(String[] args) {

        //定义一个字符串

         /* String s = "aa,bb,cc";

        String[] arr = s.split(",");*/

        String s = "aa.bb.cc";

        String[] arr = s.split("\\.");//java中对特殊的字符,进行转译



        //数组遍历

        for (int i = 0; i < arr.length; i++) {

            System.out.println(arr[i]);

        }

    }

}




 


 

 

 

 

 


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值