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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马随行 初级黑马   /  2018-8-8 22:57  /  2146 人查看  /  3 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

1. String
        包:java.lang

        创建的两种方法:
                1. 直接将字面值字符串赋值给String对象
                        String s = "HelloWorld";
                2. 通过String类的构造方法,创建String对象
                        String s2 = new String("HelloWorld");
                        String s3 = new String(new char[3]);  //相当于把char类型数组,转成字符串
                        String s4 = new String(new byte[3]);  //相当于把byte类型数组,转成字符串
       
        特点:
                1. 字符串不可变;
                2. 数据共享
                3. 字符串的底层,就是一个char类型的数组。char类型数组的底层byte类型的数组  

        == :
                基本数据类型:比较数值
                引用数据类型:比较地址值

        注意:如果字面值字符串直接赋值,那么这个字符串在字符串常量池中。
              如果是new出来的字符串,在堆内存;
              如果想要比较两个字符串是否相等,那么就是equals方法比较,而不是用==号比较;
               
        常用方法:
                boolean equals(Object obj);    比较两个字符串是否完全相同
                        Object是所有引用数据类型的祖宗类!超级父类!
                boolean equalsIgnoreCase(String str);  比较两个字符串是否相同,不区分大小写
                int length();    返回字符串的字符个数
                String concat(String str):   就是字符串拼接  +  
                char charAt(int index):    返回指定索引处的字符
                int indexOf(String s);    返回指定字符串在原字符串的第一次出现的索引位置
                String substring(int index);     将原字符串从index索引开始截取,直到字符串末尾。并以新字符串形式返回
                String substring(int start,int end);   将原字符串从start索引开始,直到end索引结束,并以新字符串返回
                char[] toCharArray();   将字符串转成字符数组
                byte[] getBytes();      将字符串转成字节数组
                String replace(String oldStr,String newStr);   将原字符串中的oldStr,全部替换成newStr,并以新的字符串返回
                String[] split(String s);   按照指定字符对原字符串进行切割,并把切割后的元素存入字符串数组中返回
                toUpperCase()  将字符串英文转为大写
                toLowerCase()  将字符串英文转成小写

2. static 静态
        static 修饰成员变量的特点:【数据共享】
                在某个类中的成员变量,如果该变量需要被所有对象共享的话,那么就可以用static修饰;
        static 修饰成员方法的特点:可以通过【类名直接调用】,不需要创建对象
                当某个类的成员方法,方法体不需要使用到成员变量,却功能与对象无关,就可以使用静态修饰;

        静态方法通常什么时候使用呢?
                在工具类中;    数组工具类:全部都是操作数组的方法;

        静态的访问特点:
                静态可以访问静态成员,不能访问非静态成员;
                非静态随意玩;
                原因:
                        静态和非静态成员不是同一时期产物,静态要优先于非静态(对象)存在;

        类名.方法名();   还没有对象存在,而非静态的所有成员,都属于对象;


        static代码块:
                类中:
                        static {
                                //给静态成员变量赋值
                        }
        面试题:
                1. 构造代码块
                    {
                        /*
                            
                            就是抽取构造方法中的共性内容;
                            每调用构造方法的时候,都会执行一次;
                         */
                    }
                 2. 静态代码块
                    static {
                       
                        //给静态成员赋值的
                        //类加载进内存的时候,只执行一次    JDBC   加载数据库驱动
                    }
                 3. 局部代码块       
                    方法(){
                        {
                                //限制局部变量的生命周期
                        }
                    }
博哥友情赞助
   


3 个回复

倒序浏览
mx003 来自手机 高级黑马 2018-8-14 16:26:05
沙发
新手,看不懂,还是帮顶
回复 使用道具 举报
还是新手吧!努力吧!顶你。
回复 使用道具 举报
好的。学习。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马