int length()
该方法可以返回当前字符串的长度(字符个数)
String str = "我爱java!";
int len = str.length();
System.out.println("length:"+len);//7
char charAt(int index)
返回当前字符串中指定位置处对应的字符
// 0123456789012345
String str = "thinking in java";
char c = str.charAt(9); //返回下标9对应的字符
System.out.println(c); //i
/*
* 检测回文
* 上海自来水来自海上
*
* 规则:正数位置上的字符与倒数位置上的字符都
* 一样的则是回文
*/
String line = "上海自来水来自海上";
for(int i=0;i<line.length()/2;i++){
char c1 = line.charAt(i);
char c2 = line.charAt(line.length()-1-i);
if(c1!=c2){
System.out.println("不是回文数");
return;
}
}
System.out.println("是回文数");
int indexOf(String str)
查找给定字符串在当前字符串中的位置。
若当前字符串不包含给定内容,则返回值为-1
// 0123456789
String str = "thinking in java";
int index = str.indexOf("in");
System.out.println("index:"+index); //2
/*
* 重载方法允许从指定位置开始查找第一次出现的位置
*/
index = str.indexOf("in",3);//从指定下标开始查找
System.out.println("index:"+index);//5
/*
* 查找给定字符串在当前字符串中最后一次出现的位置
*/
index = str.lastIndexOf("in");
System.out.println("index:"+index);//9
//如何判断字符串只出现一次
// indexOf与lastIndexOf返回值相等,则只出现一次
String substring(int start,int end)
截取当前字符串中指定范围内的字符串,在API中有一个
特点,凡是使用两个数字表示范围时,通常都是 "含头不含尾"的
// 0123456789012
String str = "www.baidu.com";
//截取域名
String sub = str.substring(4,9);//包含4的下标开始截取 ,不包含9下标的字符
System.out.println(sub);//baidu
//一个参数的则是从指定位置截取到末尾
sub = str.substring(4);
System.out.println(sub);//baidu.com
String startsWith(String str)
判断当前字符串是否是以给定的字符串开始的
String endsWith(String str)
判断当前字符串是否是以给定的字符串结尾的
返回值都为boolean类型
String line = "thinking in java";
boolean starts = line.startsWith("th");
System.out.println("starts:"+starts);//true
boolean ends = line.endsWith("va");
System.out.println("ends:"+ends);//true
字符串提供了可以将当前字符串中的英文部分转换为全大写或全小写
String toUpperCase() 转大写
String toLowerCase() 转小写
String str = "我爱Java";
String upper = str.toUpperCase();
System.out.println("upper:"+upper);//我爱JAVA
String lower = str.toLowerCase();
System.out.println("lower:"+lower);//我爱java
String trim()
去除一个字符串两边的空白字符
String string = " he llo ";
System.out.println(string);
String trim = string.trim(); //只能去掉两边的空白
System.out.println(trim);//he llo
String.valueOf()
字符串提供了一组静态的方法:String.valueOf()
可以将其他类型转换为字符串。常用的是将基本类型转换为字符串
int i = 123;
String iString = String.valueOf(i);
System.out.println(i+4); //127
System.out.println(iString+4);//1234
iString = i+""; //任何内容与字符串连接结果还是字符串
double d = 123.123;
String dString = String.valueOf(d);
System.out.println(dString);
String方法test
//length()
String s1 = "我我1234";
int length = s1.length();
System.out.println("length="+length);//6
/*indexOf(String str)
* 查找给定字符串在当前字符串中的位置,若无则返回值为-1
*/
String s2 = "thinking";
int index = s2.indexOf("in");
System.out.println("index="+index);//2,在下标2
/*charAt(int index)
* 返回当前字符串对应位置的字符
*/
String s3 = "thing";
char c = s3.charAt(2);
System.out.println("c="+c);//i,下标2对应的字符为i
/*
* String substring(int start,int end)
* 截取当前字符串中指定范围内的字符串,在API中有一个
* 特点,凡是使用两个数字表示范围时,通常都是 "含头不含尾"的
*/
String s4 = "thinkinginjava";
String ss = s4.substring(4,9); //不包含9下标的字符
System.out.println("ss="+ss);//kingi
//只有一个参数是从指定位置截取到末尾
String ss1 = s4.substring(7);
System.out.println("ss1="+ss1);//ginjava
/*String trim()
* 去除字符串两边空白字符
*/
String s5 = " hello ";
System.out.println("s5="+s5);// hello
s5 = s5.trim();
System.out.println("s5="+s5);//hello
/*String startsWith(String str)
* 判断当前字符串是否是以给定的字符串开始的
* String endsWith(String str)
* 判断当前字符串是否是以给定的字符串结尾的
* 返回值 boolean
*/
String s6 = "thinking java";
boolean start = s6.startsWith("th");
System.out.println("start="+start);//true
boolean end = s6.endsWith("aa");
System.out.println("end="+end);//false
/*String toUpperCase() 将字符串中的英文部分转换成大写
* String toLowerCase() 小写
*/
String s7 = "我爱Java";
String upper = s7.toUpperCase();
System.out.println("upper="+upper); //我爱JAVA
String lower = s7.toLowerCase();
System.out.println("lower="+lower); //我爱java
/*
* 静态方法 valueOf() 类名. 访问
* 将其他类型转换成字符串
*/
int i = 123;
String istr = String.valueOf(i);
System.out.println(i+4);//127
System.out.println(istr+4); //1234