自学java第4Day

学习目标:

  • 一周掌握 Java 入门知识

学习内容:

字符串


学习时间:

下午 6 点-下午 8 点


学习产出:

练习:手机号屏蔽

        String substring(int beginIndex,int endIndex)    截取

        注意点:包头不包尾,包左不包右

                      只有返回值才是截取的小串

        String substring(int beginIndex)   截取到末尾

public class Demo1 {
    public static void main(String[] args) {
        //获取一个手机号
        String phoneNumber="13112341234";
        //jieq前三位
        String start=phoneNumber.substring(0,3);
        //截取后四位
        String end=phoneNumber.substring(7);
        //拼接
        String result=start+"****"+end;
        System.out.println(result);
    }
}

运行结果 

131****1234

练习:身份证信息查看   

public class Demo2 {
    public static void main(String[] args) {
        String id="342423202407125641";
        //获取年月日
        String year=id.substring(6,10);
        String month=id.substring(10,12);
        String day=id.substring(12,14);
        System.out.println("人物信息为:");
        System.out.println("出生年月日:"+year+"年"+month+"月"+day+"日");
        //获取性别
        char c=id.charAt(17);  //'3'-----> 3
        //利用ASCII码表
        //'0'----> 48
        //'1'----> 49
        //'2'----> 50
        
        int num= c-48;
        if(num%2==0){
            System.out.println("性别为:女");
        }else {
            System.out.println("性别为:男");
        }
    }

运行结果

人物信息为:
出生年月日:2024年07月12日
性别为:男

练习:敏感词替换

        String replace(旧值,新值)  替换

        注意点:只有返回值才是替换的结果。

public class Damo3 {
    public static void main(String[] args) {
        //获取到说的话
        String talk="你玩的真好,我上早八";
        //定义一个敏感词库
        String[] arr={"TMD","CNM","上早八"};
        //循环得到数组中的每一个敏感词,依次替换
        for (int i = 0; i < arr.length; i++) {
            talk=talk.replace(arr[i],"***");
        }
        System.out.println(talk);
    }
}

运行结果

你玩的真好,我***

StringBuilder

        StringBuilder可以看成是一个容器,创建之后里面的内容是可变的

        作用:提高字符串的操作

StringBuilder构造方法

方法名说明
public StringBuilder()创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str)根据字符串的内容,来创建可变字符串对象

StringBuilder常用方法

方法名说明
public StringBuilder append(任意类型)添加数据,并返回对象本身
public StringBuilder reverse()反转容器中的内容
public int length()返回长度(字符出现的个数)
public String toString()通过toString()就可以实现把StringBuilder转换为toString
public class Demo5 {
    public static void main(String[] args) {
        StringBuilder sb=new StringBuilder("abc");

       /* //拼接
        sb.append(1);
        sb.append(0.4);
        sb.append(true);
        System.out.println(sb);*/
        //反转
        sb.reverse();
        //获取长度
        int len=sb.length();
        System.out.println(len);

        System.out.println(sb);
    }
}

运行结果

3
cba
public class Demo6 {
    public static void main(String[] args) {
        //创建对象
        StringBuilder sb=new StringBuilder();
        //添加字符串
        sb.append("aaa");
        sb.append("bbb");
        sb.append("ccc");
        //把StringBuilder变回字符串
        String str=sb.toString();
        System.out.println(str);

    }
}

运行结果

aaabbbccc
链式编程
当我们在调用一个方法的时候,不需要用变量接收它的结果,可以继续调用其他方法
import java.util.Scanner;
public class Demo7 {
    public static void main(String[] args) {
        //链式编程
        //当我们在调用一个方法的时候,不需要用变量接收它的结果,可以继续调用其他方法
        int len=getString().substring(1).replace("a","b").length();
        System.out.println(len);
    }
    public static String getString(){
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str=scan.next();
        return str;
    }
}

 运行结果

请输入一个字符串:
abc

        使用StringBuilder的场景:

        1.字符串拼接

        2字符串反转

练习:对称字符串

        需求:键盘接收一个字符串,程序判断出该字符串是否是对称字符串。

        对称字符串:12321、111

        非对称字符串:123123

import java.util.Scanner;
public class Demo8 {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str=scan.next();
        String result=new StringBuilder().append(str).reverse().toString();
        if(str.equals(result)){
            System.out.println("是对称");
        }else {
            System.out.println("不是对称");

        }
    }
}

运行结果

请输入一个字符串:
12321
是对称

练习:拼接字符串

         定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法。 

public class Demo9 {
    public static void main(String[] args) {
        int[]arr={1,2,3};
        System.out.println(arrToString(arr));
    }
    public static String arrToString(int[] arr){
        StringBuilder sb=new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if(i==arr.length-1){
                sb.append(arr[i]);
            }else {
                sb.append(arr[i]).append(", ");
            }
        }
        sb.append("]");
        return sb.toString();
    }
}

运行结果

[1, 2, 3]

StringJoiner

StringJoiner概述

        StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。

        作用:提高字符串的操作效率,而且代码编写特别简洁。Jdk8出现的

StringJoiner构造方法

方法名说明
public StringJoiner(间隔符号)创建一个StringJoiner对象,指定拼接时的间隔符号
public StringJoiner(间隔符号、开始符号、结束符号)创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号

StringJoiner常用方法

方法名说明
public StringJoiner add(添加的内容)添加数据,并返回对象本身
public int length()返回长度(字符出现的个数)
public String toString()通过toString()就可以实现把SStringJoiner转换为toString
public class Demo10 {
    public static void main(String[] args) {
        //创建对象
        StringJoiner sj=new StringJoiner("---");
        sj.add("aaa").add("bbb").add("ccc");
        System.out.println(sj);
    }
}
aaa---bbb---ccc
import java.util.StringJoiner;
public class Demo10 {
    public static void main(String[] args) {
        StringJoiner sj=new StringJoiner(",","[","]");
        sj.add("aaa").add("bbb").add("ccc");
        System.out.println(sj);

        int len =sj.length();
        System.out.println(len);
    }
}
[aaa,bbb,ccc]
13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值