在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);
}
}
运行结果
总结和心得,
一定要细心,坚持!