java_0814

StringBuffer:

1.线程安全的可变字符序列
2.一个类似于String的字符串缓冲区
某些方法调用可以改变字符串的的长度和内容
append()在字符串后面增加字符串,insert插入

StringBuffer类最长用的几个方法:
1.append(),直接在StringBuffer对象后面加字符串。
2.insert().在索引位置插入一个字符串,在位置前插的

String与StringBuffer转换:
1.通过StringBuffer的构造方法 newStringBuffer(String s)
2.buffer 通过调用toString方法输出String类型字符串

StringBuffer stringBuffer =new StringBuffer();//无参构造,默认给16个字符大小的缓冲区
        System.out.println(stringBuffer.capacity());    //16
        StringBuffer stringBuffer1 =new StringBuffer("你好帅");//带String类型的参数
        System.out.println(stringBuffer1.capacity());   //19  16+3、汉字也是一个字符


        StringBuffer a=stringBuffer1.append(2123);  //append返回StringBuff类型的值
        System.out.println(a.toString());//你好帅2123      //append在字符串后面可以加东西
        StringBuffer b =a.insert(0,"abc");//在索引位置插入需要的字符串
        System.out.println(b);  //插入索引前一个位置;//abc你好帅2123
        //根据索引区间删除索引0但是不删除尾;
        System.out.println(b.delete(0,4).toString());
      /*  b.toString().charAt(4);//根据索引获取字符;
        b.indexOf("a");//根据字符返回索引,不存在返回-1
        System.out.println(b.indexOf("2"));*/
        System.out.println(b.replace(0,1,"l").toString());
        

包装类

1.包装类的使用可以转换数据类型

byte short int long double float,boolean,char
Integer,Character 这两个包装类名字比较特别
Integer i = 5;包装
包装类型  int  ==》  Integer    char   ==> Character   其它的包装类型都是把首字母换成大写
                              
                                    包装类型的好处: 1. 使用包装类型的方法  2. 类型的相互转换    3. 集合里的数据类型都必须是引用数据类型


                                 Integer: 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段  
                                   
                                  构造方法: public Integer(int value)   
                                           public Integer(String s)   第二个构造 传递的参数   是 String类型, 但是必须是数字 
                                                          否则会出现这个异常 : java.lang.NumberFormatException
              
                                  常量: public static final int MAX_VALUE   获取int类型最大的值 
                                        public static final int MIN_VALUE   获取int类型最小的值      所有的包装类型都会有 这三个常量 
                                         public static final int SIZE    获取  int  类型的位数  

                                  常规的方法 :   public byte byteValue()       返回值是一个 byte  1.相互转换的时候不要超过最大的范围
                                                 public static int parseInt(String s) 静态方法:   把String转换成int类型的方法(最常用)
                                                 public static String toBinaryString(int i)   把int 类型转换成  二进制  
                                                 public static String toOctalString(int i)  把  int 类型转换成 八进制  
                                                 public static String toHexString(int i)    int 类转换为 16进制
                                                 public static Integer valueOf(int i)   把int 类型转换成包装类  

                                      String  int   Integer  (数据类型的相互装换) 

                                      String    转换成int 类型 的 三种方式 1. 通过构造 new Integer() 2.通过parseInt(String s)(常用)  3. valueOf(String str)
                                           
                                       int 类型转换  成String 类型   1.new String(int i)   2.拼接 +""(常用)   3. toString()方法

                                       int  类型转换成 Integer 类型  ==>  1. 通过构造方法  new Integer()  2. valueOf(int i)  

                                       ntege  转换成 int 类型   ==>    intValue()       直接赋值(Integer  i  = 10) 

                                     
                                        自动包装:  把基本数据类型转换成包装类 (穿了一层衣服)
                                        自动拆箱   把包装类转换成 基本数据类型(拖了这一层衣服)
                                       
                                         在 jdk 1.5 之后会自动包装,自动拆箱  ( 不用去管了)
                                       
                                          手动装箱  :Integer integer  = new Integer(10); 
                                          手动拆箱 : intValue();

基本用法

int a= Integer.valueOf(“123456”); 将String转成int类型;
int ab =Integer.parseInt(“2222”);
String是没有parseInt方法的
valueOf是打包,即返回包装类
intValue是拆包,返回基本数据类型。

正则表达式:

正则表达式:  1.就是一个字符串 (校验规则的字符串)   主要是做验证,把复杂的问题的简单化       坏处:记忆量,但不一定写的对
                                    
                                  语法: matches(String regex)  检验这个正则 与该字符串是否匹配

                                 字符类 
                                 [abc] a、b 或 c(简单类) 
                                [^abc] 任何字符,除了 a、b 或 c(否定) 
                             [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) 
                             [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集) 
                              [a-z&&[def]] d、e 或 f(交集) 
                              [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去) 
                              [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去) 

主要要记得StringBuffer可以用reverse方法反转序列,insert插入,append添加
String 的spilt()方法返回的是String的数组,toCharArray是返回字符数组 substring是获取部分字符串的
trim()String忽略字符串副本即空白。StringBuffer通过toString方法就可以转换,int类型转String直接加个空串,关于字符串的操作,记得要引入中间变量即空字符串。for循环中判断数组某个数是 直接引入count 比如每循环三次就 就引入中间变量;

 //练习1:匹配QQ号(长度为5-10位,纯数字组成,且不能以0开头)
22     public static boolean isQQ(String qq) {
23         //定义匹配规则:
24         String regex = "[1-9][0-9]{4,9}";
25         
26         //判断是否符合规则
27         boolean b = qq.matches(regex);
28         
29         return b;
在java中\需要用\来转义,所以写为\\d而不是\d
练习1:对字符串“张三@@@李四@@王五@茅台”进行切割,去掉@符号。

    分析:首先我们要去掉字符串中的若干个@符号,如果只有一个@符号我们可以用直接用@来匹配,但这里的@是不确定的,所以我们要用到规则中的:
     //描述切割规则:以若干@来切割
 9         String regex = "@+";		//如果没有多次的话 会只切割一次@ 数组长度只是减三
 但是如果是@+数组长度为4
10         
11         //切割后的字符串数组:
12         String[] ss = s.split(regex);
13         
14         for(String string:ss){
15             System.out.println(string);
16         }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值