1.子串:
String greeting = "Hello";
String s = greeting.substring(0,3);
结果是:Hel
由此可知,substring(int first,int end);是不包含end的子串。
2.检测字符串是否相等时不要用 == ,这个仅仅是引用位置上相同时才能判定这两个值是相等的。
3.常用的java String API
int compareTo(String other)
按照字典顺序,如果字符串位于other之前,返回一个负数,如果字符串位于other之后,返回一个正数,如果两个字符串相等,那么就返回0.
boolean endsWith(String suffix)
如果字符串以suffix结尾那么返回true
boolean startsWith(String suffix)
如果字符串以suffix开头那么返回true
boolean equalsIgnoreCase(String other)
如果字符串与other相等,就返回true
int indexOf(String cp)
返回cp第一次出现的位置
相应的就有
int lastIndexOf(String str)
返回str最后出现在字符串中的位置
String replace(CharSequence oldString,CharSequence newString)
返回一个新的字符串
String toLowerCase(),强转成小写字母
String toUpperCase(),强转成大写
String trim()删除原始字符头部和尾部的空格,返回一个新的字符串
4.构建子串:
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("");
stringBuilder.append("");
String comp = stringBuilder.toString();
5.StringBuilder API
void setCharAt(int i, char c)
将第i个代码单元设置成c
StringBuilder insert(int offset,String str)
在offset的位置上插入一个字符串并返回this
StringBuilder delete(int startIndex,int endIndex)
删除偏移量startIndex到endIndex - 1 的代码单元并返回this
stringBuilder deleteCharAt(1)
删除指定的位置的元素
void setCharAt(0,'5')
这是个设置字符的方法
stringBuilder reverse()
这是个反转的方法
void trimToSize()
这个方法是为了让多于的空间压缩的
6.nextLine()和next()区别
Scanner sc = new Scanner(System.in);
String next = sc.next();
String nextLine = sc.nextLine();
next:是直接收一个第一个有效的字符串,当有效字符串前边有空格,回车符或者有效字符串后边有空格,回车符时,next都会忽略,只接收第一个有效字符串,所以next方法你可以输入空格,但它不会接收。
nextLine:只要是字符串都接收不管是不是空格,都接收
7.格式化输出
System.out.printf("%8.2f",x);