1、字符串的判断方法:
以上方法例子:
public class StringDemo4 {
public static void main(String[] args) {
//创建常理的字符串
String str = "helloworld";
//判断字符串是否以ld结尾
System.out.println(str.endsWith("world"));
//判断两个字符串是否相等,equals比较的是值
System.out.println(str.equals("helloworld"));
//建议使用,不会发生空指针的异常
System.out.println("helloworld".equals(str));
//不区分大小写的比较,验证码的校验
System.out.println("HELLOWORLD".equalsIgnoreCase(str));
//判断是否包含某段连续的字符串
System.out.println(str.contains("hello"));
//判断是否以某段字符串开头
System.out.println(str.startsWith("hel"));
//判断字符串是否是空串
System.out.println(str.isEmpty());
System.out.println("".isEmpty());
//获得字符串的长度,空格是字符,空串长度是0
System.out.println(" ".length());
}
}
2、字符串的获取功能:
例子如下:
public static void main(String[] args) {
String str = "helloworlld";
//从指定索引处查找第一次出现的字符串的索引,包含开始索引的本身
int index = str.indexOf("ll", 3);
System.out.println(index);
//获得子字符串,包括索引本身后面的所有字符
String str1 = str.substring(8);
System.out.println(str1);
//根据开始和结束的索引来获得子字符串, 包括开始索引,不包括结束的索引
String str2 = str.substring(2, 5);
System.out.println(str2);
//获得字符串对应的字节数组
byte [] bs = str.getBytes();
for(int i = 0 ; i < bs.length; i++){
System.out.print(bs[i]+"\t");
}
System.out.println();
//把字符串转换成字符数组
char [] cs = str.toCharArray();
for(int i = 0 ; i < cs.length; i++){
System.out.print(cs[i]+"\t");
}
System.out.println();
//把布尔类型转换成字符串类型
String strboolean = String.valueOf(true);
System.out.println(strboolean);
char[] c = {'d','g','h'};
//String cArray = String.valueOf(new char[]{'1','g','g','h'});
String cArray = String.valueOf(c);
System.out.println(cArray);
//把字符串转换成大写
String str6 = "txjava";
System.out.println(str6.toUpperCase());
String str7 = "TXJAVA";
System.out.println(str7.toLowerCase());
//拼接字符串
System.out.println(str6.concat(str7));
System.out.println(str6+str7);
}
}
3、实例:计算一个字符串中大写字母,小写字母和数字的数量。
public class StringDemo7 {
/**
* 计算一个字符串中大写字母和小写字母还有数字的数量
* 分析:大写字母,小写字母,数字如果筛选有两种方法
比较值或者比较ASCII码
*/
public static void main(String[] args) {
//创建Scanner对象
Scanner sc = new Scanner(System.in);
//获得我们输入字符串
String str = sc.nextLine();
parseStr(str);
}
public static void parseStr(String str){
int upperCount = 0;
int lowerCount = 0;
int num = 0;
//遍历字符串"HelloWorld"
//获得字符串的长度
/**
int length = str.length();
for(int i = 0; i < length; i++){
//获得每一个字符的ascii
int c = str.charAt(i);
if(c >= 65 && c <= 90){
upperCount++;
}else if(c >= 97 && c <= 122){
lowerCount++;
}else if(c >= 48 && c <= 57){
num++;
}
}
*/
int length = str.length();
for(int i = 0; i < length; i++){
//获得每一个字符
char c = str.charAt(i);
if(c >= 'A' && c <= 'Z'){
upperCount++;
}else if(c >= 'a' && c <= 'z'){
lowerCount++;
}else if(c >= '0' && c <= '9'){
num++;
}
}
System.out.println("大写字母个数:"+upperCount);
System.out.println("小写字母个数:"+lowerCount);
System.out.println("数字:"+num);
}
4、小结:
①判断连个字符串是否相等,用equals,equals比较的是值,比较最好用:“helloworld”.equals(Str)来比较,这样使用是防止不会出现空指针异常。
②在获得字符串的长度时,空格是字符,空串长度是0。
③掌握API1.6中String类的用法。