Java 学习的第一天
String 类说明
String类创建后,无法再修改,有 0 或多个字符组成,数据包含在一对引号之间
String类对象的创建方式
字符串声明: String stringName;
字符串创建: stringName = new String(字符串常量); 或 stringName = 字符串常量
String类构造方法:
创建空String 对象
String str1 = new String();
用已知的字符串value创建String对象
String str2 = new String("asdf");
String str3 = new String(str2);
用字符数组value 创建String对象
char[] value = {"a", "b", "c", "d"};
String str4 = new String(value); //str4 = new String("abcd")
用字符数组chars的startIndex开始的numChars个字符创建一个String对象。
char[] value = {"a","b","c","d"};
String str5 = new String(value, 1, 2);//相当于String str5 = new String("bc");
用比特数组values创建一个String对象。
byte[] strb = new byte[]{65,66};
String str6 = new String(strb);//相当于String str6 = new String("AB");
常用操作方法:
字符串长度: int strlength = str.length(); 返回int
求字符某一个位置的字符: str.charAt(); 第一个字符索引为0, 最后一个为 -1
提取子串: str.substring(int beginIndex, int endIndex), 其中 endIndex不填写时,默认到最后的位置
字符串比较
str1.compareTo(str2) 按照字典属性进行大小比较,通常返回的整数至指明当前对象和比较字符串的大小关系; 正数 当前 对象大;负数则 当前对象小; 0 则相等
str1.compareToIgnoreCase(str2); 忽略大小写也比较
str1.equals(str2); 比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。
str1.equalsIgnoreCase(str2);与equals方法相似,但忽略大小写。
字符串单个字符查找
String str = "I am a good student"
indexOf(int ch/String str, int fromIndex) 查找从左边开始首次出现的字符位置,若不存在,则返回 -1; 其中 formIndex 默认等于0, 即从头开始找
lastIndexOf(int ch/String str, int fromIndex),查找从右边开始向左边 查找首次出现的字符位置,若不存在,则返回 -1; 其中 formIndex 默认等于-1, 即从尾开始找
大小写转换
toLowerCase() 转换为小写
toUpperCase() 转换为大写
字符替换
replace(char oldChar, char newChar)//用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。
replaceFirst(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的第一个和字符串regex相匹配的子串,应将新的字符串返回
replaceAll(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的所有和字符串regex相匹配的子串,应将新的字符串返回。
去除字符两边空格
trim()
起始位置和截止位置
startsWith 起始位置, 匹配成功则 True, 否则False
endsWith 截止位置, 匹配成功则 True, 否则False
两个字符串指定位置比较:
regionMatches(boolean b, int firstStart, String other, int otherStart, int length)//从当前字符串的firstStart位置开始比较,取长度为length的一个子字符串,other字符串从otherStart位置开始,指定另外一个长度为length的字符串,两字符串比较,当b为true时字符串不区分大小写。
contains(String str)
判断参数s是否被包含在字符串中,并返回一个布尔类型的值。
String[] split(String str)
将str作为分隔符进行字符串分解,分解后的字字符串在字符串数组中返回。
字符串与基本类型的转换
public static byte parseByte(String s)
public static short parseShort(String s)
public static short parseInt(String s) cg:int n = Integer.parseInt("12");
public static long parseLong(String s)
public static float parseFloat(String s)
public static double parseDouble(String s)
基本类型转换为字符串 String.valueOf(12);
进制转换:使用Long类中的方法得到整数之间的各种进制转换的方法:
Long.toBinaryString(long l)
Long.toOctalString(long l)
Long.toHexString(long l)
Long.toString(long l, int p)//p作为任意进制