String
2015-12-04 18:29
239 查看
package Four; import java.util.Scanner; public class Test { public static void main(String[] args) { testString(); } //字符串对象一旦创建,内容就不能改变。 public static void testString() { String s1 = "qiwei"; //java将字符串直接量看作String对象。 String s2 = new String("qiwei"); //Sting变量存储的是对String对象的引用。String对象存储的才是字符串的值。 String s3 = "qiwei"; System.out.println(s1 == s3);//false,s1和s3尽管内容相同,但是不同的字符串对象。 //true,String对象是不可变的,同时又会频繁使用,java虚拟机为了提高效率并节约内存,对具有相同字符序列的字符串直接量使用同一实例。 System.out.println(s1 == s2); /* * 字符串替换与分隔 */ //将字符串中所有匹配的字符或子字符串替换成新的字符,然后返回新的字符串。 String s4 = s1.replace('i', 'h'); System.out.println(s4); //将字符串中第一个匹配的子字符串替换成新的子字符串, String s5 = s1.replaceFirst("i", "h"); System.out.println(s5); //将字符串中所有匹配的子字符串替换成新的子字符串, System.out.println(s1.replaceAll("qi", "ha")); //返回一个字符串数组,其中包含被分隔符分隔的子字符串集。 //????????????????????数组的输出 String[] arrayStrings = s1.split("w"); for (String s : arrayStrings) { System.out.print(s); } /* * 依照模式匹配、替换和分隔 * * 正则表达式是一个字符串,用于描述匹配一个字符串集的模式。 regular expression * 可能通过指定某个模式来匹配、替换或分隔字符串。 */ System.out.println(s1.equals("qiwei")); System.out.println(s1.matches("qiwei")); //描述的字符串模式是以qi开头后面紧跟任意0个或多个字符。 System.out.println(s1.matches("qi.*")); //\\d表示单个数字位,\\d{d}表示三个数字位。 System.out.println("440-02-4534".matches("\\d{3}-\\d{2}-\\d{4}")); //与正则表达式结合 String s = "a+b$#c".replaceAll("[$+#]", "hhhhhh"); System.out.println(s); //正则表达式[.,:;?]每个字符都是分隔符 String[] tokens = "java,C?C#,C++".split("[.,:;?]"); for (String t : tokens) { System.out.print(t); } System.out.println(); /* * 字符串与数组的转换 */ //字符串转换成数组 char[] chars = "qiwei".toCharArray(); //数组转换成字符串 //构造方法 String str = new String(new char[]{'q', 'i', 'w', 'e', 'i'}); System.out.println(str); //valueOf(char[]) String str1 = String.valueOf(new char[]{'w', 'e', 'i'}); System.out.println(str1); /* * 将字符和数值转换成字符串 */ //将字符串转换成Double.parseDouble(str3); //将数字转换成字符串,重载 的静态valueOf方法 String s6 = String.valueOf(4.1); System.out.println(s6); //格式化字符串 String s9 = String.format("%7.2f%6d%-4s", 45.556, 14, "avb"); System.out.println(s9); } }
相关文章推荐
- java项目怎么打成可运行的jar包
- sina微博之errorcode:20003
- 一键删除的EditText
- java中的tuple实现
- SDUT 3363 数据结构实验之图论七:驴友计划
- 南大软院大神养成计划——第十九天
- C# 字典排序Array.Sort
- Android中监听EditText文本输入
- hdu1159 Common Subsequence
- HDU 2578(二分查找)
- C++直接初始化和复制初始化2
- C++直接初始化和复制初始化1
- AsyncActivity异步加载网页
- 4.ROS在Pcduino上的安装
- android-studio开发NDK错误记录:bash: ../../build/intermediates/classes/debug: is a directory
- 码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清的区别
- C语言之字符串
- js 倒计时
- 安装hadoop-2.3.0-cdh5.1.2全过程
- 架构之路(八)从CurrentUser说起