黑马程序员技术交流社区

标题: java基础核心+Scanner类 +String类如何熟练把握,个人经验 [打印本页]

作者: 鬼魅_vYpyK    时间: 2015-12-14 16:45
标题: java基础核心+Scanner类 +String类如何熟练把握,个人经验
多练,反复的练习,反复的敲,就会熟练的掌握
转换
Public String();空构造
Public String(byte[] bytes);把字节数组转换成字符串
Public String(byte[] bytes,int index,int length);把字节数组中的一部转换成字符串
Public String(char[] value);  把字符数组转换成字符串
Public String(char[] value,int index,int count);把字符数组中的一部分转换成字符串
Public String(string,original);   把字符串常量转换成字符串
//public String();空构造
                String s=new String();
                System.out.println(s);
               
                //public String(byte(),bytes);把字节数组转换成字符串
                byte[] arr1={97,98,99};
                String s1=new String(arr1);
                System.out.println(s1);
               
                //public String(byte[],bytes,int index,int length);把指定z字节数组转换成字符串--把字节数组的一部分转成字符串
                byte[] arr2={97,98,99};
                String s2=new String(arr2,1,2);
                System.out.println(s2);
               
                //public String(char[] value);  把字符数组转换成字符串
                char[] arr3={97,98,99};
                String s3=new String(arr3);
                System.out.println(s3);
               
                //public String(char[] value,int index,int count);把字符数组的一部分转换成字符串
                char[] arr4={97,98,99};
                String s4=new String(arr4,1,2);
                System.out.println(s4);
               
                //public String(String,original);   把字符串常量转换成字符串
                String s5=new String("abc");
                System.out.println(s5);
                */





判断功能
String已经将equals方法进行复写则传的是对象
//面试题关于==跟equals的异同
        //两者都是做比较的,返回值都是Boolean类型
        //==是比较运算符,既可以比较引用数据类型,又可以比较基本数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
        //equals是一个方法,,只能比较引用数据类型,所有的对象都会继承object类,如果没有重写object类中的equals方法,equals方法跟==比较的数据类型没有区别
        //重写equals方法以后,比较的是对象的属性值
       
                String s1="abc";
                String s2="abc";
                System.out.println(s1==s2);
                System.out.println(s1.equals(s2));
                //下面代码在内存创建了几个对象?
                String s3=new String("abc");   //在内存中创建了两个对象
                //判断定义的String类型的s4与s5是否相等
                String s4=new String("abc");//记录的是对内存中对象的地址值
                String s5="abc";//记录的是常量池中的地址值
                System.out.println(s4==s5);  //false
                System.out.println(s4.equals(s5));     //true
                */
                //判断String中的s6跟s8是否相等
                String s6="ab";
                String s7="abc";
                String s8=s6+"c";
                System.out.println(s7==s8);   //false
                System.out.println(s7.equals(s8));//true
               
                //判断String中的s1  s2是否相等
                String s1="a"+"b"+"c";//java 中有常量优化机制s1="abc";
                String s2="abc";
                System.out.println(s1==s2);  //true
                System.out.println(s1.equals(s2));  //true
//boolean isEmpty();判断字符串是否为空
                //""与null的区别,""是字符串常量,同时也是String类的对象,所以可以调用String类中的方法
                //null是空常量,不能调用任何的方法,所以会出现空指针异常的现象,null常量可以给任意的引用数据类型赋值
               
                String s1="abc";
                String s2="";
                String s3=null;
                System.out.println(s1.isEmpty());
                System.out.println(s2.isEmpty());
        //  System.out.println(s3.isEmpty());   //报错空指针异常
/*                比较方法
                boolean isEqual();判断字符串是否为空
                boolean equals(Object obj);比较字符串的内容是否相等,区分大小写
                boolean equalsIgnoreCase(String str);比较字符串的内容是否相等,不区分大小写
                boolean contains(String str);判断大字符串中是否包含小的字符串
                boolean startsWith(String str);判断某字符串中是否包含某个指定的字符串
                boolean endsWith(String str);判断某字符串中是否是以某指定的字符串结尾的
                */
               
                //boolean equals(Object obj);比较字符串的内容是否相等,区分大小写
        /*        String s1="woaizhongguo";
                String s2="woaizhongguo";
                String s3="woAIZHONGGUO";
                System.out.println(s1.equals(s2));    //ture
                System.out.println(s1.equals(s3));     //false
                */
                //boolean equalsIgnoreCase(String str);比较字符串中的内容是否相等,忽略大小写
        /*        String s1="woaizhongguo";
                String s2="woaizhongguo";
                String s3="woAIZHONGGUO";
                System.out.println(s1.equalsIgnoreCase(s2));    //ture
                System.out.println(s1.equalsIgnoreCase(s3));     //ture
                */               
                //boolean contains(String str)判断大字符串中是否包含小字符串
                /*String s1="woaizhongguo,nigenwoyiyangaiguo";
                String s2="woaizhongguo";
                String s3="woAIZHONGGUO";
                System.out.println(s1.contains(s2));     //ture
                System.out.println(s1.contains(s3));     //false
                */
                //boolean startsWith(String str);判断字符串是否是以指定的字符串开头的
                /*String s1="woai";
                String s2="woaizhongguo";
                String s3="niAIZHONGGUO";
                System.out.println(s2.startsWith(s1));      //ture
                System.out.println(s1.startsWith(s3));      //false
                */
               
                //boolean endsWith(String str);判断字符是否是有某个指定的字符串结尾的
        /*        String s1="zhongguo";
                String s2="woaizhongguo";
                String s3="ZHONGGUO";
                System.out.println(s2.endsWith(s1));    //ture
                System.out.println(s1.endsWith(s3));      //false
                */
       

作者: 孙志明    时间: 2015-12-14 17:30
顶你!!!加油

作者: hyl    时间: 2015-12-14 19:43
API中有详细的解释,可以查看。
作者: LSD-ZWH    时间: 2015-12-14 23:05
顶一个!!!!
作者: 鬼魅_vYpyK    时间: 2015-12-16 22:01
hyl 发表于 2015-12-14 19:43
API中有详细的解释,可以查看。

恩恩是的呢!学完发现记不住可以去API中查找
作者: 隔壁老猫    时间: 2015-12-16 23:09
赞  学习了
作者: ztg    时间: 2015-12-16 23:44
牛牛,希望大家多多交流
作者: 小妖精    时间: 2015-12-16 23:48
加油吧,骚年
作者: 罗宁    时间: 2015-12-17 11:06

API中有详细的解释,可以查看
作者: 唐洪超    时间: 2015-12-17 14:17
不错,每个人都有不同见解
作者: 洪志豪1994    时间: 2015-12-17 20:05
很详细,感谢楼主分享!
作者: sooul    时间: 2015-12-17 21:40
刚学到,来看看
作者: 我有一个邮箱了    时间: 2015-12-17 21:49
感觉很厉害,赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2