String

作者: 我把心事寄流年 | 来源:发表于2018-11-01 21:41 被阅读10次
    String str = "abc";
    

    相当于

    char data[] = {'a', 'b', 'c'};
    String str = new String(data);
    

    String底层是靠字符数组实现的


    无参构造

    String str = new String();
    

    通过字符数组构造

    char chars[] = {'a', 'b', 'c'};
    String str2 = new String(chars);
    

    通过字节数组构造

    byte bytes[] = { 97, 98, 99 };
    String str3 = new String(bytes);
    

    格式

    • 将字符串与指定对象进行比较
    str1.equals(str2)
    
    • :获取字符串的长度
    str.length()
    
    • 获取指定索引处的字符
    str.charAt(索引值)
    
    • 获取str在字符串对象中第一次出现的索引,没有返回‐1
    str.indexOf("字符串")
    
    • 从start开始截取字符串到字符串结尾
    str.substring(索引值)
    
    • :从start到end截取字符串。含start,不含end
    str.substring(0, str.length()
    str.substring(数字, 数字)
    
    • 将字符串转换为新的字符数组
    String str = "abcde";
    char[] chs = str.toCharArray();
    
    • 把字符串转换为字节数组
    String str = "abcde";
    byte[] bytes = str.getBytes();
    
    • 替换小写为大写
    String str = "it";
    String replace = str.replace("it", "IT");
    
    • 将字符串按照给定的规则拆分为字符串数组
    String str = "aa|bb|cc";
    String[] strArray = s.split("|");
    

    例题

    定义一个方法,把数组{1,2,3}按照指定个格式拼接成一个字符串。格式参照如下:[word1#word2#word3]。

    public class StringTest1 {
        public static void main(String[] args) {
            //定义一个int类型的数组
            int[] arr = {1, 2, 3};
            //调用方法
            String s = arrayToString(arr);
            //输出结果
            System.out.println("s:" + s);
        }
    /*
    * 写方法实现把数组中的元素按照指定的格式拼接成一个字符串
    * 两个明确:
    * 返回值类型:String
    * 参数列表:int[] arr
    */
    public static String arrayToString(int[] arr) {
            // 创建字符串s
        String s = new String("[");
            // 遍历数组,并拼接字符串
        for (int x = 0; x < arr.length; x++) {
        if (x == arr.length ‐ 1) {
        s = s.concat(arr[x] + "]");
        } else {
        s = s.concat(arr[x] + "#");
        }
        }
        return s;
        }
    }
    

    键盘录入一个字符,统计字符串中大小写字母及数字字符个数

    public class StringTest2 {
        public static void main(String[] args) {
            //键盘录入一个字符串数据
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个字符串数据:");
            String s = sc.nextLine();
            //定义三个统计变量,初始化值都是0
            int bigCount = 0;
            int smallCount = 0;
            int numberCount = 0;
            //遍历字符串,得到每一个字符
            for(int x=0; x<s.length(); x++) {
                char ch = s.charAt(x);
                //拿字符进行判断
                if(ch>='A'&&ch<='Z') {
                    bigCount++;
                }else if(ch>='a'&&ch<='z') {
                    smallCount++;
                }else if(ch>='0'&&ch<='9') {
                    numberCount++;
                }else {
                System.out.println("该字符"+ch+"非法");
            }
        }
                //输出结果
            System.out.println("大写字符:"+bigCount+"个");
            System.out.println("小写字符:"+smallCount+"个");
            System.out.println("数字字符:"+numberCount+"个");
        }
    }
    
    

    相关文章

      网友评论

          本文标题:String

          本文链接:https://www.haomeiwen.com/subject/qgsfxqtx.html