目前整个基础班第一阶段的课程即将进入尾声,其实这半个月下来大大小小的知识点多的自己都数不过来,个人感觉最为麻烦难以掌握的就是面向对象了。因为从这里开始,很多内容不再是以前直接拿过来用那么简单了。一个字符串连接符号+号,以前就是直接拿过来用,+号在特定的语句里是连接字符串的。但是怎么连的,是否是最好的字符串连接方式,都不知道。始终处于一个只知其然的阶段,其所以然不清楚了。但是从面向对象开始,慢慢开始了解到原来字符串最佳的连接方式不是+号,而是StringBuilder的运用。StringBuilder的优势在于它的内容可以任意添加删减,最大的优势是对于内存的占用问题。
在程序过程中,单独一个字符串的使用的时候,它的存储地址在方法区里的常量池里面。“a”+“b”+“c”这三个字符使用+号串联,需要在常量池中开拓四五个空间才能完成这行代码。但是StringBuilder只需要开拓一个空间就可以了。
从面向对象开始最先接触到的就是String类了,因为刚开始学,同时冒出二十多个知识点,整个人一点都不好了。只能用单纯的笔记来记忆了。而且这笔记还不是课堂自己做的。是课后摘抄同学的。简直是要命哦。下面我将简单的列举一下String类的功能。
String类的判断功能:
boolean equals(Object obj):比较字符串的内容是否相同
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str):判断字符串对象是否以指定的str开头
boolean endsWith(String str):判断字符串对象是否以指定的str结尾
String类的获取功能:
int length():获取字符串的长度,其实也就是字符个数
char charAt(int index):获取指定索引处的字符
int indexOf(String str):获取str在字符串对象中第一次出现的索引
String substring(int start):从start开始截取字符串
String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
String类的转换功能
char[] toCharArray():把字符串转换为字符数组
String toLowerCase():把字符串转换为小写字符串
String toUpperCase():把字符串转换为大写字符串
这里面每个小知识点都不难理解。但是难的是太多,记不住。导师也提过,这个东西不能死记硬背,因为以后有几十个这样的类,每个类中又有十几个各种各样的功能。一个一个记?只怕记住了,以后也不用码代码了,直接去参加最强大脑好了。所以只能考理解,那么问题又来了,如何理解呢?没有一个准确的法子,因为每个人的方式都不一样。像我这样十窍打通了九窍的人来说,还是一窍不通,以前好歹还能做些题目,慢慢锻炼了一些逻辑思维。但是现在一拿到题,从哪下手比较好呢,这个多知识点,用哪一个点做题目最合适?因为不再是以前的拿来主义了,要知其然还要知其所以然。整个过程非常的痛苦。现在恐怕已经进入了一个所谓的瓶颈,因为没有记,纯粹的看到题目去想,去判断,去选择合适的方法来编写代码。对了,还要贼鸡儿尴尬的问题就是英语确实渣,渣到误以为remove是查询筛选的意思。活生生的把自己给坑了。
不说了不说了,要去背单词刷题目去了。以后有机会再来更新吧。就酱~
|
|