黑马程序员——java复习总结——字符串
来源:互联网 发布:哈登本赛季数据 编辑:程序博客网 时间:2024/06/06 01:09
------- android培训、java培训、期待与您交流! ----------
一、String类
String类代表字符串,java程序中所有的字符串字面值(如”abc”)都作为此类的实例实现。他没有子类,字符串是常量,他们的值在创建之后就不能被更改。
1.1 字符串的创建方法
String s1 = new String(“abc”);
String s1 = “abc”;
如上,就是字符串的两种创建方法,字符串最大的特点是一旦被初始化就不可能被改变。但是指向字符串的类类型变量是可以变的,如上,就是s1可以变化,不能变的是”abc” 的内容。
1.2 字符串的判断方式
在String类中,复写了Object中的equals方法,建立了自己独特的判断内容方式,该方法用于判断字符串是否相等。
1.3 s1和s2的区别
String s1 = “abc”;
String s2 = new String(“abc”);
对于s1和s2的区别:
s1有一个对象,就是”abc”;
s2有两个对象,分别是”abc”,和new String;
1.4 常量池
字符串在内容中有一个常量池,用于存放字符串。如果用到这个常量池中没有的字符串,那么就会创建这个常量,如果有这个常量,就不会创建新的常量,而使用已有的常量。
二、字符串的操作方法
String类适用于描述字符串事物,那么就提供了多个方法对字符串进行操作,而字符串的常见操作有,获取,判断,转换,替换。
2.1 获取
2.1.1 获取长度,也就是字符串的长度;
int length();
2.1.2 根据位置获取位置上的某个字符
char charAt(int index);
2.1.3 根据字符获取该字符在字符串中的位置
int indexOf(int ch);返回的是ch在字符串中第一次出现的位置
int indexOF(int ch,int fromIndex);从指定位置开始,获取ch在字符串中的位置。
int indexOf(String str);返回str在字符串中第一次出现的位置
int indexOF(String str,int fromIndex);从指定位置开始,获取str在字符串中的位置
2.2 判断
2.2.1 字符串中是否包含某一个子串
boolean contains();
特殊之处:indexOf(String str):可以索引str第一次出现位置,如果返回-1表示str不存在,所以也可以用indexOf判断字符串是否包含。
2.2.2 字符串中是否有内容
boolean isEmply():原理就是判断字符串长度是否为零。
2.2.3 字符串是否以指定内容开头
boolean startWith(String str);
2.2.4 字符串是否以指定内容结尾
boolean startWith(String str);
2.2.5 判断字符串内容是否相同
boolean equals(String str);复写了Object类中的equals。
2.2.6 判断内容是否相同并忽略大小写
boolean equalsIgnoreCase();
2.3 转换
2.3.1 将字符数组转成字符串
String(char[])
String(char[],offset,count);将字符数组中的一部分转成字符串。
静态方法:
static String copyValueOf(char[]);
static String copuValueOf(char[] data,intoffset,int count)
static String valueOf(char[]);
2.3.2 将字符串转成字符数组
char toCharArray[];
2.3.3 将字节数组转成字符串
String(byte[])
String(byte[],offset,count);
2.3.4 将字符串转成字节数组
byte[] getBytes[];
2.3.5 将基本数据类型转成字符串
static String valueOf(int);
但是还有另外一种方式,比如3+””;也可以将3转成字符串,所以这并不常用
static String valueOf(double);
2.4 替换
2.4.1 替换字符
String replace(old char,new char);
原字符串不变,返回一个新字符串,若找不到被替换的字符,则返回原字符串。
2.4.2 替换字符串
String replace(old String,new String);
2.5 切割
String[] split(String)str;
传入一个要切割的符号,返回的是一个字符串数组
2.6 获取子串
subString(int begin);
从指定位置到结尾处
subString(int begin,int end) ;
从指定位置到指定结尾,包含头不包含尾。
2.7 转换,去除空格
2.7.1 将字符串转成大写或者小写
String toUpperCase();
String toLowerCase();
2.7.2 将字符串两端的多个空格去除
String trim();
2.7.3 对两个字符串进行自然顺序的比较
int compareTo(String);将两个字符串依次比较,返回整数负数或者零表示大小。
三、StringBuffer
3.1 StringBuffer的概念
StringBuffer是一个容器,可以对字符串的内容进行修改,它有很多和String相同的方法,StringBuffer的长度是可变的。
3.2 StringBuffer的方法
StringBuffer和String类很像,也有着操作字符串的方法,有存储,删除,获取,修改四类方法。
3.2.1 存储
StringBuffer的存储方法有两种
append();将字符串存储到StringBuffer容器中。
insert(int index,String str);将数据插入指定位置。
3.2.2 删除
delete(int begin,int end);删除缓冲区的数据,含头不含尾
deletecharAt(int index)删除指定位置的数据
3.2.3 获取
char charAt(int index);获取指定位置的字符
int indexOf(String str)获取字符串的位置
String substring(int start,int end);返回的是一个String,含头不含尾
3.2.4 修改
replace(int start,int end,String str);替换,含头不含尾的替换
setcharAt(int index,char ch);替换指定位置的字符
3.2.5 反转
reverse();反转字符串。
3.3 StringBuilder
它是后期1.5版本出现的String容器,和StringBuffer用法一样,唯一不同的是不同步。
即是升级出现的,升级的三个因素有:
方便书写;提高效率;提高安全性。
四、基本数据类型对象包装类
4.1 基本数据类型
基本数据类型是有8种,分别是byte,short,int,long,boolean,float,double,char。
它们对应的包装类是:
通过将基本数据类型包装成对象,就可以使用这些对象的方法。
4.2 Integer建立对象时的小特性
运行结果:
对于Integer对象,内存中也有一个小于常量池,对于小于byte类型(128)的数,若已经存在就不会再开辟新的空间,所以对于两个127的Integer是执行同一地址的,但是128则不是。
- 黑马程序员——java复习总结——字符串
- 黑马程序员——java复习总结——多线程
- 黑马程序员——java复习总结——反射
- 黑马程序员——Java集合框架复习总结(一)
- 黑马程序员——Java集合框架复习总结(二)
- 黑马程序员——Java集合框架复习总结(三)
- 黑马程序员——java复习总结——Java基础知识
- 黑马程序员——面向对象的总结复习
- 黑马程序员—java总结
- 黑马程序员——java复习总结——面向对象
- 黑马程序员——java复习总结——继承和接口
- 黑马程序员——java复习总结——多态和内部类
- 黑马程序员——java复习总结——异常和包
- 黑马程序员——java复习总结——集合框架
- 黑马程序员——java复习总结——泛型和Map
- 黑马程序员——java复习总结——其他类和IO流
- 黑马程序员——java复习总结——File类和其他流对象
- 黑马程序员——java复习总结——GUI和网络编程
- Caffe学习笔记2-Caffe的三级结构(Blobs,Layers,Nets)
- leetcode Remove Element
- linux网络自动分析shell脚本
- 一元多项式相加的算法和C++实现
- 控制翻转(IOC)与 依赖注入 (DI)
- 黑马程序员——java复习总结——字符串
- stm32开发之串口的调试
- 【NOI2015】【软件包管理器】【树链剖分】
- 设置winform窗体在屏幕上显示的位置 和其他用法
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- Android使用HttpURLConnection上传文件
- 当前选中 底色切换
- Windows服务编写原理
- hdu 5095 Linearization of the kernel functions in SVM(模拟)