首页技术文章正文

String字符串【黑马java培训】

更新时间:2019年07月26日 11时11分19秒 来源:黑马程序员论坛

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

推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 产品经理培训 Linux运维
大数据培训 智能机器人软件开发




传智播客是一家致力于培养高素质软件开发人才的科技公司“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。

传智播客从未停止思考

传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”

中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。

何为中高级程序员课程?

传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。




黑马程序员热门视频教程【点击播放】

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!