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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luguoyuanf 中级黑马   /  2013-4-6 21:56  /  1531 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

6.3.3字符串常见功能:转换
     1) 将字符串转成字节数组
       public byte[] getBytes()
       此功能目前用不到,什么时候使用,在IO流中会用
       代码样式:
       Strings1 = 23;
       byte[]b = s1.getBytes();
       for(int x=0;x<b.length;x++){
       System.out.println(b[x]);
       }
     2) 将字符串转成字符数组
       public char[] toCharArray()
       将字符数组转成字符串怎么转  构造方法  new String(char[] ch)
       代码样式:
       Strings1 = asdfgg;
       char[]ch = s1.toCharArray();
       for(intx=0;x<ch.length;x++){
       System.out.println(ch[x]+ );
       }   //打印结果:as d f g g
     3) 将字符串进行大小写转换  原始字符串不变
       public StringtoUpperCase()转成大写
       publicString toLowerCase()转成小写
       代码样式:
       Strings1 = asdad;
       System.out.println(s1.toUpperCase());     //转换大写
       System.out.println(s1.toLowerCase());     //转换小写
     4) 将字符数组转成字符串
       public static String copyValueOf(char[] ch)
       代码样式:
       char[] ch11 ={'2','3','d'};
       Strings12 = String.copyValueOf(ch11);
       System.out.println(s12);
     5) 将基本数据类型转成字符串   int long float double charboolean  对象  
       public static String valueOf(基本类型)
       代码样式:
       inti = 50;      将整数类型转换成字符串
       Strings1 = String.valueOf(i);
       System.out.println(s1);
      
       double d = 50.22;       将double类型转换成字符串
       Stringd1 = String.valueOf(d);
       System.out.println(d1);
      
        public static String valueOf(char[] ch)   将字符数组转换成字符串
       char[] c1 = {'1','4','g'};
       Stringc2 = String.valueOf(c1);
       System.out.println(c2);

9 个回复

倒序浏览
6.3.4 字符串排序
     1) 原理:字符串本身不能排序,需要将字符串转换成数组,对数组进行排序再打印数组的结果.
     2) 步骤:
       (1) 字符串转成字符数组toCharArray().
       (2) 对字符数组进行排序.
       (3) 排序好的字符数组转换成字符串.
     3)代码样式:
           public class StringTest {
    publicstatic void main(String[] args) {
       Strings = "zqwertyu";
       char[]ch1 = toArray(s);
       char[]ch2 = sortChar(ch1);
       Strings1 = toString(ch2);
       System.out.println(s);
       System.out.println(s1);
    }
    publicstatic char[] toArray(String st) {
       returnst.toCharArray();
    }
    publicstatic char[] sortChar(char[] s) {
       for(int x = 0; x < s.length - 1; x++) {
           for(int y = x + 1; y < s.length; y++) {
              if(s[x] > s[y]) {
                  swap(s,x, y);
              }
           }
       }
       returns;
    }
    publicstatic void swap(char[] ch, int x, int y) {
       chartemp = ch[x];
       ch[x]= ch[y];
       ch[y]= temp;
    }
    publicstatic String toString(char[] ch) {
       returnString.valueOf(ch);
    }
}
   

回复 使用道具 举报
6.3.5 字符串常见功能:切割,替换,去空格
     1) 切割字符串  "shisongonly@163.com"
       public String[] split(String reg)  
       代码样式:
       String s1 = "192.168.0.1";
       String[] s2 = s1.split("\\.");
       for (int x=0 ;x<s2.length;x++){
       System.out.print(s2[x]+" ");
       }   打印结果:192 168 0 1
     2) 替换字符串
       public String replace(oldchar , newchar)
        代码样式:
       System.out.println();
        String s3 = "helloworld";
       String s4 = s3.replace('o', '0');
       System.out.print(s4);
       System.out.println();
       //打印结果 hell0w0rld(将字符串中所有的o都转换成0)
     3) 去掉字符串两端空格
       public String trim()
       代码样式:
       String s5 = " ad dd ";
       String s6 = s5.trim();
       System.out.println(s5);
       System.out.println(s6);
       打印结果:
        ad dd    //打印s5
      ad dd    //将前后空格都去除了,在登陆框中的用户名处常用
    4) 按照字典顺序比较字符串
       public int compareTo(String)
       代码样式:
       String s7 = "asdasd";
       String s8 = "asdasdasd";
       System.out.println(s7.compareTo(s8));
       //打印结果:-3
       //相当于s7长度-s8长度,所以这里等于-3
   

回复 使用道具 举报
6.3.6 StringBuffer字符串缓冲区
     1) 其实这个对象,就是一个容器,我们将数据,方到这个容器中,进行管理(可以理解为面盆原理)
     2)  StringBuffer中的添加字符串的方法:
        append() 在字符串后面添加内容
        代码样式:
        StringBuffer work = new StringBuffer();
        //方法调用链,链式编程
        work.append("abc").append(false);
        insert(index,String)指定位置插入字符串
        代码样式:
        String work = asdd;
        work.setCharAt(2, 'A');
        System.out.println(work);
        //打印结果:asAdd(第2角标位置插入A)
        setCharAt(index, char)修改指定位置上的字符
        代码样式:
       代码样式:
        String work = asdd;
        work.setCharAt(2, 'A');
        System.out.println(work);
        //打印结果:asAd(第2角标位置修改为A)
        delete(start , end) 删除区间内的字符串
       代码样式:
        String work = asdd;
        work.delete(1,3);
        System.out.println(work);
        //打印结果:ad(去头部去尾)
        deleteCharAt(index) 删除指定位置上的字符
        代码样式:
        String work = asdd;
        work.deleteCharAt(2);
        System.out.println(work);
        //打印结果:asd

回复 使用道具 举报
6.3.7 StringBuffer
      1)String类是否能被继承?
         不能,因为String类被final修饰了
      2)StringBufferString的区别:
         StringBuffer是一个字符串的缓冲区,String是一个描述字符串的类.但是,StringBuffer缓冲区中数据可以被修改的,在效率上明显高于String.日后开发中,建议使用StringBuffer
      3) StringBuffer 数组有什么区别
          数组的长度是固定的
          StringBuffer的长度是可变的
         数组中的数据类型是固定的
          StringBuffer中可以接受任意类型参数,但结果都变成了字符串
   6.3.8 StringBuilder
      1)StringBuilderStringBuffer区别:
         StringBuffer是线程安全的
StringBuilder 线程不安全
          线程安全的,往往效率很低
          线程不安全的,往往效率高
          我们一般开发程序,都是单线程,建议使用效率高的,不安全的StringBuilder
          要是开发多线程的程序,建议使用线程安全的,但是效率低点的StringBuffer

回复 使用道具 举报
luguoyuanf 发表于 2013-4-6 22:00
6.3.7 StringBuffer       1)String类是否能被继承?         不能,因为String类被final修饰了      2)Strin ...

:handshake  奋头
回复 使用道具 举报
奋斗!!!!
回复 使用道具 举报
mk7 中级黑马 2013-4-7 10:10:58
8#
学习的榜样
回复 使用道具 举报
洪运成 发表于 2013-4-7 10:01
奋斗!!!!

加油,一起奋斗!
回复 使用道具 举报
mk7 发表于 2013-4-7 10:10
学习的榜样

互相学习:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马