开发工具与关键技术: myeclipse ;
作者:刘佳明
撰写时间:2020年 5 月 18 日
本文章内容来自于老师的课件!!!!!
第一点定义一个字符串类:直接string XX=”定义Sting”;
String str1 = new String("Hello Java");
String str2 = new String(str1);
?*char a[] = {'H','e','l','l','0'};
String sChar = new String(a);
a[1] = 's';*?
String 转换为 int
例如下面代码所示:
public static void main(String[] args) {
String str = "123";
int n = 0;
// 第一种转换方法:Integer.parseInt(str)
n = Integer.parseInt(str);
System.out.println("Integer.parseInt(str) : " + n);
// 第二种转换方法:Integer.valueOf(str).intValue()
n = 0;
n = Integer.valueOf(str).intValue();
System.out.println("Integer.parseInt(str) : " + n);
}
输出结果为:
Integer.parseInt(str) : 123
Integer.parseInt(str) : 123
int 转换为 String
例如下面代码所示:
public static void main(String[] args) {
int num = 10;
// 第一种方法:String.valueOf(i);
num = 10;
String str = String.valueOf(num);
System.out.println("str:" + str);
// 第二种方法:Integer.toString(i);
num = 10;
String str2 = Integer.toString(num);
System.out.println("str2:" + str2);
// 第三种方法:"" + i;
String str3 = num + "";
System.out.println("str3:" + str3);
}
输出结果为:
str:10
str2:10
str3:10
valueOf() 、parseXxx()和 toString()1)valueOf()
valueOf() 方法将数据的内部格式转换为可读的形式。它是一种静态方法,对于所有 Java 内
置的类型,在字符串内被重载,以便每一种类型都能被转换成字符串。
static String valueOf(double num)
static String valueOf(long num)
static String valueOf(Object ob)
static String valueOf(char chars[])
2)parse()
parseXxx(String) 这种形式,是指把字符串转换为数值型,其中 Xxx 对应不同的数据类型,
然后转换为 Xxx 指定的类型,如 int 型和 float 型。
3)toString()
toString() 可以把一个引用类型转换为 String 字符串类型,是 sun 公司开发 Java 的时候为了
方便所有类的字符串操作而特意加入的一个方法。String 字符串虽然是不可变字符串,但也可以进行拼接,只是会产生一个新的对象。
String 字符串拼接可以使用“+”运算符或 String 的 concat(String str) 方法。
“+”运算符优势是可以连接任何类型数据拼接成为字符串,而 concat 方法只能拼接 String
类型字符串
Java 获取字符串长度(length())
要获取字符串的长度,可以使用 String 类的 length() 方法,其语法形式如下:
字符串名.length();
Java 字符串大小写转换
String 类的 toLowerCase() 方法可以将字符串中的所有字符全部转换成小写,而非字母的字
符不受影响。语法格式如下:
字符串名.toLowerCase() // 将字符串中的字母全部转换为小写,非字母不受影响
toUpperCase() 则将字符串中的所有字符全部转换成大写,而非字母的字符不受影响。语法
格式如下:
字符串名.toUpperCase() // 将字符串中的字母全部转换为大写,非字母不受影响
例如:
String str="abcdef 我 ghijklmn";
System.out.println(str.toLowerCase()); // 输出:abcdef 我 ghijklmn
System.out.println(str.toUpperCase()); // 输出:ABCDEF 我 GHIJKLMN
Java 去除字符串中的空格(trim())
注意:trim() 只能去掉字符串中前后的半角空格(英文空格),而无法去掉全角空格(中文空格)
1. substring(int beginIndex) 形式
String str = "我爱 JAVA 编程";
String result = str.substring(3); // 输出:Java 编程
String result = str.substring(1,6); // 输出:爱JAVA 开始索引有,结束索引没有
System.out.println(result);
Java 分割字符串(spilt())
public static void main(String[] args) {
String Colors = "Red,Black,White,Yellow,Blue";
String[] arr1 = Colors.split(","); // 不限制元素个数
String[] arr2 = Colors.split(",", 3); // 限制元素个数为 3
System.out.println("所有颜色为:");
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]); //输出 Red Black White Yellow Blue
}
System.out.println("前三个颜色为:"); //输出 Red Black White
for (int j = 0; j < arr2.length; j++) {
System.out.println(arr2[j]);
}
}
Java 字符串的替换 replace()
public static void main(String[] args) {
String words = "hello java,hello php";
System.out.println("原始字符串是'"+words+"'");
System.out.println("replace(\"l\",\"D\")结果:"+words.replace("l","D"));
//输出 heDDo java,heDDo php
System.out.println("replace(\"hello\",\"你好\")结果:"+words.replace("hello","你好
"));
//输出 你好java,你好php
words = "hr's dog";
System.out.println("原始字符串是'"+words+"'");
System.out.println("replace(\"r's\",\"is\")结果:"+words.replace("r's","is"));
}
//输出 hisdog
根据字符查找
tring 类的 indexOf() 方法和 lastlndexOf() 方法用于在字符串中获取匹配字符(串)的索引值
。
str.indexOf(value)
str.indexOf(value,int fromIndex)
String s = "Hello Java";
int size = s.indexOf('v'); // size 的结果为 8
int size = s.indexOf('v',1); // size 的结果为 7
str.lastIndexOf(value)
str.lastlndexOf(value, int fromIndex)
2. lastlndexOf() 方法
注意:lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字
符串的末尾开始查找。
charAt() 方法的使用示例如下:
String words = "today,monday,sunday";
System.out.println(words.charAt(0)); // 结果:t
System.out.println(words.charAt(1)); // 结果:o
System.out.println(words.charAt(8)); // 结果:n
equals() 方法
String str1 = "abc";
String str2 = new String("abc");
String str3 = "ABC";
System.out.println(str1.equals(str2)); // 输出 true
System.out.println(str1.equals(str3)); // 输出 false
String s1 = "Hello";
String s2 = new String(s1);
System.out.println(s1.equals(s2)); // 输出 true
System.out.println(s1 == s2); // 输出 false
equalsIgnoreCase() 方法
equalsIgnoreCase() 方法的作用和语法与 equals() 方法完全相同,唯一不同的是
equalsIgnoreCase() 比较时不区分大小写。当比较两个字符串时,它会认为 A-Z 和 a-z 是一
样的。
除了通过 String 类创建和处理字符串之外,还可以使用 StringBuffer 类来处理字符串。
StringBuffer 类可以比 String 类更高效地处理字符串
创建 StringBuffer 类
追加字符串
StringBuffer buffer = new StringBuffer("hello,"); // 创建一个 StringBuffer 对象
String str = "World!";
buffer.append(str); // 向 StringBuffer 对象追加 str 字符串
System.out.println(buffer.substring(0)); // 输出:Hello,World!
替换字符
StringBuffer 类的 setCharAt() 方法用于在字符串的指定索引位置替换一个字符。该方法的语
法格式如下:
StringBuffer 对象.setCharAt(int index, char ch);该方法的作用是修改对象中索引值为 index 位置的字符为新的字符 ch,例如:
StringBuffer sb = new StringBuffer("hello");
sb.setCharAt(1,'E');
System.out.println(sb); // 输出:hEllo
sb.setCharAt(0,'H');
System.out.println(sb); // 输出:HEllo
sb.setCharAt(2,'p');
System.out.println(sb); // 输出:HEplo
反转字符串
StringBuffer sb = new StringBuffer("java");
sb.reverse();
System.out.println(sb); // 输出:avaj
删除字符串
StringBuffer 类提供了 deleteCharAt() 和 delete() 两个删除字符串的方法,下面详细介绍。
1. deleteCharAt() 方法
deleteCharAt() 方法用于移除序列中指定位置的字符,该方法的语法格式如下:
StringBuffer 对象.deleteCharAt(int index);
deleteCharAt() 方法的作用是删除指定位置的字符,然后将剩余的内容形成一个新的字符串
。例如:
StringBuffer sb = new StringBuffer("She");sb.deleteCharAt(2);
System.out.println(sb); // 输出:Se
执行该段代码,将字符串 sb 中索引值为 2 的字符删除,剩余的内容组成一个新的字符串
,因此对象 sb 的值为 Se。
2. delete(int start,int end)方法 左闭右开
delete(int start,int end)方法用于移除序列中子字符串的字符,该方法的语法格式如下:
StringBuffer 对象.delete(int start,int end);
其中,start 表示要删除字符的起始索引值(包括索引值所对应的字符),end 表示要删除
字符串的结束索引值(不包括索引值所对应的字符)。该方法的作用是删除指定区域以内
的所有字符,例如:
StringBuffer sb = new StringBuffer("hello jack");
sb.delete(2,5);
System.out.println(sb); // 输出:he jack
sb.delete(2,5);
System.out.println(sb); // 输出:heck
执行该段代码,将字符串“hello jack”索引值为 2(包括)到索引值为 5(不包括)之间的所
有字符删除,因此输出的新的字符串的值为“he jack”。