读入字符串
Scanner in = new Scanner(System.in);
String s;
s = in.nextLine(); //以换行为结束标志
System.out.println(s);
比较字符串大小
==
.compareTo()
.equals()
String a=new String("abc");
String b=new String("abc");
System.out.println(a==b); //返回false 注:对于对象的比较是对对象引用的比较
// 内存中对应的地址是不一样的,故a!=b
String s1 = "abc";
String s2 = "abc";
System.out.println(s1==s2); //返回true
System.out.println(s1.compareTo(s2)); // s1>s2返回1 s1==s2返回0 s1<s2返回-1
System.out.println(s1.equals(s2)); // 相同返回ture 不同false
至于.compareTo()和.equals()和“ == ”的区别参见以下
www.cnblogs.com/ycpanda/p/3637153.html
https://blog.csdn.net/zzp_403184692/article/details/8094875
取字符串子串
.substring
String s3 = "01234";
System.out.println(s3.substring(1, 4));
String s4 = "hello";
System.out.println(s4.substring(1, 3));
注意:"hello".substring(1,3)的结果是
正确答案:el
找字符串中单个字符位置
.indexOf .lastIndexOf 等等
String s3 = "0123A56389汉子";
System.out.println(s3.indexOf('A'));
System.out.println(s3.indexOf("A56")); // 只找到A的位置
int loc = s3.indexOf('3');
System.out.println(s3.indexOf('3',loc+1)); //loc后的一个‘3’的位置
System.out.println(s3.lastIndexOf('3')); //从后往前找‘3‘
该字符串 是否在 该子串 开始或结束
.startsWint(该字符串子串)
.endsWith(该字符串子串)
String s3 = "0123A56389汉子";
String s4 = "0123";
String s5 = "汉子";
String s6 = "汗子";
System.out.println(s3.startsWith(s4)); // 是否为子字符串开始
System.out.println(s3.endsWith(s5)); // 是否为子字符串结束
System.out.println(s3.endsWith(s6)); // 非子字符串 -> false
删去字符串中首尾多余的空格
s.trim();
String a=new String(" hello Java ");
System.out.println(a); //输出: hello Java
a = a.trim();
System.out.println(a); //输出:hello Java
String.trim()究竟去掉了什么?参照以下
https://blog.csdn.net/leeqihe/article/details/76316565?locationNum=2
没错,我就是一个突然冒出来的 分割线1
用字符串里的 字符c2 代替 字符c1;
s.replace(c1,c2);
String a=new String("hello Jeve");
System.out.println(a.replace('e','a'));
运行结果:hallo Java
返回一个新的字符串,它是通过用 c2 替换此字符串中出现的所有 c1 得到的。
如果 c1 在此 String 对象表示的字符序列中没有出现,则返回对此
String 对象的引用。否则,创建一个新的 String 对象,它所表示的字符序列除了所有的
c1 都被替换为 c2 之外,与此 String 对象表示的字符序列相同。
s.toLowerCase(); 全部转小写
s.toUpperCase(); 全部转大写
我是 分割线2
分割线1和分割线2之间的方法可能会创建一个新的字符串
在栈内存中不改变 但是指向指向了新的堆内存 在堆内存中会开辟新的存储空间