Java学习的第八天

Java学习的第八天

什么是API

  • API(Application Programming Interface):应用程序编辑接口

  • Java中的API:

    指的就是JDK中提供各种功能的Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类是如何使用的即可

String类

  • Stirng类代表字符串,Java中所有字符串的文字(例如“abc”)都被实现为此类的实例。

  • String类的特点

    • 字符串可变,但是它的值在创建之后是不可以改变的
    • 虽然Stirng的值是不能改变的,但是他们可以被共享
    • 字符串效果上相当于char [](字符数组),但是底层原理是byte[](字节数组)

String类的构造方法

  • 常用的构造方法、
方法名说明
public String()创建一个空白字符串对象,不含有任何内容
public String(char []chs)根据字符数组的内容,来创建一个字符串对象、
public String(byte []bys)根据字节数组的内容,来创建字符串对象
String s=“abc”通过直接赋值的方式来货初始化字符串对象,内容就是abc
  • 字符串的比较

    • ==号的作用

      • 比较基本数据类型:比较的是具体的值
      • 比较引用数据类型:比较的是对象的地址值
    • equals方法的作用

      方法名作用
      public boolean equals(String s)比较两个字符串的内容是否相同,区分大小写
      • 注意:是拿字符串去和s比较,无论是数组的长度还是数组的内容,区分大小写

        public class StringDemo02 {
            public static void main(String[] args) {
                //构造方法的方式得到对象
                char[] chs = {'a', 'b', 'c'};
                String s1 = new String(chs);
                String s2 = new String(chs);
        
                //直接赋值的方式得到对象
                String s3 = "abc";
                String s4 = "abc";
        
                //比较字符串对象地址是否相同
                System.out.println(s1 == s2);
                System.out.println(s1 == s3);
                System.out.println(s3 == s4);
                System.out.println("--------");
        
                //比较字符串内容是否相同
                System.out.println(s1.equals(s2));
                System.out.println(s1.equals(s3));
                System.out.println(s3.equals(s4));
            }
        }
        
  • 一些方法的运用

方法名说明
public boolean equals(Object anObject)比较字符串的大小,严格区分大小写
public boolean equalslgnore(String anotherString)比较字符串的内容,忽略大小写
public int length()返回字符串的长度
public char charAt(int index)返回指定索引处的char值
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)根据传入的规则切割字符串,得到字符数组
#切割字符串的实例:用上述方法中的substring()
    
import java.util.Scanner;
public class Test5 {
    /*
        需求:以字符串的形式从键盘接受一个手机号,将中间四位号码屏蔽
        最终效果为:138****7862

        思路:
        1. 键盘录入一个字符串,用 Scanner 实现
        2. 截取字符串前三位
        3. 截取字符串后四位
        4. 将截取后的两个字符串,中间加上****进行拼接,输出结果

     */
    public static void main(String[] args) {
        // 1. 键盘录入一个字符串,用 Scanner 实现
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入手机号:");
        String telString = sc.nextLine();
        // 2. 截取字符串前三位
        String start = telString.substring(0,3);
        // 3. 截取字符串后四位
        String end = telString.substring(7);
        // 4. 将截取后的两个字符串,中间加上****进行拼接,输出结果
        System.out.println(start + "****" + end);
    }
}
#字符串的替换的方式,使用上述方法的replace()
import java.util.Scanner;
public class Test6 {
    /*
        需求:键盘录入一个 字符串,如果字符串中包含(TMD),则使用***替换

        思路:
        1. 键盘录入一个字符串,用 Scanner 实现
        2. 替换敏感词
                String replace(CharSequence target, CharSequence replacement)
                将当前字符串中的target内容,使用replacement进行替换,返回新的字符串
        3. 输出结果

     */
    public static void main(String[] args) {
        // 1. 键盘录入一个字符串,用 Scanner 实现
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        String s = sc.nextLine();
        // 2. 替换敏感词
        String result = s.replace("TMD","***");
        // 3. 输出结果
        System.out.println(result);
    }
}    
#切割字符串的方法:用上述方法split(String regex)
public class study2 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一组数据");
        String s=sc.nextLine();
        String []str=s.split(" ");
        int []arr=new int[str.length];
        for (int i = 0; i < str.length; i++) {
            Integer ins=Integer.valueOf(str[i]);#将字符数组内部的元素转换成int类型
            arr[i]=ins;
        }
        System.out.println(Arrays.toString(str));
    }
}   

StringBuilder类

  • 概述:StringBuilder类,是一个可变的字符串类,我们可以把它看成一个容器,这里的可变指的是StringBuilder对象中的内容是可以改变的

  • String类StringBuilder类
    内容是不可以更变的内容是可以改变的
  • 常用的构造方法

方法名说明
public StringBuilder()创建一个空白可变的字符串对象,不含有任何内容
public StringBuilder(String str)根据字符串的内容,来创建可变字符串的对象
public class StringBuilderDemo01 {
    public static void main(String[] args) {
        //public StringBuilder():创建一个空白可变字符串对象,不含有任何内容
        StringBuilder sb = new StringBuilder();
        System.out.println("sb:" + sb);
        System.out.println("sb.length():" + sb.length());

        //public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象
        StringBuilder sb2 = new StringBuilder("hello");
        System.out.println("sb2:" + sb2);
        System.out.println("sb2.length():" + sb2.length());
    }
}
  • 注意:
  1. 一定得在创建时分清楚自己到底需要些什么,不要一股脑的乱创建String类和StringBuilder类
  • 常用的成员方法

    1. 添加和反转的方法

      方法名说明
      public StringBuilder append(任意类型)添加数据,并返回对象本身
      public StringBuilder reverse()返回相反的字符序列
  • 代码:

public class StringBuilder1 {
    public static void main(String[] args) {
        //创建对象
        StringBuilder sb = new StringBuilder();

        //public StringBuilder append(任意类型):添加数据,并返回对象本身
//        StringBuilder sb2 = sb.append("hello");
//
//        System.out.println("sb:" + sb);
//        System.out.println("sb2:" + sb2);
//        System.out.println(sb == sb2);

//        sb.append("hello");
//        sb.append("world");
//        sb.append("java");
//        sb.append(100);

        //链式编程
        sb.append("hello").append("world").append("java").append(100);#字符串的添加

        System.out.println("sb:" + sb);

        //public StringBuilder reverse():返回相反的字符序列
        sb.reverse();#字符串的反转
        System.out.println("sb:" + sb);
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值