API&字符串

本文介绍了API的概念,以JavaAPI为例,探讨了如何利用API简化开发。重点讲解了字符串相关类如String、StringBuilder和StringJoiner的使用,涉及字符串比较、创建、拼接、处理以及敏感词替换和手机号屏蔽的示例。
摘要由CSDN通过智能技术生成

API:应用程序编程接口

简单理解:API就是别人已经写好的东西,我们不需要自己编写,直接使用即可。

例:

public static main(String[] ages){
        Random r = new Random();
        int number = r.nextInt(100);
}

Java API:指的就是JDK中提供的各种功能的Java类,我们只需要学习这些类如何使用即可。

API帮助文档:帮助开发人员更好的使用API和查询API的一个文档

字符串(Java不会字符串,开发环节凉一半)

学习内容:1.String,StringBuilder,StringJonier,StringBuffer,Pattern,Matcher可以掌握字符串的一些常见操作

2.实际开发中的一些常见案例

掌握分析问题,解决问题的能力

  1. 字符串相关的底层原理
  2. 处理开放中的一些复杂问题

String

概述:java.lang.String类代表字符串,Java程序中所有字符串文字都为此类对象。

注意点:字符串的内容不能发生改变,它的对象在创建后不能被更改。字符串拼接会产生一个新的字符串。

创建String对象的两种方式

字符串的比较

“==”号比基本数据类型比较的是数据值,引用数据类型比较的是地址值。

字符串里有两个方法:

·boolean equals(要比较的字符串)

·boolean equalsLgonreCase(要比较的字符串)

两个区别在于是否忽略大小写

小练习

·键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数。

程序将会用到的两个方法:

·public char charAt(int index):根据索引返回字符

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

代码如下:

import java.util.Random;
import java.util.Scanner;

public class text1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str = sc.next();
        int count1 = 0;
        int count2 = 0;
        int count3 = 0;
        for (int i = 0; i < str.length(); i++) {
            char c =str.charAt(i);
            if(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z'){
                count1++;
            }else if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z'){
                count2++;
            }else{
                count3++;
            }
        }
        System.out.println("大写字母出现次数为:"+count1+"次");
        System.out.println("小写字母出现次数为:"+count2+"次");
        System.out.println("数字出现次数为:"+count3+"次");
    }
}

·数字转换中文大写

代码如下:

import java.util.Scanner;

public class text1 {
    public static void main(String[] args) {
        //键盘录入一个金额
        Scanner sc = new Scanner(System.in);
        int money;
        while (true) {
            System.out.println("请录入一个金额");
            money = sc.nextInt();
            if (money >= 0 && money <= 9999999) {
                break;
            } else {
                System.out.println("金额无效");
            }
        }

        //定义一个变量表示钱的大写
        String moneyStr = "";
        //得到money里面的每一位数字,在转中文
        while(true){
            //从右往左获取数据,因为右侧是数据的个位
            int ge = money % 10;
            String capitalNumber = getCapitalNumber(ge);
            //把转换后的大写拼接到moneyStr中
            money = money / 10;
            moneyStr = capitalNumber + moneyStr;
            //如果数字上的每一位全部获取到了,那么money记录的就是0,此时循环结束
            if(money == 0){
                break;
            }
        }
        //在前面补0,补齐7位
        int count = 7 - moneyStr.length();
        for (int i = 0; i < count; i++) {
            moneyStr = "零" + moneyStr;
        }
        //定义一个数组表示单位
        String[] arr = {"佰","拾","万","仟","佰","拾","元"};
        //遍历moneyStr
        //然后把arr的单位插入进去
        String result = "";
        for (int i = 0; i < moneyStr.length(); i++) {
            char c = moneyStr.charAt(i);
            //把大写字母和单位拼接到result当中
            result = result + c + arr[i];
        }
        System.out.print(result);
    }

    //定义一个方法把数字变成大写的中文
    public static String getCapitalNumber(int number){
        //定义一个数组,让数字跟大写的中文产生一个对应关系
        String[] arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        return arr[number];
    }
}

小练习

·手机号屏蔽

可能要用到的方法:String substring(int beginLndex,int endLndx) 截取

注意点:包头不包尾,包左不包右,只有返回值才是截取的小串

import java.util.Scanner;
public class text1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个手机号");
        String phonenumber = sc.next();
       String  start1 = phonenumber.substring(0,3);
        String start2 = phonenumber.substring(7);
        String result = start1 + "****" + start2;
        System.out.println("屏蔽后的手机号为:" + result);

    }
}

·敏感词替换

可能用到的方法:String replace(旧值,新值) 替换

import java.util.Scanner;
public class text1 {
    public static void main(String[] args) {
        String[] arr = {"tmd","cnm","sb","mgb","nmd"};
        Scanner sc = new Scanner(System.in);
        System.out.println("打字");
        String speak = sc.next();
        for (int i = 0; i < arr.length; i++) {
            speak = speak.replace(arr[i],"***");
        }
        System.out.println(speak);
    }
}

StringBuilder概述

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

·作用:提高字符串的操作效率

构造方法

空参构造:StringBuilder sb = new StringBuilder();

有参构造:StringBuilder sb = new StringBuilder(“abc”);

常用方法

链式编程:当我们在调用一个方法的时候,不需要用变量接受他的结果,可以继续调用其他方法。

例:int len = getString().substring(1).reliace(”A”,”Q”).length();

System.out.printin(len);

StringJoiner概述

·StringJoiner可看做是一个容器,创建之后里面的内容是可变的

·作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用

构造方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值