Java零基础学习15:字符串

编写博客目的:本系列博客均根据B站黑马程序员系列视频学习和编写目的在于记录自己的学习点滴,方便后续回忆和查找相关知识点,不足之处恳请各位有缘的朋友指正。

一、字符串的特性

  •  字符串用加号时都是做拼接操

  • 字符串定义后便不能再更改,两字符串拼接产生的是一个新字符串

  • 字符串的学习内容有很多,大致掌握这一些即可 

     总结

 二、创建字符串String对象的两种方式

package com.itheima;

public class StringDemo1 {
    public static void main(String[] args){
        // 1. 直接赋值的方式获取一个字符串
        String s1 = "abc";
        System.out.println(s1);

        // 2. 使用new的方式来获取一个字符串对象
        // 空参构造:可以获取一个空白的字符串对象
        String s2 = new String();
        System.out.println("@" + s2 + "!");

        // 传递一个字符串,根据传递的字符串内容在创建一个新的字符串对象
        String s3 = new String("abc");
        System.out.println(s3);

        // 传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象
        // 需求:我要修改字符串的内容
        char[] chs = {'a','b','c','d'};
        String s4 = new String(chs);
        System.out.println(s4);

        // 传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象
        // 应用场景:以后在网络中传输的数据其实都是字节信息
        // 我们一般要把字节信息进行转换,转成字符串,此时使用这个构造
        byte[] bytes = {97,98,99,100};
        String s5 = new String(bytes);
        System.out.println(s5);
    }
}

Java的内存模型

当使用双引号直接赋值时,系统会检查该字符串,在串池中是否存在,如果存在会直接复用,而不是创建新的 

当使用new 生成字符串时,字符串对应的地址不同,相比于上面的方法更加占用空间

 三、字符串的比较

java中==号比较的是数据值或者地址值,这个具体看是哪一类数据类型 ,基本数据类型比较的是数据值,引用数据类型比较的是地址值

 字符串的比较并不是毫无办法,使用图中这两个方法即可

package com.itheima;

public class StringDemo2 {
    public static void main(String[] args){
        // 1.创建两个字符串对象
        String s1 = new String("abc");
        String s2 = "aBc";

        // 2.== 号比较
        System.out.println(s1==s2);

        // 3.比较字符串对象中的内容是否相等
        boolean result1 = s1.equals(s2);
        System.out.println(result1);

        // 4.比较字符串中内容是否相等,忽略大小写
        boolean result2 = s1.equalsIgnoreCase(s2);
        System.out.println(result2);
    }
}

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值