'=="是判断地址而不是内容的。所以:
String name="ithesk";
Scanner sc=new Scanner(System.in);
String password=sc.next();
if(password==name)//这里会直接false
推荐用Sring类的"equals"比较内容,它只关心内容
public class Str {
public static void main(String[] args) {
//1.获取字符串长度
String name="我爱你中国love";
System.out.println(name.length());//9
//2.charAt(int index):获取某个索引位置处的字符串
char ch=name.charAt(1);
System.out.println(ch);//爱
//3.toCharArray():把字符串转换成字符数组
char[] chars=name.toCharArray();
for(int i=0;i<chars.length;i++){
System.out.println(chars[i]);
}
//遍历字符串中的每个字符
for(int i=0;i<name.length();i++){
char c=name.charAt(i);
System.out.println(c);
}
//4.substring(int beginindex,int endindex):截取内容,左闭右开
String s1="java是最牛的编程语言之一";
String s2=s1.substring(0,4);
System.out.println(s2);//java
//5.substring(int beginindex):从当前索引一直截取到末尾
//6.replace(charSequence target,charSequence replacement)
String s3="三胖哥是最牛的80后,三胖哥的发型yyds,好想和三胖哥一样!!";
String s4=s3.replace("三胖哥","**");
System.out.println(s4);//**是最牛的80后,**的发型yyds,好想和**一样!!
//7.contains(charSequence s) 会返回一个boolean,看是否含有这个字符串
System.out.println(s3.contains("三胖哥"));//true
//8.startsWith(String prefix):查看是否以字符串prefix开头。返回boolean类型
System.out.println(s3.startsWith("三胖哥"));//true
//9.public String[] split(String s):按照某个内容把字符串分割成字符串数组返回
String data="王宝强,贾乃亮,蔡徐坤";
String[] names=data.split(",");
for(int i=0;i<names.length;i++){
System.out.println("选择了"+names[i]);//选择了王宝强
//选择了贾乃亮
//选择了蔡徐坤
}
}
}
public class classs {
public static void main(String[] args) {
//String
System.out.println(" d a ".trim());//去除两边的空格,不能去中间的空格
System.out.println("a".concat("b"));//ab,连接2个字符串
System.out.println("abcd".charAt(1));//b 返回第2个字符
System.out.println("abcd".indexOf("c"));//返回字符串中出现的第一个“c"的下标
int i=Integer.parseInt("1");//把字符串的1转成数字的1
System.out.println("Java is".matches("Java.*"));//true.看是否匹配这种格式和内容
String str=String.valueOf(new char[]{'a','b'});//把char[]转成string用valueOf
double a=Double.valueOf("2.2");
String s=String.valueOf(2.2);//valueOf()方法可以把字符和数字转化成字符串String
//StringBuilder
StringBuilder sb=new StringBuilder("abcdefj");
sb.delete(1,2);//删除第2到第3个字符delete(int startIndex,int endIndex)
sb.insert(1,"s");//在指定位置插如某字符
sb.reverse();//倒置
sb.replace(2,3,"s");//将startindex到endindex-1位置的字符替换为给定的字符串
sb.deleteCharAt(1);//删除第2个字符。 deletCharAt(index)用来删除指定位置的字符
sb.setCharAt(0,'w');//在指定位置设置特定内容,替换
//转换
String w="hello";
String str1= String.valueOf('c');//char-->String
char ch=w.charAt(1);//String-->char
String temp = String.valueOf(new char[]{'c'}); //char[]-->String
char[] cha=w.toCharArray();//String-->char[]
//String-->string[]
String str2 = "feilong,fei";
String[] split = str.split(",");
for (String string : split){
System.out.println(string);
}
String[]->String 用StringBuilder,然后遍历并append

StringBuilder->String toString
}
//去除边上空格以及中间多余空格,只允许隔1个空格
public void remove(String s){
int start=0;
StringBuilder sb=new StringBuilder();
int end=s.length()-1;
while(start==' '){
start++;
}
while(end==' '){
end--;
}
while(start<end){
if(sb.charAt(start)!=' '||sb.charAt(sb.length()-1)!=' '){
sb.append(sb.charAt(start));
}
start++;
}
}
//把字符串反转
public String reverse(String s){
StringBuilder sb=new StringBuilder(s);
sb.reverse();
return new String(sb);
}
}


浙公网安备 33010602011771号