栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-String类的介绍

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-String类的介绍

之前在编写代码的过程中也用到过String这个关键字,但是今天讲解的String跟之前学的String是有所不同的,下面我们就开始了解下String类的使用吧!!

文章目录
  • 一、String类的介绍
  • 二、字符串常见的构造方法
  • 三、String类型的数组转字符串
  • 四、byte类型的数组转字符串
  • 五、直接用String和构造方法创建String对象的区别对比
  • 六、补充:什么是字符串常量池
  • 七、字符串的比较
  • 八、遍历字符串得到指定索引值的char值
  • 九、分割字符串(根据参数分割,该参数不再存在)
  • 十、字符串的替换
  • 十一、获得指定位置字符串(从开始位置到结束位置)
  • 十二、分割和替换的案例

一、String类的介绍

String类在java.lang包下面,所以使用时不需要导包,属于引用数据类型

注意:除了java.lang包之外的包都需要进行导包,如Scanner,导包使用关键字import

二、字符串常见的构造方法
方法名说明
public String()创建一个空白字符串对象,不含有任何内容
public String (char[] chs)根据字符数组的内容来创建字符串对象
public String(String original)根据传入的字符串内容来创建字符串对象
String s=“abc”直接赋值的方式创建字符串对象,内容就是abc
三、String类型的数组转字符串
String array[] = {1,2,3};
String arr = new String(array)
输出:
123
四、byte类型的数组转字符串
byte arr={97,98,99};
String arr = new String(arr);
输出: 
abc
输出数组中的每个值对应的ASCII码
五、直接用String和构造方法创建String对象的区别对比

①、直接用String a= “abc”;

这种方式定义的a变量存储在 常量池 中

②、使用 new关键字创建字符串对象

String b = new String();

此时的b变量存储在 堆 中

③、区别

注意:
用==号做比较
基本数据类型 — 比较的是具体的值
引用数据类型 — 比较的是地址值



④、以 " " 方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会创建一个String对象,并在字符串常量池中维护

六、补充:什么是字符串常量池

当使用双引号创建字符串对象的时候,系统会检查字符串是否在字符串常量池中存在,不存在则会创建,存在则不会重新创建而是直接复用。

七、字符串的比较

字符串是对象,它比较内容是否相同,是通过equals()方法来实现的。

public boolean equals(Object anObject)
将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串即可

可以直接使用.equals()来判断两个字符串是否相等

boolean s = s1.equals(s2);
八、遍历字符串得到指定索引值的char值

方法: charAt(int index)
作用: 返回指定索引处的char值
使用:char a = s.charAt(0)

九、分割字符串(根据参数分割,该参数不再存在)

方法: split(String a);
作用: 根据形参来判断从哪开始分割 ,不会改变原数组
使用:

s="ccabcdd";
s = s.split("abc");
输出:
cc
dd
十、字符串的替换

方法: replace(old , new);
作用: 用新的new去替换旧的old
使用:

s="abcaaa"
s = s.replace("abc","***");
输出:
***aa
十一、获得指定位置字符串(从开始位置到结束位置)

方法: substring(2,3)
作用: 得到指定索引值位置的值,不会改变原来的数组
使用:

s = "abcde";
s = s.substring(2,4);   // 区间是[2,4) 4的位置取不到
输出:
cd
十二、分割和替换的案例

题目:
需求:以字符串的形式从键盘接受—个手机号,将中间四位号码屏蔽最终效果为:156****1234

代码:

import java.util.Scanner;

public class Telephone {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入手机号");
        String telephone = input.next();
        // TODO 分割,得到要替换的参数
        String split = telephone.substring(3,7);
        // TODO 替换,将分割得到的参数全部用*替换
        telephone = telephone.replace(split,"****");

        System.out.println(telephone);
    }
}

字符类中有很多的方法,可以去专门的网站去学习学习,这里我主要看的是菜鸟教程:菜鸟教程-Java-String类的介绍

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1031479.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号