String类中的一些常用方法的介绍和分析:
package StringDemoAndCharacterDemo;
/**
*
*/
//一般来说,如果你所引用的类和你当前使用的该类的类
//如果不在同一个包中,就需要导入(Import)操作。
//但是java.lang属于java语言包,该包中的类是用非常频繁
//为了方便程序员,将其全部默认导入:默认导入java.lang.*;
import java.lang.String;
/**
* @author fshxxxyydys
*
*/
public class StringDemo { //String类的使用
/**
* @param args
*/
public static void main(String[] args) {
String str = new String("hello world!");//第一种方法
//String str2 = "hellow world!"; //第二种方法
//String 是针对字符数组做的二次开发
System.out.println(str.charAt(0));
//根据下标,返回下标所在的字符
System.out.println(str.indexOf('a'));
//返回指定字符串(或者字符)所在的下标,但是只会查询
//该字符串(或字符)出现的第一个下标位置
System.out.println(str.lastIndexOf("world"));
//反向查找
System.out.println(str.contains("llo"));
//查询是否包含
System.out.println(str + "my mind~");
System.out.println(str.concat("my mind~"));
//连接字符串
//字符串和字符串相加,结果是一个新对象,原来的str保持不变。
System.out.println("my".toUpperCase());
System.out.println("mind".toLowerCase());
//转成大写和小写
System.out.println(str.startsWith("he"));
//判断是否以什么开头
System.out.println(str.endsWith("ld!"));
//判断是否以什么结尾
System.out.println(str.compareTo("my mind~"));
//判断两个字符的大小
System.out.println(str.equalsIgnoreCase("Hello World!"));
//忽略大小写的比较
System.out.println(str.replace("l", " "));
System.out.println(str);
//字符的替换
//这里并不是将原来的字符串的值替换掉,即:原来的字符串还是没有变化,
//而是产生了一个新的字符创对象,只不过在打印后马上被消除了而已。
System.out.println(str.toCharArray()[0]);
//将字符串转化为字符数组并且出第1个元素
}
}
=================================================================
Result:
h
-1
6
true
hello world!my mind~
hello world!my mind~
MY
mind
true
true
-5
true
he o wor d!
hello world!
h
=================================================================
下面是一个判断一个字符串中元素组成的小程序(包含Character类的使用):
/**
*
*/
package StringDemoAndCharacterDemo;
import java.util.Scanner;
/**
* @author fshxxxyydys
*
*/
public class StringAnalysis { //字符串的分析
/**
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("输入待检测字符串:");
String str = scanner.next();
print(str, analyzeString(str));
//分析并且打印结果
}
/**
* 对字符串进行检测
* @param str 待检测的字符串
* @return 保存检测结果的数组
*/
private static int[] analyzeString(String str){
int[] result = new int[3];
for(int i = 0; i < str.length() ; i ++){
if(Character.isDigit(str.charAt(i)))
result[0] ++;
else if(Character.isLetter(str.charAt(i)))
result[1] ++;
else
result[2] ++;
}
//Character作为char保姆类为其提供了非常强大的方法
//支持,相对于C语言来说程序可以十分的简单。
return result;
}
/**
* 打印分析的结果
* @param str 要求检测的字符串
* @param temp 保存检测结果的数组
*/
private static void print(String str, int[] temp){
System.out.println("字符串:" + str );
System.out.println("分析结果:" );
System.out.println("数字字符:"+ temp[0] +" "+ "英文字符:"+ temp[1] +" "+ "其他字符:" + temp[2] );
System.out.println();
}
}
=================================================================
Result:
输入待检测字符串:fshxxxyydys:296154989@qq.com
字符串:fshxxxyydys:296154989@qq.com
分析结果:
数字字符:9 英文字符:16 其他字符:3
=================================================================
原创出处:http://blog.csdn.net/u012830807