Java的八种基本数据类型:
字符型(char)
布尔型(boolean)
数值型(byte、short、int、long、float、double)
String并不属于八中基本数据类型
String类位于java.lang包中,使用String类创建的字符串变量属于对象,默认值为null
注意:new String(); 和 new String("");都是声明一个空串,而不是null
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder类
常用方法
字符串变量名.length();
返回值为int类型,得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)
字符串名.charAt(值);
返回值为char类型,从字符串中取出指定位置的字符
字符串变量明.toCharArray();
返回值为字符数组(char[])类型,将字符串转换为字符数组
字符串名.indexOf(“字符”); / 字符串名.indexOf(“字符”,值);
查找一个指定字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1
字符串名.indexOf(“字符”,值);→从该值开始找
lastIndexOf(“字符”)
得到指定内容最后一次出现的下标
字符串名.toUpperCase(); / 字符串名.toLowerCase();
字符串大小写转换
split(“字符”)
根据给定的正则表达式的匹配来拆分此字符串,形成一个新的字符串数组String[]。
字符串变量名.equals(Object Object);
返回值为布尔类型,比较两个字符串是否相等
equalsIgnoreCase(String);
忽略大小写比较两个字符串的值是否一样,返回布尔值。
字符串名.substring(int beginIndex,int endIndex);
截取子串,从左边数值开始,包含左端,但不包含右端
字符串名.contains(String)
判断一个字符串里面是否包含指定的内容,返回一个布尔值
字符串名.replace(char oldChar,char newChar);
新字符替换旧字符
字符串名.compareTo()
String类中的compareTo()方法将返回两个字符串对象的比较结果,若相等,返回0。不相等时,从两个字符串第1个字符开始比较,返回第一个不相等的字符差;另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
示例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)
字符串名.split(标志符)
String str = "张三,李四,王五,赵六";
String[] names = str.split(",");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
输出:
张三
李四
王五
赵六
StringBuffer类
与String类间无继承关系,不能强转!
转换方法:
String string1 = "Hello World!";
StringBuffer stringBuffer = new StringBuffer(string1); //String转换为StringBuffer
String string2 = stringBuffer.toString(); //StringBuffer转换为String
append()方法
追加内容到当前StringBuffer对象的末尾,类似于字符串的连接
StringBuffer stringBuffer = new StringBuffer("Hello");
stringBuffer.append("World!");
reverse()方法
把当前字符序列反转后返回
StringBuffer stringBuffer = new StringBuffer("abc");
System.out.println(stringBuffer.reverse());