一、String创建和基本操作方法
1.String字符串的创建
java.lang.String str=“实现string类的简单操作23333”;
2.1、 获取字符串长度方法length()
格式:int length = str.length();
2、获取字符串中的第i个字符方法charAt(i)
格式:char ch = str.charAt(i); //i为字符串的索引号,可得到字符串任意位置处的字符
3、获取指定位置的字符方法getChars(4个参数)
格式:char array[] = new char[100]; //先要创建以一个容量足够大的char型数组,数组名为array
str.getChars( indexBegin , indexEnd , array , arrayBegin);
解释一下括号中四个参数的指向意义:
1、indexBegin:需要复制的字符串的开始索引
2、 indexEnd: 需要复制的字符串的结束索引,
3、array: 前面定义的char型数组的数组名
4、arrayBegin: 数组
**废话不多说,给出代码如下**
public class Stringbasic {
public static void main(String args[]){
//定义一个字符串
java.lang.String str=“实现string类的简单操作23333”;
System.out.println(str);
// 获取字符串长度方法length() 格式:int length = str.length();
int length=str.length();
System.out.println(“字符串str长度为:”+length);
//获取字符串中的第i个字符方法charAt(i) 格式:char ch = str.charAt(i);i为字符串索引
char st =str.charAt(7);
System.out.println(“字符串第八个字符为:”+st);
//获取指定位置的字符方法getChars(4个参数)
//格式:char array[] = new char[100];
// str.getChars(indexBegin,indexEnd,array,arrayBegin);
// 先要创建以一个容量足够大的char型数组,数组名为array
char arr[] = new char[80];
//定义容量为100的字符数组,用于存储从字符串中提取出的一串字符
str.getChars(0,14,arr,0);
System.out.println(“字符数组中内容为:”+arr); //输出的是编码
System.out.println(arr); //括号中不可带其他字符串
}
}
二,字符串的比较,转换与合并
字符串的比较是将两个字符串从左到右逐个字符进行比较,比较当前字符的Uncode编码值,直到比较出两个不同字符的大小为止;比较结果分为三种,若该字符串的Unicode值<参数字符串的Unicode值,结果返回一负整数;若若该字符串的Unicode值=参数字符串的Unicode值,结果返回0;若该字符串的Unicode值>参数字符串的Unicode值,结果返回一正整数。
1.字符串大小比较
(1)不忽略字符串大小写情况下字符串的大小比较方法compareTo(another str)
格式:int result = str1.compareTo(str2);
(2) 忽略字符串大小写情况下字符串的大小比较方法compareTOIgnoreCase(another str)
格式:int result = str1.compareToIgnoreCase(str2);
2.字符串是否相等(相等情况下必须保证二者长度相等)
(1)不忽略字符串大小写情况下判别字符串相等的方法eaquals(another str)
格式:boolean result = str1.equals(str2);
(2) 忽略字符串大小写情况下判别字符串相等的方法equalsIgnoreCase(another str)
格式:boolean result = str1.equals(str2);
3.字符串转换,合并
1)concat()方法合并字符串
格式:String result = str1.concat(str2); //将str1和str2合并
(2) toLowerCase()方法 将字符全部转化为小写
格式: String result = str.toLowerCase();
(3) toUpperCase()方法 将字符全部转化为大写
格式:String result = str.toUpperCase();
代码如下
public class Stringcompare {
public static void main(String[] args) {
/* compare()字符串大小比较
若该字符串的Unicode值<参数字符串的Unicode值,结果返回一负整数;
若该字符串的Unicode值=参数字符串的Unicode值,结果返回0;
若该字符串的Unicode值>参数字符串的Unicode值,结果返回一正整数
/
String str1 = “banana”;
String str2 = “BANANA”; //定义两个字符串
String str3 = “Apple”;
String str4 = “apple”;
//compareTo方法
//不忽略字符串字符大小写
if(str1.compareTo(str2)>0){
System.out.println(str1+">"+str2);
}else if(str1.compareTo(str2) == 0){
System.out.println(str1+"="+str2);
}else{
System.out.println(str1+"="+str2);
}
//compareToIgnoreCase()方法
//忽略字符串字符大小写
if(str1.compareToIgnoreCase(str2)>0){
System.out.println(str1+">"+str2);
}else if(str1.compareToIgnoreCase(str2) == 0){
System.out.println(str1+"="+str2);
}else{
System.out.println(str1+"<"+str2);
}
//equals()比较字符串是否相等
//不忽略字符串字符大小写
if(str3.equals(str4)){
System.out.println(str3+"="+str4);
}else{
System.out.println(str3+"!="+str4);
}
//equalsIgnoreCase()方法
//忽略字符串字符大小写
if(str3.equalsIgnoreCase(str4)){
System.out.println(str3+"="+str4);
}else{
System.out.println(str3+"!="+str4);
}
//concat()方法将两字符串合并
String str5 = str1.concat(str2);
System.out.println(“str1和str2合并后的字符串为:”+str5);
//toLowerCase()方法将str1字符全部转换为小写
String str2i = str2.toLowerCase();
System.out.println("str1的字符全部转换为小写:"+str2i);
//toUpperCase()方法将str2字符全部转换为大写
String str1i = str1.toUpperCase();
System.out.println("str2的字符全部转换为大写:"+str1i);
}
}
三,字符串查找
(1)查找字符出现的位置
1、indexOf()方法
格式 1、str.indexOf(ch);
2、str.indexOf(ch, fromIndex); //包含fromIndex位
2、lastIndexOf()方法
格式:1、str.lastIndexOf(ch);
2、str.lastIndexOf(ch,fromIndex);
(2) 查找字符串出现的位置
1、indexOf()方法
格式:1、str.indexOf(str);
2、str.indexOf(str,fromIndex);
2、lastIndexOf()方法
格式:1、str.lastIndexOf(str);
2、str.lastIndexOf(str,fromIndex);
给出代码
public class Stringserach {
public static void main(String[] args) {
String str = “shang rao da shu ju yan jiu yuan”; //定义一个长字符串
System.out.println(“该字符串为:”+str);
//indexOf()方法查找字符首个出现位置
int index1 = str.indexOf(" “); //找到第一个空格所在的索引
int index2 = str.indexOf(” ",4); //找到索引4以后的第一个空格所在索引
System.out.println(“第一个空格所在索引为:”+index1);
System.out.println(“索引4以后的第一个空格所在索引为:”+index2);
//lastIndexOf()方法查找字符最后出现位置
int index3 = str.lastIndexOf(" "); //找到最后一个空格所在的索引
int index4 = str.lastIndexOf(" ",10);//找到索引10以后的第一个空格所在索引
System.out.println("最后一个空格所在索引为:"+index3);
System.out.println("索引10以前最后一个空格所在索引为:"+index4);
//indexOf()方法查找子字符串第一次出现位置
int index5 = str.indexOf("jiu"); //找到"jiu"子字符串第一次出现位置的索引
int index6 = str.indexOf("jiu",5);//找到索引5以后子字符串"jiu"第一个出现位置所在索引
System.out.println("子字符串jiu第一次出现位置的索引号为:"+index5);
System.out.println("索引5以后子字符串jiu第一次出现位置的索引号为:"+index6);
//lastIndexOf()方法查找子字符串最后一次出现位置
int index7 = str.lastIndexOf("jiu");
int index8 = str.lastIndexOf("jiu",5);
System.out.println("子字符串yu最后一次出现位置的索引号为:"+index7);
System.out.println("索引号5以后子字符串y最后一次出现位置的索引号为:"+index8);
}
}
四,字符串的截取与拆分
- 截取方法
(1)、substring()方法
格式1:String result = str.substring(index);
格式2:String result = str.substring(beginIndex , EndIndex);
//实际索引号[beginIndex,EndIndex-1]
2.拆分方法
(1)、split()方法
格式:String strArray[] = str.split();// 拆分的结果保存到字符串数组中
给出代码
public class Stringcutsplit {
public static void main(String[] args) {
String str = “How to cut and split strings”; //定义字符串
int firstIndex = str.indexOf(’ ‘); //找到第一个空格所在位置
int lastIndex = str.lastIndexOf(’ '); //找到最后一个空格所在位置
System.out.println(“第一个空格的索引号为:”+firstIndex);
System.out.println(“最后一个空格的索引号为:”+lastIndex);
//利用substring()方法根据第一个和最后一个单词的索引范围截取出第一个和最后一个单词
String firstWord = str.substring(0,firstIndex); //截取出第一个单词
String lastWord = str.substring(lastIndex+1); //截取出最后一个单词
System.out.println(“第一个单词为:”+firstWord);
System.out.println(“最后一个单词为:”+lastWord);
//split()方法拆分出所有单词
String stringArray[] = str.split(" "); //根据空格要求拆分出所有单词保存到字符串数组中
System.out.println(“拆分之后的各个词汇为:”); //输出提示信息
for(int i = 0;i<stringArray.length;i++) {
System.out.print(stringArray[i] + “\t”);
}
}
}
大致梳理后就是这些了,个人整理的资料,参考了不少大牛的文章。满眼都是泪啊,默默学习中。