Scanner in = new Scanner(System.in); //输入方法一 String s1 = in.next(); //输入方法二 String s2 = in.nextLine();
in.next(): 读到空格就停止扫描(输入)。
in.nextLine():读到回车就停止扫描(输入)。
2.String类型的修改在java中字符串一旦定义了,就不可以改变。我们可以通过String的方法或者通过复制定义的字符串构造StringBuilder和StringBuffer实现对字符串的“修改”。
3.关于String类型的访问可以通过string.charAt(int Index)对字符串某一位置上的字符进行访问,但是不可以通过该方法对其修改。
4.关于String的分割String s = in.nextLine();
String newLine = s.split(" ");
//通过空格分割字符串将一个一个字符分割出来的子串存放在一个String数组中;
5.String的方法
String s = in.nextLine(); s.length(); //返回当前字符串的实际长度; s.charAt(int Index); //返回下标为Index的字符; s.substring(int start); //返回从start开始一直到结束的子串; s.substring(int start,int end); //返回范围是[start,end)的子串; s.compareTo(String anotherString) //与anotherString进行比较,s大返回正数,s小返回负数,相等返回0; s.compareTolgnore(String anotherString) //与anotherString进行比较,s大返回正数,s小返回负数,相等返回0,但忽略大小写; s.equals(Object anotherObject); //相等返回true不相等返回false; s.equalslgnoreCase(String anotherString); //相等返回true不相等返回false,忽略大小写; s.cancat(String str) //连接s和str等效于“+” s.indexOf(int n/String str); //从头开始查找n或者str首次出现的位置(若是str返回开始字符的下标),如果没有返回-1; s.indexOf(int n/String str,int p); //和上一个方法类似,不同的是从左开始的某个下标往后查找。 s.lastIndexOf(int ch/String str); //与前面类似,区别在于该方法从字符串的末尾位置向前查找。 s.lastIndexOf(int ch/String str,int p); //和上一个方法类似,不同的是从左开始的某个下标往前查找。 s.toLowerCase(); //字符串小写转大写; s.toUpperCase(); //字符串大写转小写; s.replace(char a,char b); //将s中的a都替换成b; s.replaceFirst(String a,String b); //将s中的第一个子串a替换成b; s.replaceAll(String a, String b); //将s中所有a子串替换成b;三、关于StringBuffer(可变长的字符缓冲区) 1.StringBuffer的构造
StringBuffer s = new StringBuffer();//无参数构造; StringBuffer s = new StringBuffer(int I);//指定容量构造; StringBuffer s = new StringBuffer(String s_);//指定字符串构造;2.StringBuffer的方法
StringBuffer s = new StringBuffer(); s.Capacity(); //返回当前字符串缓冲区的容量; s.length(); //返回当前字符串缓冲区的实际长度; s.append(String str); //向字符串缓冲区内添加字符串str,; s.insert(int p,String s); //在第p+1的位置上插入s; s.deleteCharAt(int Index); //删除指点字符,返回字符缓冲区; s.delete(int start,int end); //删除[start,end)的字符,返回字符缓冲区; s.substring(int start); //返回从start开始一直到结束的子串; s.substring(int start,int end); //返回范围是[start,end)的子串; s.replace(int start,int end,String str) //将[start,end)范围内的字符串和str进行替换,返回字符缓冲区; s.reverse(); //将字符串s反转;四、关于StringBuilder(可变的字符序列) 1.StringBuilder的构造
StringBuilder s = new StringBuilder(); //无参数构造; StringBuilder s = new StringBuilder(int I); //指定容量构造; StringBuilder s = new StringBuilder(String s_); //指定字符串构造;2.StringBuilder的方法
StringBuilder s = new StringBuilder(); s.Capacity(); //返回当前字符串缓冲区的容量; s.length(); //返回当前字符串缓冲区的实际长度; s.append(String str); //向字符串缓冲区内添加字符串str,; s.insert(int p,String s); //在第p+1的位置上插入s; s.deleteCharAt(int Index); //删除指点字符,返回字符缓冲区; s.delete(int start,int end); //删除[start,end)的字符,返回字符缓冲区; s.substring(int start); //返回从start开始一直到结束的子串; s.substring(int start,int end); //返回范围是[start,end)的子串; s.replace(int start,int end,String str) //将[start,end)范围内的字符串和str进行替换,返回字符缓冲区; s.reverse(); //将字符串s反转; s.toString(); //将可变长字符串以字符串的形式返回;3.StringBuilder和String的相互转换
StringBuilder通过toString就可以实现从StringBuilder转换成String。
String可以通过类型转换:StringBuilder(String s)就可以实现从String转化成StringBuilder。
五、StringBuilder和StringBuffer的区别在用法上来看其实他们是非常相似的,但实际上还是有差别的StringBuffer是线程安全的,但是StringBuilder是没有线程功能的所以其性能会更高一点。
六、char类型转化成String类型String t = String.valueOf(char c);



