正则表达式: 负责的字符串匹配处理规则,应用广泛. 学习建议: 1 要能够读懂"正则表达式" 2 能够写出简单的"正则表达式" 3 不要过多的分配学习时间! 可以应用于: java grep vi 1 字符集: [1234] 表示 1,2,3,4 之一 [^12] 表示除了 1,2 [1-5] 表示 1,4,5 [a-f] 表示 a-f 之间的 [0-9a-fA-F] 表示:一个16进制字符 预定义字符集: d : [0-9] . : 任意字符 w: 单词字符 [0-9a-zA-Z_] s: 匹配空白: 2 {m,n} 数词 {n} {m,n} ? : {0,1} + : {1,} * : {0,} 3 ^ 开头 $ 结尾 邮政编码: ^[0-9][0-9][0-9][0-9][0-9][0-9]$ ^[0-9]{6}$ ^d{6}$ 用户名规则: ^w{8,10}$ 电话号: +86 13912345678 ^(+86)?s?d{11}$ 身份证号码: ^d{15}(d{2}[0-9xX])?$ 一个点的坐标: ^d+(,s*|s+)d+$ 3,2 3,2 3 2 3 2 日期: 2011-01-30 String 对正则表达式的支持 .matches() 匹配正则表达式 .split("[,s|]") 切分字符串为字符串数组 .replaceAll() 案例: 编写方法,实现从控制台读取点坐标,并且解析返回Point对象 如果用户输入格式错误就重新输入. 提示: 使用 matches() 验证坐标规则 使用 split() 切分坐标 解析整数使用:Integer.parseInt(String str) -> int
StringBuffer 和 StringBuilder 1 StringBuilder 是变长字符序列 2 StringBuilder 方法:append,insert ... 都返回 当前 StringBuilder 对象本身的引用。 3 如果软件需要大量字符串处理时候建议使用StringBuilder 4 String s = s1+s2; Java实际上才是如下代码运行: String s = new StringBuilder(s1) .append(s2).toString(); String s = s1+s2+s3+s4; 被优化为 String s = new StringBuilder(s1) .append(s2).append(s3).append(s4).toString(); s+="a";//会产生两个新对象(StringBuilder,String) s+="a";//会产生两个新对象 StringBuilder buf=new StringBuilder(); buf.append("a"); buf.append("a"); 5 StringBuffer 和 StringBuilder API几乎一样! StringBuffer 是java早期提供的,速度稍慢,线程安全 StringBuilder 是Java5 以后提供的,速度快,非线程安全
java中的包装类 1 包装类可以把基本类型包装为对象类型 2 有八种包装类 int Integer long Long byte Byte short Short float Float double Double boolean Boolean char Character 3 包装类提供了 对应数据类型的工具方法 Integer.toHexString() Integer.toString(int) Integer.toBinaryString() Integer.parstInt(String) "3f"->int Integer.parstInt(String,int) "2.718" -> 2.718 Double.parseDouble(String str); 自动包装(auto boxing / unboxing)(java5 以后可以): Integer i = 2;// i=new Integer(2); Object o = 3.5; System.out.println(o instanceof Double); //true int a = i+1;// a = i.intValue() + 1; 注意 1 包装类是final的类 2 包装类对象是不变的,与字符串类似(不变模式) Integer a = 1; Integer b = 2; Integer c = a+b; 3 包装类覆盖了 toString equals hashCode
//案例: 控制台输入一串字符串 // 转义输出为uxxxx 的形式,英文不处理 // 如: "A中" -> "Au4e2d" 要求包装方法: 输入为原始字符串,返回转义字符串 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|