String学习总结

在String中;
==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法;

public boolean equals(Object obj);参数可以是任何对象。只有参数是一个字符串并且内容相同的才会给true,否则返回false.
注意:
1.任何对象都能用Object进行接收
2.equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。
3.如果比较双方一个常量一个变量,推荐把常量字符串写在前面。
推荐:"abc".equals(str)  不推荐:str.equals("abc")

public boolean equalsIgnoreCase(String str):忽略大小写的,进行内容比较
String 当中与获取相关的常用方法有:

public int length();获取字符串当中含有的字符个数,拿到字符串长度。
public Stirng concat(String str); 将当前字符串和参数字符串拼接成为返回值新的字符串。
public char charAt(int index); 获取指定索引位置的单个字符。(索引从0开始。)
public int IndexOf(String str); 查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值
 
字符串的截取方法:
public String substring(int index);截取从参数位置一直到字符串末尾,返回新字符串。
public String substring(int begin,int end);截取从begin开始,一直到end结束,中间的字符串。
备注:[begin,end],包含左边,不包含右边。
String当中与转换相关的常用方法有:

public char[] toCharArray():将当前字符串拆分成为字符数组作为返回值。
public byte[] getBytes():获得当前字符串底层的字符数组。
public String replace(CharSequence oldString,CharSequence newString):
将所有出现的老字符串替换成为新的字符串,返回替换之后的结果新字符串。
备注:CharSequence意思就是说可以接受字符串类型。
分割字符串的方法:
public String[] split(String regex);按照参数的规则,将字符串切分成为若干部分。

注意事项:
split方法的参数其实是一个“正则表达式”,今后学习。
今天要注意:如果按照英文句点“.”进行切分,必须写“\\.”(两个反斜杠)

String练习题


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

分析:
1.首先准备一个int[]数组,内容是:1,2,3
2.定义一个方法,用来将数组变成字符串
三要素
返回值类型:String
方法名称:fromArrayToString
参数列表:int[]
3.格式:[word1#word2#word3]
用到:for循环,字符串拼接,每个数组元素之前都有一个word字样,分隔使用的是#,区分一下是不是最后一个
4.调用方法:得到返回值,并打印结果字符串
 */
public class Demo06StringPractise {
    public static void main(String[] args) {
        int[] array={1,2,3};
        String result = fromArrayToString(array);
        System.out.println(result);
    }
    public static String fromArrayToString(int[] array){
        String str = "[";
        for (int i = 0; i < array.length; i++) {
            if(i== array.length-1){
                str+="word"+array[i]+"]";
            }
            str +="word"+array[i]+"#";
        }

       return str;
        }


    }

运行结果

题2

import java.util.Scanner;

/*
题目:
键盘输入一个字符串,并且统计其中各种字符出现的次数。
种类有:大写字母,小写字母,数字,其他

思路:
1.既然用到键盘输入,肯定是Scanner
2.键盘输入的是字符串,那么:String str = sc.next();
3.定义四个变量,分别代表四个字符各自的出现的次数。
4.需要对字符串一个字,一个字检查,String-->char[],方法就是toCharArray()
5.遍历char[]字符数组,对当前字符的种类进行判断,并且用四个变量进行++动作。
6.打印输出四个变量,分别代表四种字符出现次数。
 */
public class Demo07StringCount {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String input = sc.next(); //获取键盘输入的一个字符串

        int countUpper = 0; //大写字母
        int countLower = 0; //小写字母
        int countNumber = 0; //数字
        int countOther = 0; //其他字符

        char[] charArray = input.toCharArray();
        for (int i = 0; i < charArray.length; i++) {
            char ch = charArray[i]; //当前单个字符
            if('A'<=ch&&ch<='Z'){
                countUpper++;
            }else if ('a'<=ch&&ch<='z') {
                countLower++;
            }else if('0'<=ch&&ch<='9'){
                countNumber++;
            }else {
                countOther++;
            }
        }

        System.out.println("大写字母有:"+countUpper);
        System.out.println("小写字母有:"+countLower);
        System.out.println("数字有:"+countNumber);
        System.out.println("其他字符有:"+countOther);
    }

}

运行结果

 

总结和心得,

一定要细心,坚持!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值