public class StringDemo {
public static void main(String args[]) {
String str = "hello"; // 定义字符串对象
char c = str.charAt(0); // 截取第一个字符
System.out.println(c); // 输出字符
}
}//执行结果:h
字符数组与字符串的转换
public class StringDemo {
public static void main(String args[]) {
String str = "hello"; // 定义字符串
char[] data = str.toCharArray(); // 将字符串变为字符数组
for (int x = 0; x < data.length; x++) { // 循环输出每一个字符
System.out.print(data[x] + "、");
}
}
程序执行结果:h、e、l、l、o、
将字符串转大写
public class StringDemo {
public static void main(String args[]) {
String str = "hello“; // 字符串由小写字母组成
char[] data = str.toCharArray(); // 将字符串变为字符数组
for (int x = 0; x < data.length; x++) { // 改变每一个字符的编码值
data[x] -= 32;
}
System.out.println(new String(data)); // 将全部字符数组变为String
System.out.println(new String(data, 1, 2)); // 将部分字符数组变为String
}
}
程序执行结果:HELLO(“new String(data)”语句输出)
EL(“new String(data, 1, 2)”语句输出)
给定一个字符串,要求判断其是否由数字组成
public class StringDemo {
public static void main(String args[]) {
String str = "123423432";
if (isNumber(str)) {
System.out.println("字符串由数字组成!");
} else {
System.out.println("字符串由非数字组成!");
}
}
public static boolean isNumber(String temp) {
char[] data = temp.toCharArray();// 将字符串变为字符数组,可以取出每一位字符进行判断
for (int x = 0; x < data.length; x++) {// 循环判断
if (data[x] > '9' || data[x] < '0') {// 不是数字字符范围
return false;// 后续不再判断
}
}
return true; // 如果全部验证通过返回true
}
}//结果:字符串由数字组成!
观察字符串与字节数组的转换
public class StringDemo {
public static void main(String args[]) {
String str = "helloworld"; // 定义字符串
byte[] data = str.getBytes(); // 将字符串变为字节数组
for (int x = 0; x < data.length; x++) {
data[x] -= 32; // 将小写字母变为大写形式
}
System.out.println(new String(data)); // 全部转换
System.out.println(new String(data, 5, 5));// 部分转换
}
}
程序执行结果:HELLOWORLD(“new String(data)”语句执行结果)
WORLD(“new String(data, 5, 5)”语句执行结果)
相等判断
public class StringDemo {
public static void main(String args[]) {
String stra = "Hello"; // 实例化字符串对象
String strb = "hELLO"; // 实例化字符串对象
System.out.println(stra.equals(strb)); // 比较结果:false
System.out.println(stra.equalsIgnoreCase(strb)); // 比较结果:true
}
}
程序执行结果:false(“stra.equals(strb)”语句执行结果)
true(“stra.equalsIgnoreCase(strb)”语句执行结果)
compareTo()方法
public class StringDemo {
public static void main(String args[]) {
String stra = "Hello"; // 定义字符串对象
String strb = "HEllo"; // 定义字符串对象
System.out.println(stra.compareTo(strb)); // 32,大于0
if (stra.compareTo(strb) > 0) {// 可以利用大小等于0的方式来判断大小
System.out.println("大于");
}
}
}
程序执行结果:32(“stra.compareTo(strb)”语句执行结果,比较的是两个字符串的编码数值)大于(“System.out.println("大于");”语句执行结果)
使用 indexOf () 等功能查找
public class StringDemo {
public static void main(String args[]) {
String str = "helloworld"; // 实例化字符串对象
System.out.println(str.indexOf("world")); // 返回满足条件单词的第一个字母的索引
System.out.println(str.indexOf("l")); // 返回的是第一个查找到的子字符串位置
System.out.println(str.indexOf("l", 5)); // 从第6个元素开始查找子字符串位置
System.out.println(str.lastIndexOf("l")); // 从后开始查找指定字符串的位置
}
}
程序执行结果: 5(“System.out.println(str.indexOf("world"));”语句执行结果)
2(“System.out.println(str.indexOf("l"));”语句执行结果)
8(“System.out.println(str.indexOf("l", 5));”语句执行结果)
8(“System.out.println(str.lastIndexOf("l"));”语句执行结果)
利用indexOf()方法判断子字符串是否存在
public class StringDemo {
public static void main(String args[]) {
String str = "helloworld“; // 字符串对象
if (str.indexOf("world") != -1) { // 能找到子字符串
System.out.println("可以查询到数据。");
}
}
}
程序执行结果:可以查询到数据。