java入门(二十八) | API(二)之String

java入门(二十八) | API(二)之String

String

2.1 特点

  • 是一个封装char[]数组的对象
  • 字符串不可变

2.2 创建String对象

如果是第一次使用字符串,java会在字符串常量池创建一个对象。
再次使用相同的内容时,会直接访问常量池中存在的对象。

方式1:
String(char[] value)
          分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
String()
          初始化一个新创建的 String 对象,使其表示一个空字符序列。         
方式2:String name= ”abc”;

2.3 常见方法

length()
charAt()
lastIndexOf()
substring()
equals()
startsWith()
endsWith()
split()
trim() 去除字符串两端的空格

2.4 测试

package cn.qile.stringdemo;

import java.util.Arrays;
import java.util.Scanner;

//测试String类
public class Test1_Stringdemo {
    public static void main(String[] args) {
        //1、创建String对象
        char[] a = new char[] {"h","e","l","l","o"};
        String str = new String(a);//存在堆内存中

        //存在堆内存中的常量池中,如果常量池中存过,直接用-提高效率
        String str2 = "hello";

        //2、调用功能
        //TODO 测试String类的其他方法
        System.out.println(str.charAt(4));//返回指定索引处的 char 值
        System.out.println(str.endsWith("lo"));//测试此字符串是否以指定的后缀结束。

//默认Object里的equals()用来比对象的地址,String已经重写了equals(),用来把字符串存着的值进行比较
        System.out.println(str.equals("hello"));//true

        byte[]  bs = str.getBytes();//string转byte[]
        System.out.println(Arrays.toString(bs));

        System.out.println(str.hashCode());//哈希码值
        str="abcdabe";
        System.out.println(str.indexOf("a"));//a第一次出现的索引值
        System.out.println(str.lastIndexOf("a"));//a最后一次出现的索引值
        System.out.println(str.length());//字符串长度 -- 7
        System.out.println(str.startsWith("abc"));//true
        System.out.println(str.toLowerCase());//将所有大写转换为小写 -- abcdabe
        System.out.println(str.toUpperCase());//将所有小写转换为大写 -- ABCDABE
        System.out.println(str.substring(3));//截取字符串,返回字符串始于指定索引处的字符,一直到此字符串末尾 -- dabe
        //substring(m,n)--m是开始的索引,n是结束的索引,含头不含尾--[m,n)
        System.out.println(str.substring(3,5));//da

        str="    a  bc    ";
        System.out.println(str.trim());//a  bc
        System.out.println(String.valueOf(1000)+1);//10001

        System.out.println("==============");

        //接收键盘输入的一串数字,提取出来求和
        String num = new Scanner(System.in).nextLine();
        //遍历得到字符串的每个元素
        int count  = 0;//定义变量记录整数的和
        for(int i = 0 ; i < num.length() ; i++) {
            char  c = num.charAt(i);
            //把字符变成整数,是指把"1"变成数字49,拿着数字求和
            Integer sum = Integer.valueOf(c);
            //把数字求和
            count = count+sum;
        }
        System.out.println(count);

    }

}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » java入门(二十八) | API(二)之String