Java学习笔记---字符串和文本I/O
2015-10-12 22:58
501 查看
学习资料:《java语言程序设计基础篇》
java.lang.* 是默认导入的包
第9章 字符串和文本I/O
对String的处理方法是来自包 java.lang.Stringjava.lang.* 是默认导入的包
9.2 字符串类String
创建字符串
String s1 = new String("Welcome to Java"); //创建新的对象 给变量分配新空间,存储字符串 String s2 = "Welcome to Java" ; //引用该字符串,不会分配新空间
字符串比较
以上述两个字符串做例子
s1 == s2; //false 2个不同的对象 s1.equals(s2); //true 比较字符串 s1 和 s2 的值是否相同,而非比较对象 s1.compareTo(s2); //按字典序(即以统一码的顺序)比较s1 和 s2 的大小;若返回值为0,则表示2个字符串的值相同
字符串长度、字符以及组合字符串
string.length(); //返回字符串的长度 有括号 array.length; //返回数组的长度 无括号 s.charAt(index); //用于提取字符串中的某个特定字符,index的取值范围在 0~s.length()-1 String s3 = s1.concat(s2); //将字符串s1和s2连接构成s3 然而现在大多使用 + String s3 = s1 + s2 ; //等价于上述语句
获取子串
String new_message = message.substring(0,11);//返回字符串的前11个字符,构成新的字符串
字符串的转换、替换和分隔
"Welcome".toLowerCase() //返回一个新的字符串 welcome "Welcome".toUpperCase() //返回一个新的字符串 WELCOME "Welcome".trim(); //返回一个新的字符串 Welcome "Welcome".replace('e','A'); //返回一个新的字符串 WAlcomA 可使用正则表达式 "welcome".replaceFirst('e','AB')//返回一个新的字符串 WABlcome 可使用正则表达式 String[] tokens = "Java#HTML#Perl".split("#"); //返回["Java" , "HTML" ,"Per1"] 可使用正则表达式
依照模式匹配、替换和分隔
"Java is fun".matches("Java.*"); //true 可使用正则表达式 "Welcome to Java".indexOf('o'); //return 4 返回第一个匹配到的 o 的位置 "Welcome to Java".lastIndexOf('o'); //return 9 返回最后一个匹配到的 o 的位置
字符串与数组之间的转换
char[] chars = "Java".toCharArray(); //将字符串转换成数组 char[] dst = {'J','A','V','A','1','3','0','1'}; "CS3720".getChars(2,6,dst,4); //下标从2到6-1的子串"3720"复制到字符数组dst中下标从4开始的位置 dst //dst的值变为 {'J','A','V','A','3','7','2','0'} String str = new String(new char[]{'J','A','V','A'});//将字符数组转化成字符串 String str = String.valueOf(new char[]{'J','A','V','A'});//等同于上述语句
字符和数字的相互转换
String.valueOf(5.44) //将double值转化成String Double.parseDouble(str) //将String的值转换成double Integer.parseInt(str) //将String的值转换成int
格式化字符串
String.format(format,item1,item2,……,itemk); //格式化字符串 String s = String.format("%5.2f---%3.1f",45.556,45.556); System.out.print(s); //输出结果45.56---45.6
相关文章推荐
- Java面向对象主要知识点总结以及简单项目心得
- Struts2的默认命名空间和根命名空间
- javaweb学习笔记之关于分层结构的初步理解
- 【转】Predicate和Consumer接口– Java 8中java.util.function包下的接口
- 韩顺平 java 第39讲 线程
- java并发编程实践--原子变量、volatile、synchornized
- java内部类
- Java中的值传递与引用传递
- Mac 10.11 java se6 不兼容问题
- Struts2 ModelDriven模型驱动的使用
- 关于spring 3.0.5的<mvc:resources> 标签的使用
- java实现二叉树的深度优先遍历和广度优先遍历
- eclipse安装Genymotion插件
- Struts2默认Action处理类
- MyEclipse2014a 最简单最有效的汉化方法---eclipse和其他版本通用
- Eclipse XML/HTML语法高亮方法
- myeclipse10安装没有common,分别装到了两个文件夹
- java笔试题(1)基础知识
- Java中的序列化与反序列化的深入理解
- spring读写分离 - 事务注解篇