Java中的String类也是对字符串事物的描述,字符串的简单用法如下:
package com.jikexueyuan.ch;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args){
String s1 = "abc";
//字符串一旦被初始化就不可更改
String s2 = new String("abc");
//s1在内存中只有一个对象 s2在内存中有两个对象
//s2的内存模型如下图
System.out.println(s1 == s2);//s1 s2是不同的对象
System.out.println(s1.equals(s2));//该方法来判断字符串是否想等
}
}
s2的内存模型
String类的基本操作
1 字符串的长度
int length();
2从字符串中取出指定位置的字符串
char charAt(int index);
3根据字符获取该字符在字符串中的位置
int indexOf(char ch);
int indexOf(char ch, int fromIndex)//从fromIndex位置开始查找
int indexOf(String str);
int indexOf(String str, int fromIndex);
int lastindexOf(int ch);
4字符串中是否包含某一个子串
boolean contains(str);
5判断长度是否为0
boolean isEmapty();
6判断字符串是否以指定字符串开头/结尾
boolean stratsWith(str);
boolean endsWith(str);
7判断内容是否相同
boolean equals(str);
8将字符数组转成字符串
new String(chs);
9将字符串转成字符数组
char []chs = s.toCharArray();
10将字节数组转成字符串。
String(byte[])
11替换
String replace(oldchar, newchar);
12转换(字符串转换为大写或者小写)
String toUpperCase();
String toLowerCase();
13去空格(两端的)
String trim();
14比较
int compareTo(String);
示例如下:
package com.jikexueyuan.ch;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args){
String str = " Hello world Hello ";
System.out.println(str.length());//1
char s = str.charAt(2);//2
System.out.println(s);
System.out.println(str.indexOf('l' ));//3
System.out.println(str.indexOf('l', 6));//3
System.out.println(str.indexOf("llo"));//3
System.out.println(str.indexOf("llo", 6));//3
System.out.println(str.lastIndexOf('l'));//3
System.out.println(str.contains("llo"));//4
System.out.println(str.isEmpty());//5
System.out.println(str.startsWith("Hello"));//6
System.out.println(str.endsWith("llo "));//6
String str1 = str.replace("Hello", "goodbye");//11
System.out.println(str1);
String str2 = str.toLowerCase();
String str3 = str.toUpperCase();
String str4 = str.trim();
System.out.println(str2 +"\n"+ str3+"\n" + str4);
int a = str2.compareTo(str3);
System.out.println(a);
}
}
练习:将字符串反转。
/*
思路:
1,将字符串变成数组。
2,对数组反转。
3,将数组变成字符串。
package com.jikexueyuan.ch;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args){
String str = "abcdefg";
char[] chs = str.toCharArray();
String s = reverse(chs, 0, str.length());
System.out.println(s);
}
public static String reverse(char[] c, int x, int y) {
// TODO Auto-generated method stub
for(int start=x, end=y-1;start<end;start++,end--)
swap(c, start, end);
return new String(c);
}
private static void swap(char[] c, int x, int y) {
// TODO Auto-generated method stub
char temp = c[x];
c[x] = c[y];
c[y] = temp;
}
}