【JAVA基础】String类常用API

简介: 1.String类常用API-遍历、替换、截取、分割操作2.综合案例 2.模拟用户登录功能3.手机号码屏蔽

1.String类常用API-遍历、替换、截取、分割操作


String常用API


方法名 说明


public int length() 返回此字符串的长度


public char charAt(int index) 获取某个索引位置处的字符


public char[] toCharArray(): 将当前字符串转换成字符数组返回


public String substring(int beginIndex, int endIndex) 根据开始和结束索引进行截取,得到新的字符串(包前不包后)


public String substring(int beginIndex) 从传入的索引处截取,截取到末尾,得到新的字符串


public String replace(CharSequence target,

CharSequence replacement)


使用新值,将字符串中的旧值替换,得到新的字符串


public String[] split(String regex) 根据传入的规则切割字符串,得到字符串数组返回

public int length() 返回此字符串的长度  


public char charAt(int index) 获取某个索引位置处的字符

    public static void main(String[] args) {
        String name="热爱编程的小白白";
        //返回此字符串的长度
        System.out.println(name.length());
        //获取某个索引位置处的字符
        System.out.println(name.charAt(1));
        System.out.println("---------------遍历字符串--------------------");
        for (int i = 0; i < name.length(); i++) {
            System.out.println(name.charAt(i));
        }
    }

public char[] toCharArray():将当前字符串转换成字符数组返回

   public static void main(String[] args) {
        String name="热爱编程的小白白";
        //将当前字符串转换成字符数组返回
        char[] chars = name.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }
    }

public String substring(int beginIndex, int endIndex)

根据开始和结束索引进行截取,得到新的字符串(包前不包后)

 public static void main(String[] args) {
        String name="热爱编程的小白白";
        //根据开始和结束索引进行截取,得到新的字符串(包前不包后)
        System.out.println("-------------------------------------");
        System.out.println(name.substring(0, 2));
        System.out.println("-------------------------------------");
        System.out.println(name.substring(5, 8));
    }

public String substring(int beginIndex)    

从传入的索引处截取,截取到末尾,得到新的字符串

   public static void main(String[] args) {
        String name="热爱编程的小白白";
        //从传入的索引处截取,截取到末尾,得到新的字符串
        System.out.println(name.substring(5));
    }

public String replace(CharSequence target, CharSequence replacement)

使用新值,将字符串中的旧值替换,得到新的字符串

    public static void main(String[] args) {
        String name="如果明天下雨,那么明天就不用上课了";
        System.out.println("原来的字符串:");
        System.out.println(name);
        System.out.println("----------------------------------");
        //使用新值,将字符串中的旧值替换,得到新的字符串
        System.out.println("替换后的的字符串:");
        System.out.println(name.replace("明天", "后天"));
    }

public boolean contains(CharSequence s)


当且仅当此字符串包含指定的char值序列时才返回true。

    public static void main(String[] args) {
        String name="如果明天下雨,那么明天就不用上课了";
        System.out.println(name.contains("上课"));//true
        System.out.println(name.contains("那么"));//true
        System.out.println(name.contains("11"));//false
    }

public boolean startsWith(String prefix)


测试此字符串是否以指定的前缀开头

   public static void main(String[] args) {
        String name="如果明天下雨,那么明天就不用上课了";
        //测试此字符串是否以指定的前缀开头。
        System.out.println(name.startsWith("如果"));//true
        System.out.println(name.startsWith("明天"));//false
    }

public String[] split(String regex)


根据传入的规则切割字符串,得到字符串数组返回

    public static void main(String[] args) {
        String name="1,2,3,4,5,6,7,8,9";
        String[] arr = name.split(",");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }


2.综合案例


1.String类开发验证码功能



需求:


随机产生一个 5 位的验证码,每位可能是数字、大写字母、小写字母。


分析:


① 定义一个 String 类型的变量存储验 a-zA-Z0-9 之间的全部字符。


② 循环 5 次,随机一个范围内的索引,获取对应字符连接起来即可。

public class base {
    public static void main(String[] args) {
        /**
         * 需求:
         * 随机产生一个5位的验证码,每位可能是数字、大写字母、小写字母。
         * 分析:
         * ① 定义一个String类型的变量存储验a-zA-Z0-9之间的全部字符。
         * ② 循环5次,随机一个范围内的索引,获取对应字符连接起来即可。
         */
        String datas="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        char[] array = datas.toCharArray();
        Random random = new Random();
        for (int i = 0; i <5 ; i++) {
          int index = random.nextInt(array.length);
            System.out.print(array[index]);
        }
    }

2.模拟用户登录功能


需求:


模拟用户登录功能,最多只给三次机会。


分析:


① 系统后台定义好正确的登录名称,密码。


② 使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登

录成功则不再进行登录;登录失败给出提示,并让用户继续登录。


    public static void main(String[] args) {
        /**
         * 需求:
         * 模拟用户登录功能,最多只给三次机会。
         * 分析:
         * ① 系统后台定义好正确的登录名称,密码。
         * ② 使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登
         * 录成功则不再进行登录;登录失败给出提示,并让用户继续登录。
         */
        String username="root";
        String password="1234";
        Scanner scanner = new Scanner(System.in);
        for (int j=3;j>0;j--) {
            System.out.println("请输入账号");
            String userName = scanner.next();
            System.out.println("请输入密码");
            String passWord = scanner.next();
            if (username.equals(userName)&&password.equals(passWord)){
                System.out.println("登录成功");
                break;
            }
            else System.out.println("登录失败,你还剩"+(j-1)+"次机会");
        }
    }

3.手机号码屏蔽


需求

键盘录入一个手机号,将中间四位号码屏蔽,最终效果为:


分析

① 键盘录入一个字符串。


② 调用字符串对象的截取API,截取字符串前三位、后四位。


③ 将前三位 连接“****”然后继续连接后四位,输出最终结果即可。


    public static void main(String[] args) {
        System.out.println("请输入手机号");
        Scanner scanner = new Scanner(System.in);
        String phone_Number = scanner.next();
        String number1 = phone_Number.substring(0, 3);
        String number2 = phone_Number.substring(7, 11);
        System.out.println(number1+"****"+number2);
    }
相关文章
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
缓存 监控 负载均衡
如何提升 API 性能:来自 Java 和测试开发者的优化建议
本文探讨了如何优化API响应时间,提升用户体验。通过缓存(如Redis/Memcached)、减少数据负载(REST过滤字段或GraphQL精确请求)、负载均衡(Nginx/AWS等工具)、数据压缩(Gzip/Brotli)、限流节流、监控性能(Apipost/New Relic等工具)、升级基础设施、减少第三方依赖、优化数据库查询及采用异步处理等方式,可显著提高API速度。快速响应的API不仅让用户满意,还能增强应用整体性能。
|
12月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
585 5
|
存储 SQL 缓存
Java字符串处理:String、StringBuilder与StringBuffer
本文深入解析Java中String、StringBuilder和StringBuffer的核心区别与使用场景。涵盖字符串不可变性、常量池、intern方法、可变字符串构建器的扩容机制及线程安全实现。通过性能测试对比三者差异,并提供最佳实践与高频面试问题解析,助你掌握Java字符串处理精髓。
|
API 开发工具 开发者
客流类API实测:门店到访客群画像数据
本文介绍了一个实用的API——“门店到访客群画像分布”,适用于线下实体门店进行客群画像分析。该API支持多种画像维度,如性别、年龄、职业、消费偏好等,帮助商家深入了解顾客特征,提升运营效率。文章详细说明了API的参数配置、响应数据、接入流程,并附有Python调用示例,便于开发者快速集成。适合零售、餐饮等行业从业者使用。
客流类API实测:门店到访客群画像数据
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
584 14
|
JSON Java API
【干货满满】分享拼多多API接口到手价,用Java语言实现
本方案基于 Java 实现调用拼多多开放平台商品详情 API,通过联盟接口获取商品到手价(含拼团折扣与优惠券),包含签名生成、HTTP 请求及响应解析逻辑,适用于电商比价、导购系统集成。
|
JSON Java API
【干货满满】分享淘宝API接口到手价,用Java语言实现
本文介绍了如何使用 Java 调用淘宝开放平台 API 获取商品到手价,涵盖依赖配置、签名生成、HTTP 请求与响应解析等核心实现步骤。
|
JSON JavaScript 前端开发
Python+JAVA+PHP语言,苏宁商品详情API
调用苏宁商品详情API,可通过HTTP/HTTPS发送请求并解析响应数据,支持多种编程语言,如JavaScript、Java、PHP、C#、Ruby等。核心步骤包括构造请求URL、发送GET/POST请求及解析JSON/XML响应。不同语言示例展示了如何获取商品名称与价格等信息,实际使用时请参考苏宁开放平台最新文档以确保兼容性。