String类课堂笔记(20,21)

1. == 和 equals 方法的区别

"=="比较的是引用(是否指向同一个内存块),“equals”比较的是具体的内容

String name1="张三"        //直接赋值方式

String name2=new String("张三");   //new对象方式

String name3=name2  ;           //传递引用

name1==name2    false

name1==name3    false

name2==name3     true

name1.equals(name2)    true

name1.equals(name3)     true

name2.equals(name3)    true

2.String 两种实列化方式区别

直接赋值方式:创建的对象放在字符串对象池里,如果存在就不创建

new对象方式:每次都创建新的对象

3.字符串特性:

不能改变字符串的内容,要想改变,只能通过指向一个新的内存地址

4.String常见的方法:

4.1   charAt :返回指定索引处的char值,索引范围为0-----length()-1

     String name="张三"

      char  ming =name.charAt(1)

4.2 length():返回字符串的长度

4.3  indexof:返回指定字符串在此字符串中第一次出现的处的索引

  String str="sadasd";

  str.indexof("d");

4.4  substring(int beginIndex    int endIndex)

返回一个新字符串,该字符串从指定的beginIndex处开始,直达索引endIndex -1处的字符,其长度为endIndex-beginIndex

String str1="不开心每一天,不可能"

str.substring(1,6)

结果:开心每一天

4.5 toUpperCase() :全变成大写

      tolowercase():   全变成小写

4.6  Trim():去掉字符串前后空格

4.7 问题 题统计newStr中出现的英文字符   空格 其他的个数

String   str ="asdaf    ddcxzcsd2312”

int kongge=0

int yingwen=0

int qita=0;

for(int i=0; i<newStr.length();i++){

char  c=newStr.charAt(i);

if(( c>= ‘a’&&c<'z‘)||( c>= ‘A’&&c<'Z‘)

{  yingwen++

} else if(c==  ‘’  ”){

kongge++

} else{

qita++

}

}

猜你喜欢

转载自blog.csdn.net/libaowen609/article/details/83999608