1.String
这个类是干嘛的?这个类就是字符串的类。这个类的对象就是字符串对象。简称:字符串。
这个类里面的方法有什么功能?里面有很多方法,我们今天会一个一个的细学。
StringBuilder
这个类是干嘛的?这个类就是字符串的帮助类,帮我们操作字符串的。
因为在有些情况下,如果我们直接操作字符串会比较麻烦或者影响内存的使用率。"拼接"
这个类里面的方法有什么功能?里面有很多方法,我们今天会一个一个的细学
2.API介绍和帮助文档的使用
什么是API?
就是程序员使用的字典。
当我们忘了一个类中有什么方法时,我们可以查看一下
当我们忘了一个方法怎么调用,是什么功能时,我们可以查看一下。
API的作用是什么?
帮助我们写代码的,可以减少记忆量。
API的使用步骤:
1,双击打开 CHM
回家的时候,下载一个chm阅读器
2,搜索类名
如果我只知道方法名,能搜搜吗?虽然可以,但是会把所有的类都展示出来,很不方便。
建议:
先搜类名,再在类中找对应的方法。
3,在右边的界面中分析每一个选项。
3.Scanner
next和nextLine的区别:
nextLine 可以接收一整行数据,遇到回车才停止。
next 可以接收字符串,遇到空格,制表符或者回车都停止。
nextLine方法不推荐使用
因为nextLine跟nextInt结合使用的时候会有一些小问题。
先使用nextInt再使用nextLine,有可能导致nextLine接收不到数据。
结论:
在基础班的时候:使用next 和 nextInt
等到就业班当我们学习了类型的转换,请一律使用nextLine
4,String
注意点:
1.只要是双引号引起来的,都是字符串。也就是String这个类的对象。//掌握
2.字符串本身是不可发生变化的。//掌握
String s1 = "aaa";
String s2 = "bbb";
String s3 = s1 + s2;
扩展:
String s1 = "aaa";
String s2 = "bbb";
String s3 = "ccc";
String s4 = s1 + s2 + s3;
//在这个拼接过程中,产生了多少个字符串? 5个
"aaa" "bbb" "aaabbb" "ccc" "aaabbbccc"
3.字符串效果上相当于字符数组,但底层原理是字节数组 //了解
5.String构造方法
掌握
String s = "abc";
其他方式熟悉,要知道有这么回事,别人在写的时候你要能看懂。因为在一些少部分情况下,还是需要用到的?
比如:我要把String s = "abc"; 这个字符串的第一个字符变成Q
String s = "abc";
char[] chars = s.toCharArray();//['a','b','c']
chars[0] = 'Q';
s = new String(chars);
6.String对象的特点
String s1 = new String("abc");
//只要是new出来都是在堆里面开辟了一个新的小空间。
String s2 = new String("abc");
虽然s1和s2都是abc,但是都是new出来了,在堆里面其实是有两个小空间。
每次都new会浪费内存空间,所以推荐直接赋值。
String s1 = "abc";
String s2 = "abc";
直接赋值会有一个检查机制。会看字符串常量池中有没有字符串abc
如果没有,创建一个新的abc,但是如果有,就会把原来的abc直接拿过来用。
结论:
new都是新的
直接赋值节省空间,因为有一个检查机制。
7.字符串的比较
比较方式:
==比较运算符
equals方法
== 号可以比较基本数据类型,也可以比较引用数据类型。
比较基本数据类型的时候,比较的是值。
比较引用数据类型的时候,比较的是地址值是否相等
String s1 = "abc";
String s2 = "abc";
s1 == s2//实际上比较的是地址值。
equals方法,不能比较基本数据类型,只能比较引用数据类型。
在Java中大多数类里面都有equals方法。
如果你能在API中找到方法,那么比较的是属性值。比如: String
如果你在API中找不到,那么比较的是地址值。比如: StringBuilder
8.字符串遍历的快捷方式
s.length().fori
注意点:
数组的长度:length
字符串的长度:length()
9.将数组按照指定格式拼接成字符串//熟悉一下代码即可。
字符串拼接完全就是按照 + 这个运算符进行的拼接
弊端:
字符串使用+运算符直接拼接,浪费内存空间。
最终版:
马上要学习的StringBuilder
好处:就可以在内存中减少不必要的消耗。
10.将字符串的内容进行反转//熟悉一下代码即可。
思路:倒着遍历。
也不是最终版本的代码。
弊端:
字符串使用+运算符直接拼接,浪费内存空间。
最终版:
马上要学习的StringBuilder
好处:就可以在内存中减少不必要的消耗。
且代码量也非常的少。
|
|