Java学习第三天

今天继续第二章的学习

String类的定义:String在java中是一个比较特殊的类,因为其自己可以做一种数据类型直接定义变量,如下:

String str = "hello";

String str = new String ("hello");

String两种不同定义地理解:

String str = "hello"; //可以把str理解为一个char*,str指向数据段中的字符串"hello"。

String str = new String ("hello");//是new了一个对象,堆空间分配了一块内存,把对象放在里面,str 指向这个对象

上面两者的区别:

String str 1= "hello";

String str 2= "hello";

     //当定义str2的时候,系统会先检测数据段里是否已经有了“hello”,如果有了那么str2直接指向这个“hello”,这是系统的优化。也就是说不会单独再在数据段中存储“hello”,str1和str2指向的是同一个数据段,也就是str1和str2代表的数据段地址也是一样的。

String str 3= new String ("hello");

String str 4= new String ("hello");

     //str4是重新new的一个对象,是在堆空间又单独存储的,也就是说str3和str4的地址是不一样的,但是存储内容是一样的

下面通过例子来体现

3.1一个完整的文件名字包括文件名与类型的扩展名,例如,a.doc, b.txt, film.rbmv等,文件名与类型的扩展名之间用.分离。请使用C++中string类型,编写一个程序实现文件名与类型扩展名的分离,例如,输入是字符串a.doc,输出是两个字符串a和doc。要求使用string类型实现。

 

 

 

3.2字符串查找判断

输入两个字符串s1和s2,判断s1是否包含s2,给出结论,若包含,还需计算s1中s2的个数。要求使用string类型。

 

 

posted @ 2020-07-08 17:43  居酿圆子  阅读(147)  评论(0编辑  收藏  举报