黑马程序员技术交流社区

标题: 学到String和StringBuffer的同学们。。。不怕后悔就不要进来 [打印本页]

作者: 黑马-雷钊    时间: 2013-5-11 18:37
标题: 学到String和StringBuffer的同学们。。。不怕后悔就不要进来
本帖最后由 黑马-雷钊 于 2013-5-11 18:56 编辑

。。。。合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。。。。
String判断常用方法:
public class StringJudge {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String s1 = "ashfnmfhiuan,mhnfiun,sdfhniauhdxjsf";
        String s2 = "ashfnmfhi";
        boolean b = s1.equals(s2);//判断两个字符串的内容是否相同,复写了object中的方法。本来equals()是用来比较地址值的
        b = s1.equalsIgnoreCase(s2);//判断两个字符串的内容是否相同。忽略大小写。
        b = s1.contains(s2);//判断一个字符串s1是否包含了另一个字符串s2的全部内容。
        b = s1.startsWith(s2);//判断一个字符串s1是否以另一个字符串整体s2开头。
        b = s1.endsWith(s2);//判断一个字符串s1是否以另一个字符串整体s2结尾。
        b = s1.isEmpty();//判断一个字符串的长度是否为0,也就是判断一个字符串是否有内容。
        System.out.println(b);
   
    }

}


String获取常用方法:

public class StringGain {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String s1 = new String ("asfhziuashfkhsiufhmjhzifuhmhif");
        int a = s1.length();//获取字符串长度,需要用int数来接
        char c1 = s1.charAt(2);//根据角标,获取字符串对应的角标的字符。需要用char来接
        a = s1.indexOf('f');//根据字符,获取字符串中第一次出现该字符的角标。需要用int数来接
        a = s1.indexOf('i', 5);//根据字符和起点。获取自起点开始字符串中第一次出现该字符的角标。需要用int数来接
        a = s1.indexOf("fh");//根据字符串,获取字符串中第一次出现该字符串的角标。需要用int数来接
        a = s1.indexOf("zi" , 10 );//根据字符串和起点,获取自起点开始,字符串中第一次出现该字符串的角标,需要用int数来接
        a = s1.lastIndexOf('f');//跟indexOf一样,只不过是最后一次出现的位置。需要用int数来接
        a = s1.lastIndexOf('f' , 10);//跟indexOf一样,只不过是最后一次出现的位置。需要用int数来接
        a = s1.lastIndexOf("zi");//跟indexOf一样,只不过是最后一次出现的位置。需要用int数来接
        a = s1.lastIndexOf("zi" , 10);//跟indexOf一样,只不过是最后一次出现的位置。需要用int数来接
        //因为字符串一旦被定义,就是不能被改变的。所以修改过后的字符串要重新开辟空间进行存储。
        String s2 = s1.substring(3);//根据角标,获取自角标开始后面全部的字符串,需要String来存储
        s2 = s1.substring(2 , s1.length());//根据起点和终点。获取起点角标到终点角标中间的全部字符串。包含头不包含尾。需要String存储
        System.out.println(s2);
    }

}




String转换常用方法:

public class StringShift {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String s1 = "fhlsndSADhoiads";
        byte[] arr = s1.getBytes();//将字符串转换成字节数组。io流中会用到。
        char[] arr2 = s1.toCharArray();//将字符串转换成字符数组。字符数组可以直接输出。不用遍历
        String s2 = String.copyValueOf(arr2);//将字符数组或者数组中的一部分转成字符串。这个方法是静态的,可以用类名调用。也可以用对象调用。最后的值用字符串存储
         s2 = String.valueOf(23);//将基本数据类型转成字符串,方法为静态。最后用String来接。(了解即可)
         s2 = String.valueOf('a');//将基本数据类型转成字符串,方法为静态。最后用String来接。(了解即可)
         s2 = String.valueOf(true);//将基本数据类型转成字符串,方法为静态。最后用String来接。(了解即可)
        s2 = String.valueOf(s2);//将对象转换成字符串。方法为静态。最后用String来接。(了解即可)
         s2 = s1.toLowerCase();//将字符串中所有数据全部转成小写。最后用String来接。
        s2 = s1.toUpperCase();//将字符串中所有数据全部转成大写。最后用String来接。
         s2 = "s1".concat("s2");//将字符串连接起来。等同于s2 = "a1"+ "s2";。
         System.out.println(s2);
        
    }

}


String切割和替换:

public class StringInsice {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String s1 = "      jhfsj  hfn,hfo  asfhasfsh  sifa      ";
        String s5 = "ac";
        String s6 = "ab";
        String s2 = s1.replace("fs", "sb");//字符串替换。将后面的字符串覆盖掉前面的字符串。前面的字符串有几个就替换几个。最后用String来接
        s2 = s1.replace('j', 's');//字符替换。将后面的字符覆盖掉前面的字符。前面的字符有几个覆盖几个。最后用String接。
        String[] s3 = s1.split("  ");//字符串切割。以括号里字符串为切割线。切割完后字符串将分为多段。最后用String[]接收。
        s2 = s1.trim();//去除字符串两端的空格。最后用String接。
        int x = s5.compareTo(s6);//比较。按照26个字母的英文顺序比较。小于则返回-1,等于则返回0,大于则大多少位返回多少。第一位相等比第二位。以此类推。最后用int数接收
        System.out.println(x);

    }

}



StringBuffer中的增删改查:

public class StringBufferDemo2 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        StringBuffer s1 =new StringBuffer("sjfkjfhiuasdjhfi");
        s1.append(21);//增加,除了int和short基本数据类型都可以加
        s1.delete(1, 3);//删除,包含头不包含尾
        s1.deleteCharAt(0);//删除,传什么就删除对应的角标
        s1.insert(3, "anhkh");//替换,一次替换一个字符串
        s1.replace( 0, 3 , "abcsadasd");//修改。传两个角标,中间用字符串修改
        s1.setCharAt(0, 'z');//替换,一次替换一个字符.无返回类型
        s1.reverse();//反转,将字符串倒过来
        int a = s1.indexOf("fh");//查找字符串的角标。需要定义一个int数来接
        a = s1.lastIndexOf("fh");//从后往前查字符串的角标,也需要定义一个int数来接
        System.out.println(a);
    }

}



以上都是本人刚才归类好的。。。全都是和String类和StringBuffer有关的。。
纯手打。。。希望对大家能有帮助。。。

                                                                                                                                                       小雷
看到这的同学给个小小的回复好吗?这不是对我的尊重。而是对劳动的一种尊重。意义高于一切。
。。。。合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。。。。


作者: 黑马-雷钊    时间: 2013-5-11 18:38
以上代码代价可以复制到IDE下查看。。。全都是可以运行的。只需要移动输出语句配合注释看立马就能理解对应的方法的作用
作者: Jacky_Chen1990    时间: 2013-5-11 18:45
同楼上。谢谢楼主!
作者: 黑马-雷钊    时间: 2013-5-11 18:46
Jacky_Chen1990 发表于 2013-5-11 18:45
同楼上。谢谢楼主!

嘿嘿,今天下午纯手打打出来的,能帮到你就好。一起努力!!!
作者: 黑马-雷钊    时间: 2013-5-11 18:47
尹桥印 发表于 2013-5-11 18:43
好东西我都会收藏的

嘿嘿,今天下午纯手打打出来的,一起努力!!!
作者: 小陈期待逆袭    时间: 2013-5-11 18:47
又涨姿势了收藏。
作者: 黑马-雷钊    时间: 2013-5-11 18:49
小陈期待逆袭 发表于 2013-5-11 18:47
又涨姿势了收藏。

嘿嘿。。能帮到大家就好哦。。也算没白费我一下午写代码的时间
作者: 神之梦    时间: 2013-5-11 19:20
给楼主顶个,虽然看不懂
作者: 黑马-雷钊    时间: 2013-5-11 19:26
神之梦 发表于 2013-5-11 19:20
给楼主顶个,虽然看不懂

嘿嘿  要是以后准备学这个看懂它只是时间问题哦   谢谢捧场了  :handshake
作者: 刘茂林    时间: 2013-5-11 21:18
东西不错呵呵 。。省的我整理了
作者: 张旺达    时间: 2013-5-11 21:36
           嗯,看下
作者: 周朝    时间: 2013-5-11 21:47
哇~总结的好精辟啊~正需要呢
作者: 孤独的鸟人    时间: 2013-5-12 08:14
果断顶起了.....
作者: 曹德君    时间: 2013-5-12 10:13
好不错,应该加一分。
作者: 陈雪琪    时间: 2013-5-12 11:39
楼主很棒!我的笔记都没这么详细~
作者: 曹睿翔    时间: 2013-5-12 12:35
标题党,你可以去领我的任务了,有回报
作者: 梁海君    时间: 2013-5-12 12:49
感谢分享~

作者: 黑马-雷钊    时间: 2013-5-12 17:37
陈雪琪 发表于 2013-5-12 11:39
楼主很棒!我的笔记都没这么详细~

嘿嘿   我还有很多呢  以后我会每天把自己写的给大家分享。。。
作者: 黑马-雷钊    时间: 2013-5-12 17:37
孤独的鸟人 发表于 2013-5-12 08:14
果断顶起了.....

谢谢。。。对大家有用就好。
作者: 黑马-雷钊    时间: 2013-5-12 17:38
周朝 发表于 2013-5-11 21:47
哇~总结的好精辟啊~正需要呢

恩  对大家有用就好   谢谢支持
作者: 黑马-雷钊    时间: 2013-5-12 17:38
刘茂林 发表于 2013-5-11 21:18
东西不错呵呵 。。省的我整理了

恩  对大家有用就好   谢谢支持
作者: 黑马-雷钊    时间: 2013-5-12 17:39
曹睿翔 发表于 2013-5-12 12:35
标题党,你可以去领我的任务了,有回报

嘿嘿  晚上再看吧   先把今天学的代码整理下
作者: 8047107    时间: 2013-5-12 22:59
版主是不是应该给个高亮~?
作者: 黑马-李嘉欣    时间: 2013-5-13 22:42
不错呦~
作者: 381946250    时间: 2013-5-14 08:29
好东西,收藏啦!
作者: 曾林魁    时间: 2013-5-28 07:10
确实是好东西
作者: yepat    时间: 2013-5-28 07:59
这个必须要搜藏一下

作者: Just_Only    时间: 2013-5-28 13:46
不错  总结的不错的
作者: 陌上尘    时间: 2013-9-17 14:01
学习了,谢谢~
作者: miedongdong    时间: 2013-10-30 23:41
谢谢整理,也学习一下整理的方法




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