【常用类】字符串:String的构造方法、字符串是常量,String类的判断、 获取、转换、和其他功能、它的值在创建后不能被改变、new与不new的区别、字符串相加的情况、

字符串

1.字符串定义

    字符串:
    简单理解为:由一个签字将若干个字符串起来的串儿,叫字符串
    官方理解:
    字符串是由多个字符组成的一串数据(字符序列)
    字符串可以看成是字符数组 

通过观察API发现:
1、String代表的是字符串。属于java.lang包下,所以在使用的时候不需要导包
2、String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。(对象)
3、字符串不变; 它们的值在创建后不能被更改。
字符串是常量,一旦被赋值,字符串本身不能被修改。

2.String的构造方法(注意String构造方法是将字符或字节数组转换为字符串,而用String的valueOf方法是将数组转化为字符串,其中包括字符数组)

(1).public String()

public class StringDemo1 {
   
    public static void main(String[] args) {
   
      
        String s=new String("奥里给");
        System.out.println(s.toString());//String类中重
        //写toString()方法
        System.out.println(s.length());//如果字符串中没有
        //字符,返回0

(2).public String(byte[] bytes)根据一个字节数组创建出一个字符串对象

byte[] bytes={
   95,97,98,99,100};
        String s1=new String(bytes);

        System.out.println("bytes字节数组对应的字符串为:s1
        :"+s1);//注意这里对应的是Ascll码对应的字符串 结果:_abcd
        System.out.println(s1.length());

(3).public String(byte[] bytes,int offset,int length)将字节数组中的一部分转化成字符串

byte[] bytes1={
   'd','a','d','r','q','y','q'};
        String s2=new String(bytes1,2,3);
        System.out.println("bytes1字节数组的部分对应的字符
        串为:"+s2);//结果:drq

4.public String(char[] value) 将字符数组转成一个字符串

char[] chars=new char[]{
   's','e','r','q',};
        String s3=new String(chars);
        System.out.println("chars字符数组对应的字符串为:"+
        s3);//chars字符数组对应的字符串为:serq

5.public String(char[] value,int index,int count)将字符数组的一部分转化为字符串

 char[] chars1={
   's','e','r','q','a','q','o','p'};
        String s4=new String(chars1,2,5);
        System.out.println("chars字符数组的部分对应的字符串
        为:"+s4);//chars字符数组的部分对应的字符串为:rqaqo

6.public String(String original)
初始化新创建的String对象,使其表示与参数相同的字符序列;
// 换句话说,新创建的字符串是参数字符串的副本。

String s5="大家好";
    String s6=new String(s5);
    System.out.println(s6);
    System.out.println(s6.length());
    

3. 字符串是常量,它的值在创建后不能被改变

    String s = "hello";
    s += "world";
    请问s的值是什么?

内存图辅助理解:

  public class StringDemo2 {
   
    public static void main(String[] args) {
   
        String s="Hello";
        s+="world";
        System.out.println("拼接后的字符串为:"+s);
    }
}

4. String s = new String(“hello”)和String s = “hello”;的区别?

字符串比较之看程序写结果
字符串拼接之看程序写结果

注意事项:
1、==比较引用数据类型的时候,比较的时候地址值
2、String类中使用equals方法比较的是字符串的值,因为String类中重写了equals方法

字符串new与不new的区别在这里插入图片描述
举例:1.


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值