黑马程序员--- 字符串的重要性, String类的定义方法, StringBuffer类的构造方法
2014-11-12 20:55
357 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
1. 字符串的重要性
字符串程序中就是一个"",表示了大多数现实生活中的数据形式
电商:订单(单号,下单时间,收货人,地址,发票抬头,电话,商品的名字)
商品:库存,介绍,使用方法....
""字符串是所有的系统中必须局部的一种数据类型。对于字符串的处理,表现出一个程序人员的基本功
要求做到:基础结束的时候,做到,使用字符串,不需要查询API文档
2. 字符串的特殊对象
对于字符串这个对象,Java使用类进行描述,String类。在程序中只要你写上一个双引号,表示一个对象 String name = "lisi" new Person....
System.out.println("hello world"); ""
特点一:不需要new 的对象,直接写双引号,就表示一个字符串对象
特点二:字符串是常量,一旦创建,不能改变
3. String类的定义方法
第一种 String s= "abc";
第二种 String s1= new String("abc"); //创建字符串,使用的是String类的构造器
区别,第一种创建一个对象s直接指向对象"abc"
第二种创建两个对象,对象"abc",对象 newString() 变量s1指向的是new String()
s == s1 结果是false 指向不同的对象
s.equals(s1)结果是true,String类重写equals比较字符串的具体内容,不是地址
4. 字符串String类的原理
看看String类的原始代码:底层实现是什么:字符串底层就是一个字符数组 char[]
"abcd" 4个长度的char数组 被final锁定
输出字符串的时候,其实输出的就是那个字符数组,但是输出语句println对字符串数组直接遍历,看到的是每个字符,不是地址
5. String类的构造方法
l 空参数构造, newString()
l 将字节数组变成字符串new String(字节数组 byte[] bytes),查询编码表,必须查
l 将字节数组一部分变成字符串new String(字节数组,int,int)第一个int是开始下标,第二个int是获取几个,注意的数组的长度,防止越界异常
l 将字符数组转成字符串new String(字符数组 char[] ch)
l 将字符数组一部分转成字符串new String(字符数组,int,int) 一个int是开始下标,第二个int是获取几个,注意的数组的长度,防止越界异常
6. String的判断方法 -- 都是布尔类型
l 判断两个字符串是否完全相等,重写Object类的equals,两个字符串完全相等,返回真,有一点不同,返回假 public boolean equals(Objectobj)
l 判断两个字符串是否相等,忽略大小写,boolean equalsIgnoreCase(String s)
l 判断一个字符串是否以另一个字符串开头,如果是返回真 boolean startsWith(String s)
l 判断一个字符串是否以另一个字符串结尾,如果是返回真 boolean endsWith(String s)
l 判断一个字符中是否有字符,如果有返回假,没有字符返回真,判断是不是一个空串"" booleanisEmpty() 开始于JDK1.6(包含)以后版本
7. String类的获取方法
l 指定下标,返回这个下标上的单个字符 char charAt(int index)传递索引,返回这个索引上字符,注意越界异常
l 指定字符,找这个字符在字符串中第一次出现的下标 int indexOf(char ch),凡是返回下标的功能,如果没有找到,返回负数
l 指定字符,找这个字符在字符串中第一次出现的下标 int indexOf(char ch,intformIndex),指定开始查找的位置索引
l 指定字符串,找字符串在另一个字符串中第一次出现的下标 int indexOf(String s)。
l 指定字符串,找字符串在另一个字符串中第一次出现的下标 int indexOf(String s,int fromIndex),指定开始查找的位置
l 指定字符,找这个字符在字符串最后一次出现的下标,int lastIndexOf(char ch)反向索引,如果没找到,返回负数
l 指定字符,找这个字符在字符串最后一次出现的下标,int lastIndexOf(char ch,int fromIndex),指定开始查找的位置
l 自己实现。int lastIndexOf(Strings) int lastIndexOf(String s,intformIndex)
l 获取字符串中的字符个数int length() 返回字符个数 length属性,数组的长度。length()方法,表示字符串中的字符个数。
l 获取(截取)字符串的一部分 Stringsubstring(int start, int end)返回新的字符串,原始不变,包含头,不包含尾
l 获取字符串的一部分String substring(int start)返回新的字符串,从开始下标计算,后面的全要
8. String类的转换方法
l 将字符串转成字节数组,返回字节数组byte[] getBytes(),查询编码表
l 将字符串转成字符数组,返回字符数组 char[] toCharArray(),不查询编码表
l 将字符串全部转成大写字符,返回新字符串 String toUpperCase()
l 将字符串全部转成小写字符,返回新字符串 String toLowerCase()
l 字符串的追加方法 返回新字符串concat(String s)
9. String类的其他方法
l 一个字符串是否包含另一个字符串 boolean contains(String s)完全包含返回真
l 将其他数组类型转成字符串 staticString valueOf(任意类型)
l 切割字符串 String[]split("切割规则"),返回新的字符串数组.如果规则不满足,原始字符串直接装进新的数组的0下标。安装"点" .正则中匹配任意字符,点变成普通的一个符号.
l 替换字符串,返回新的字符串String replace(老char,新char)
l 替换字符串,返回新的字符串String replace(老串,新串)
l 安照字典顺序比较两个字符串int compareTo(String s),比较有三种结果,我比你小,我和你一样,我比你大。调用者小于参数 结果是负数,调用者等于参数,结果是0,调用者大于参数,结果是正数。字典顺序,称为自然顺序
l 去掉字符串的两端空格 ,返回新字符串String trim(),如果字符串中间有空格,不去除
10. StringBuffer类的由来
看代码,分析产生了几个对象
String s ="ab"+"cd"+"ef"+"gh";
sop(s)"abcdefgh";
String类固定不变,上面代码,生成5个对象,很浪费内存,运行速度越慢
Java开发出了StringBuffer降低资源的浪费,速度的提升。是一个字符串的缓冲区,为了提高效率
可变字符序列
11. StringBuffer类概述
字符串的缓冲区,提高String的操作效率,底层数据结构可变数组(字符),数组是定长,StringBuffer自己会做数组的扩容,删除原数组
12. StringBuffer类的构造方法
l 空参数,默认创建16个位置的数组
l 带有String参数的,直接把字符串,装进缓冲区
13. StringBuffer类的常见方法
l 将数据追加到缓冲区 append(任意类型) 出来的结果都是字符串,方法的返回值是StringBuffer,返回本类对象。新的概念,链式编程,对象调用方法,方法的返回值还是一个对象
l 删除缓冲区中的字符串,StringBufferdelete(int start,int end),包含头,不包含尾
1. 字符串的重要性
字符串程序中就是一个"",表示了大多数现实生活中的数据形式
电商:订单(单号,下单时间,收货人,地址,发票抬头,电话,商品的名字)
商品:库存,介绍,使用方法....
""字符串是所有的系统中必须局部的一种数据类型。对于字符串的处理,表现出一个程序人员的基本功
要求做到:基础结束的时候,做到,使用字符串,不需要查询API文档
2. 字符串的特殊对象
对于字符串这个对象,Java使用类进行描述,String类。在程序中只要你写上一个双引号,表示一个对象 String name = "lisi" new Person....
System.out.println("hello world"); ""
特点一:不需要new 的对象,直接写双引号,就表示一个字符串对象
特点二:字符串是常量,一旦创建,不能改变
3. String类的定义方法
第一种 String s= "abc";
第二种 String s1= new String("abc"); //创建字符串,使用的是String类的构造器
区别,第一种创建一个对象s直接指向对象"abc"
第二种创建两个对象,对象"abc",对象 newString() 变量s1指向的是new String()
s == s1 结果是false 指向不同的对象
s.equals(s1)结果是true,String类重写equals比较字符串的具体内容,不是地址
4. 字符串String类的原理
看看String类的原始代码:底层实现是什么:字符串底层就是一个字符数组 char[]
"abcd" 4个长度的char数组 被final锁定
输出字符串的时候,其实输出的就是那个字符数组,但是输出语句println对字符串数组直接遍历,看到的是每个字符,不是地址
5. String类的构造方法
l 空参数构造, newString()
l 将字节数组变成字符串new String(字节数组 byte[] bytes),查询编码表,必须查
l 将字节数组一部分变成字符串new String(字节数组,int,int)第一个int是开始下标,第二个int是获取几个,注意的数组的长度,防止越界异常
l 将字符数组转成字符串new String(字符数组 char[] ch)
l 将字符数组一部分转成字符串new String(字符数组,int,int) 一个int是开始下标,第二个int是获取几个,注意的数组的长度,防止越界异常
6. String的判断方法 -- 都是布尔类型
l 判断两个字符串是否完全相等,重写Object类的equals,两个字符串完全相等,返回真,有一点不同,返回假 public boolean equals(Objectobj)
l 判断两个字符串是否相等,忽略大小写,boolean equalsIgnoreCase(String s)
l 判断一个字符串是否以另一个字符串开头,如果是返回真 boolean startsWith(String s)
l 判断一个字符串是否以另一个字符串结尾,如果是返回真 boolean endsWith(String s)
l 判断一个字符中是否有字符,如果有返回假,没有字符返回真,判断是不是一个空串"" booleanisEmpty() 开始于JDK1.6(包含)以后版本
7. String类的获取方法
l 指定下标,返回这个下标上的单个字符 char charAt(int index)传递索引,返回这个索引上字符,注意越界异常
l 指定字符,找这个字符在字符串中第一次出现的下标 int indexOf(char ch),凡是返回下标的功能,如果没有找到,返回负数
l 指定字符,找这个字符在字符串中第一次出现的下标 int indexOf(char ch,intformIndex),指定开始查找的位置索引
l 指定字符串,找字符串在另一个字符串中第一次出现的下标 int indexOf(String s)。
l 指定字符串,找字符串在另一个字符串中第一次出现的下标 int indexOf(String s,int fromIndex),指定开始查找的位置
l 指定字符,找这个字符在字符串最后一次出现的下标,int lastIndexOf(char ch)反向索引,如果没找到,返回负数
l 指定字符,找这个字符在字符串最后一次出现的下标,int lastIndexOf(char ch,int fromIndex),指定开始查找的位置
l 自己实现。int lastIndexOf(Strings) int lastIndexOf(String s,intformIndex)
l 获取字符串中的字符个数int length() 返回字符个数 length属性,数组的长度。length()方法,表示字符串中的字符个数。
l 获取(截取)字符串的一部分 Stringsubstring(int start, int end)返回新的字符串,原始不变,包含头,不包含尾
l 获取字符串的一部分String substring(int start)返回新的字符串,从开始下标计算,后面的全要
8. String类的转换方法
l 将字符串转成字节数组,返回字节数组byte[] getBytes(),查询编码表
l 将字符串转成字符数组,返回字符数组 char[] toCharArray(),不查询编码表
l 将字符串全部转成大写字符,返回新字符串 String toUpperCase()
l 将字符串全部转成小写字符,返回新字符串 String toLowerCase()
l 字符串的追加方法 返回新字符串concat(String s)
9. String类的其他方法
l 一个字符串是否包含另一个字符串 boolean contains(String s)完全包含返回真
l 将其他数组类型转成字符串 staticString valueOf(任意类型)
l 切割字符串 String[]split("切割规则"),返回新的字符串数组.如果规则不满足,原始字符串直接装进新的数组的0下标。安装"点" .正则中匹配任意字符,点变成普通的一个符号.
l 替换字符串,返回新的字符串String replace(老char,新char)
l 替换字符串,返回新的字符串String replace(老串,新串)
l 安照字典顺序比较两个字符串int compareTo(String s),比较有三种结果,我比你小,我和你一样,我比你大。调用者小于参数 结果是负数,调用者等于参数,结果是0,调用者大于参数,结果是正数。字典顺序,称为自然顺序
l 去掉字符串的两端空格 ,返回新字符串String trim(),如果字符串中间有空格,不去除
10. StringBuffer类的由来
看代码,分析产生了几个对象
String s ="ab"+"cd"+"ef"+"gh";
sop(s)"abcdefgh";
String类固定不变,上面代码,生成5个对象,很浪费内存,运行速度越慢
Java开发出了StringBuffer降低资源的浪费,速度的提升。是一个字符串的缓冲区,为了提高效率
可变字符序列
11. StringBuffer类概述
字符串的缓冲区,提高String的操作效率,底层数据结构可变数组(字符),数组是定长,StringBuffer自己会做数组的扩容,删除原数组
12. StringBuffer类的构造方法
l 空参数,默认创建16个位置的数组
l 带有String参数的,直接把字符串,装进缓冲区
13. StringBuffer类的常见方法
l 将数据追加到缓冲区 append(任意类型) 出来的结果都是字符串,方法的返回值是StringBuffer,返回本类对象。新的概念,链式编程,对象调用方法,方法的返回值还是一个对象
l 删除缓冲区中的字符串,StringBufferdelete(int start,int end),包含头,不包含尾
相关文章推荐
- 面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)
- string,stringBuilder,字符串的常用方法,键盘录入字符串,string的构造方法,string类的各种判断功能,string类的各种获取功能,string类的转换功能,切割方法
- 黑马程序员--转换流对象,输出方向,转换流编码效果,字符的编码和解码,String类的构造,方法getBytes,指定编码表,File类
- java 字符串定义和构造方法
- 黑马程序员---类的属性和构造方法
- 黑马程序员_学习日记五_String类、StringBuffer类、基本数据包装类
- 黑马程序员:构造方法的重载
- 如果一个类定义了一个或多个构造方法,那么java不会提供默认的构造方法
- 定义局部变量时,字符串不能超过8000的方法
- 黑马程序员——TreeSet实现按字符串长度排序,复写Comparator()接口的compare()方法
- 黑马程序员—String类常用方法
- 向C#的String类添加按字节截取字符串的扩展方法
- 黑马程序员——正则与字符串方法验证qq号
- 黑马程序员-使用String类完成如下功能,对英文字符串进行加密处理。
- 黑马程序员:String类和StringBuffer类的总结
- 黑马程序员_一道java选择题 引发: 类的创建和自身构造方法 加载的先后顺序
- strings.xml中定义字符串的使用方法
- 向C#的String类添加按字节截取字符串的扩展方法
- 黑马程序员--C#中静态类构造方法
- 黑马程序员_String类的方法和使用