要求:完成一个java application应用程序,完成字符串的各种操作。 1、操作包括字符串的初始化赋值和输出; 2、操作包括两个字符串相加合成为一个新字符串; 3、操作包括两个字符串比较其是否相同; 4、操作包括已知一个字符串,查找某一子字符串是否被包含在此字符串之中,如果包含,包含了多少次; 5、操作包括已知一个字符串及其包含的某一子字符串,把此子字符串替换为其他的新的指定字符串; 6、操作包括对特定字符串与数值之间的相互转换; 7、操作包括字符串与字节数组之间的相互转换; 8、操作包括从格式化字符串输入数值和利用格式化字符串输出数值;
本题目主要是对String类下的方法进行练习,各要求中的String类方法可以通过查阅jdk手册来进行学习。下面将对任务中用到的以及常用的String类方法进行总结。
比较两个字符串是否相同 比较字符串切记不能用“==”,而是可以选用下列两种方法:
1: equals(Object anObject) :将此字符串与指定的对象比较 eg: System.out.println("ac".equals("ac"));//true System.out.println("a".equals("ac"));//false equalsIgnoreCase(String anotherString) :忽略大小写将此 String 与另一个String比较 eg: System.out.println("AbC".equalsIgnoreCase("aBc"));//true 2: compareTo(String anotherString) :按字典顺序比较两个字符串 //前后一致输出0;前小后大输出为负数;前大后小输出为正数。 //对比是拿前一个字符串的第一个字母和后面字符串的第一个字母比较,若相等顺位延续;否则就结束比较。 eg: int n = "abc".compareTo("abc"); System.out.println(number);//0 int n1 = "abc".compareTo("acb"); System.out.println(number1);//-1 int n2 = "acb".compareTo("abc"); System.out.println(number2);//1在字符串中查找子字符串,获取子字符串出现的次数
contains(CharSequence s) :当且仅当此字符串包含指定的 char 值序列时,返回 true,否则返回false。 eg: System.out.println("ashkah/sdj".contains("kah/"));//true System.out.println("asdjsf.ds".contains(".das"));//false int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。把一个字符串中的子字符串替换为其他的新的指定字符串
replace(CharSequence target, CharSequence replacement) :使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。 eg: String ns = "is the function".replace("function","method");对特定字符串与数值之间的相互转换
charAt(int index) :返回指定索引处的 char 值。 eg: char c = "发货时间安化考试".charAt(6);字符串与字节数组之间的相互转换
getBytes(): 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 eg: byte[] bytes = "abcd".getBytes();从格式化字符串输入数值和利用格式化字符串输出数值
format(String format, Object... args) :使用指定的格式字符串和参数返回一个格式化字符串。