A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大蓝鲸Java 中级黑马   /  2019-6-14 13:37  /  714 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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
                好处:就可以在内存中减少不必要的消耗。
                且代码量也非常的少。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马