标签:
String类是用来描述字符串,他提供了若干方法来操作字符串:
public class StringDemo { public static void main(String[] args) { String str1 = "abccbade"; /** * 字符串中的获取 */ // 获取字符串的长度 System.out.println("str1的长度是: " + str1.length()); // 获取字符串中某个位置的字符 System.out.println("str1第2个位置的字符: " + str1.charAt(2)); // 获取某个字符在字符串中第一次出现的位置,如果没有这个字符,返回-1 System.out.println("字符c在str1中第一次出现的位置: " + str1.indexOf(‘c‘)); // 从某个位置开始,获取某个字符在字符串中第一次出现的位置,如果没有这个字符,返回-1 System.out.println("从第2位开始,字符c在str1中第一次出现的位置: " + str1.indexOf(‘b‘, 2)); // 反向根据字符,获取位置,(从右往左)如果不存在,返回-1 System.out.println(str1.lastIndexOf(‘b‘)); System.out.println(str1.lastIndexOf(‘b‘, 2)); /** * 字符串中的判断 */ System.out.println("该字符串是以a字符串开头的吗?: " + str1.startsWith("a")); System.out.println("该字符串是以a字符串结尾的吗?: " + str1.endsWith("a")); System.out.println("该字符串是空的吗?: " + str1.isEmpty()); System.out.println("该字符串包含字符串abc吗?: " + str1.contains("abc")); System.out.println("该字符串是否和abcd内容相同" + str1.equals("abcd")); System.out.println("该字符串是否和aBCcbAde内容相同" + str1.equalsIgnoreCase("aBCcbAde")); /** * 字符串的转换 */ // 将字符数组转换成字符串 char[] charArray = { ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘ }; System.out.println(new String(charArray)); System.out.println(new String(charArray, 3, 3)); System.out.println(String.copyValueOf(charArray));// 该方法为静态方法 // 将字符串转换成字符数组 System.out.println(str1.toCharArray()); /** * 字符串的其他方法 */ // 切割字符串 String str2 = "abc2def2ghi"; String[] strArray = str2.split("2"); for (int i = 0; i < strArray.length; i++) { System.out.println(strArray[i]); } // 大小写转换以及去掉首尾空格 String str3 = " Hello World "; System.out.println(str3.toUpperCase()); System.out.println(str3.toLowerCase()); System.out.println(str3.trim()); // 字符串截取 System.out.println(str3.trim().substring(2)); System.out.println(str3.trim().substring(2, 10)); //字符串比较 String str4 = "abcdef"; String str5 = "abbdgf"; System.out.println(str4.compareTo(str5)); } }
练习:
题目一:实现trim方法的功能
思路:先判断给定字符串是否是以空格开头,如果是,从第二位截取剩余字符串,循环,得到开头没有空格的字符串,再判断是否以空格结尾,如果是,则从第0为开始,到第length-1位结束截取字符串,循环去掉尾部的空格
public class StringDemo { public static void main(String[] args) { String str = " abcdef "; StringDemo sd = new StringDemo(); System.out.println(sd.trimDemo(str)); } public String trimDemo(String str) { while (str.startsWith(" ")) { str = str.substring(1); } while (str.endsWith(" ")) { str = str.substring(0, str.length() - 1); } return str; } }
题目二:翻转一个字符串
思路:先把字符串转换成一个字符数组,再新建一个空的同样长度的字符数组,依次将源字符数组翻转过来添加到新数组中,让新数组转化成字符串返回
public class StringDemo { public static void main(String[] args) { String str = " abcdef "; StringDemo sd = new StringDemo(); System.out.println(sd.turnString("abcdef")); } public String turnString(String str) { char[] charArray = str.toCharArray(); char[] newCharArray = new char[charArray.length]; for (int i = 0; i < charArray.length; i++) { newCharArray[(charArray.length - i - 1)] = charArray[i]; } return new String(newCharArray); } }
标签:
原文地址:http://www.cnblogs.com/xs104/p/4660295.html