Java基础入门--第六章--Java API


API(Application Programming Interface)指的是应用程序编程接口,API可以让编程变得更加方便简单。Java也提供了大量API供程序开发者使用,即Java API。Java API指的就是JDK提供的各种功能的Java类库,如之前所讲的Arrays、Collection类等,都是Java提供给开发者的类库。Java API非常多,无法针对所有的API都进行逐一讲解。

6.1 字符串类

6.1.1 String类

方法声明 功能描述
String() 创建一个内容为空的字符串
String(String value) String(String value)
String(char[] value) 根据指定的字符数组value创建对象
String(byte[] bytes) 根据指定的字节数组bytes创建对象
public class Example01 {
   
    public static void main(String[] args) throws Exception {
   
        //创建一个空的字符串
        String str1 = new String();
        //创建一个内容abcd的字符串
        String str2 = new String("abcd");
        //创建一个字符数组
        char[] charArray = new char[]{
   'D', 'E', 'D'};
        String str3 = new String(charArray);
        //创建一个字节数组
        byte[] arr = {
   97, 98, 99};
        String str4 = new String(arr);
        System.out.println("a" + str1 + "b");
        System.out.println(str2);
        System.out.println(str3);
        System.out.println(str4);
    }
}

在这里插入图片描述

6.1.2 String类的常用方法

方法声明 功能描述
int length() 返回当前字符串的长度,即字符串中字符的个数。
int indexOf(int ch) 返回指定字符ch在字符串中第一次出现位置的索引。
int lastIndexOf(int ch) 返回指定字符ch在字符串中最后一次出现位置的索引。
int indexOf(String str) 返回指定子字符串str在字符串第一次出现位置的索引。
int lastIndexOf(String str) 返回指定子字符串str在此字符串中最后一次出现位置的索引。
char charAt(int index) 返回字符串中index位置上的字符,其中index的取值范围是0~(字符串长度-1)。
boolean endsWith(String suffix) 判断此字符串是否以指定的字符串结尾。
boolean equals(Object obj) 比较obj与当前字符串对象的内容是否相同。
boolean equalsIgnoreCase(String str) 以忽略大小写的方式比较str与当前字符串对象的内容是否相同。
int compareTo(String str) 按对应字符的Unicode编码比较str与当前字符串对象的大小。若当前字符串对象比str大,返回正整数;若比str小,返回负整数;若相等则返回0。
int compareToIgnoreCase(String str) 按对应字符的Unicode编码以忽略大小写的方式比较str与当前字符串对象的大小。若当前字符串对象比str大,返回正整数;若比str小,返回负整数;若相等则返回0。
boolean isEmpty() 判断字符串长度是否为0,如果为0则返回true,反之则返回flase。
boolean startsWith(String prefix) 判断此字符串是否以指定的字符串prefix开始。
方法声明 功能描述
boolean contains(CharSequence cs) 判断此字符串中是否包含指定的字符序列cs。
String toLowerCase() 使用默认语言环境的规则将String中的所有字符都转换为小写。
String toUpperCase() 使用默认语言环境的规则将String中的所有字符都转换为大写。
static String valueOf(int i) 将int变量i转换成字符串。
char[] toCharArray() 将此字符串转换为一个字符数组。
String replace(CharSequence oldstr, CharSequence newstr) 使用newstr替换原字符串中的oldstr,返回一个新的字符串。
String concat(String str) 将str连接到当前字符串对象之后。
String[] split(String regex) 根据参数regex将原来的字符串分割为若干个子字符串。
String substring(int beginIndex) 返回一个新字符串,它包含从指定的beginIndex处开始,直到此字符串末尾的所有字符。
String substring(int beginIndex, int endIndex) 返回一个新字符串,它包含从指定的beginIndex处开始,直到索引endIndex-1处的所有字符。
String trim() 去除了原字符串首尾的空格。
public class Example01 {
   
    public static void main(String[] args) {
   
        String s = "abababababcccccab";
        //获取字符串长度,即字符个数
        System.out.println("字符串长度:"+s.length());
        System.out.println("字符串的第一个字符:"+s.charAt(0));
        System.out.println("字符c第一次出现的位置:"+s.indexOf('c'));
        System.out.println("字符c最后一次出现的位置:"+s.lastIndexOf('c'));
        System.out.println("字符串ab最后一次出现的位置:"+s.lastIndexOf("ab"));
    }
}

在这里插入图片描述

public class Example01 {
   
    public static void main(String [] args){
   
        String str="abCD";
        System.out.print("将字符串转为字符数组后的结果:");
        char[] charArray=str.toCharArray();     //字符串转换成字符数组
        for(int i=0;i<charArray.length;i++){
   
            if(i!=charArray.length-1){
   
                //如果不是数组的最后一个元素,在元素尾加逗号
                System.out.print(charArray[i]+",");
            }else{
   
                System.out.println(charArray[i]);
            }
        }
        System.out.println("将int值转换成String类型之后的结果:"+String.valueOf(12));
        System.out.println("将字符串转换成大写之后的结果:"+str.toUpperCase());
        System.out.println("将字符串转换成小写之后的结果:"+str.toLowerCase());
    }
}

在这里插入图片描述

public class Example01 {
   
    public static void main(String [] args){
   
        String s="itcast";
        //字符串替换操作
        System.out.println("将it替换成cn.it的结果:"+s.replace("it","cn.it"));
        //字符串去除空格操作
        String s1="  i  t  c    a  s  t  ";
        System.out.println("去除字符串两端的空格的结果:"+s1.trim());
        System.out.println("去掉字符串中所有空格后的结果:"+s1.replace(" ",""));
    }
}

在这里插入图片描述

public class Example01 {
   
    public static void main(String [] args){
   
        String s1="String";
        String s2="string";
        String s3="strlng";
        System.out.println("判断s1字符串对象是否以Str开头:"
                + s1.startsWith("Str"));
        System.out.println("判断是否包含字符串tri:"+s1.contains("tri"));
        System.out.println("判断字符串是否为空:"+s1.isEmpty());
        System.out.println("判断s1和s2内容是否相同:"+s1.equalsIgnoreCase(s2));
        System.out.println("判断s1和s3内容是否相同:"+s1.equalsIgnoreCase(s3));
        System.out.println("按对应字符的Unicode比较s1和s2的大小:"+s1.compareTo(s2));
        //按字典顺序比较两个字符串,忽略大小写差异。
        System.out.println("按对应字符的Unicode比较s1和s2的大小:"+s1.compareToIgnoreCase(s2));
    }
}

在这里插入图片描述
在判断两个字符串是否相等时,可以通过“== ” 和equals()方法两种方式对字符串进行比较,但这两种方式有明显的区别。equals()方法用于比较两个字符串内容是否相等,方法用于比较两个字符串对象的地址是否相同。对于两个内容完全一样的字符串对象,调用equals()方法判断的结果是true,使用判断的结果是false。

trim()方法用于去除字符串两端的空格,不能去除中间的空格。若想去除字符串中间的空格,需要调用String类的replace()方法。

public class Example01 {
   
    public static void main(String[] args){
   
        String str1="石家庄-武汉-哈尔滨";
        //字符串截取
        System.out.println("从第5个字符截取到末尾的结果:"+ str1.substring(4));
        System.out.println("从第5个字符截取到第6个字符的结果:"+str1.substring(4,6));
        //字符串分割
        System.out.print("分割后的字符串数组中的元素依次是:");
        String[] strArray=str1.split("-");
        for(int i=0;i<strArray.length;i++){
   
            if(i!=strArray.length-1){
   
                System.out.print(strArray[i]+",");
            }else{
   
                System.out.println(strArray[i]);
            }
        }
    }
}

在这里插入图片描述

public class Example01 {
   
    public static void main(String [] args){
   
        String s="itcast";
        System.out.println(s.charAt(3));
//        System.out.println(s.charAt(8));
        //.charAt()
        //返回指定索引处的char值。索引的取值范围是0 ~ length() - 1。序列的第一个字符值位于索引0处,下一个位于索引1处,以此类推,对于数组索引。
        //如果索引指定的char值是代理值,则返回代理值。
    }
}

6.1.3 StringBuffer类

在Java中,因为String类是final类型的,所以使用String定义的字符串是一个常量,也就是说使用String定义的字符串一旦创建,其内容和长度是不可改变的。为了便于对字符串进行修改,Java提供了StringBuffer类(也称字符串缓冲区)来操作字符串。StringBuffer类和String类最大的区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,所操作的都是这个字符容器,因此并不会产生新的StringBuffer对象。

方法声明 功能描述
StringBuffer() 创建初始容量为16,不含任何内容的字符串缓冲区
StringBuffer(int capacity) 创建初始容量为capacity,不含任何内容的字符串缓冲区
StringBuffer(String s) 创建初始容量为s.length()+16,内容为s的字符串缓冲区
int length() 获取缓冲区中字符串内容的长度
int capacity() 获取字符串缓冲区的当前容量
StringBuffer append(char c) 添加参数到StringBuffer对象中
StringBuffer insert(int offset,String str) 在字符串的offset位置插入字符串str
StringBuffer deleteCharAt(int index) 移除此序列指定位置的字符
StringBuffer delete(int start,int end) 删除StringBuffer对象中指定范围的字符或字符串序列
StringBuffer replace(int start,int end,String s) 在StringBuffer对象中替换指定的字符或字符串序列
void setCharAt(int index, char ch) 修改指定位置index处的字符序列
String toString() 返回StringBuffer缓冲区中的字符串
StringBuffer reverse() 反转字符串
String substring(int start) 获取缓冲区中字符串从索引start(含)至末尾的子串
String substring(int start,int end) 获取缓冲区中字符串从索引start(含)至索引end(不含)的子串
String toString() 获取缓冲区中的字符串
public class Example03 {
   
    public static void main(String[] args) {
   
        System.out.println("----------1 添加----------");
        add();
        System.out.println("----------2 删除----------");
        remove();
        System.out.println("----------3 修改----------");
        alter();
        System.out.println("----------4 截取----------");
        sub();
    }

    public static void add() {
   
        StringBuffer sb = new StringBuffer(); //定义一个字符串缓冲区
        sb.append("abcdefg");   //在末尾添加字符串
        sb.append("hij").append("klmn");    //练习调用append()方法添加字符串
        System.out.println("append添加结果:" + sb);
        sb.insert(2, "123"); //在指定位置插入字符串
        System.out.println("insert添加结果:" + sb);
    }

    public static void remove() {
   
        StringBuffer sb = new StringBuffer("abcdefg");
        sb.delete(1, 5); //指定范围删除
        System.out.println("删除指定范围结果:" + sb);
        sb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值