7.23_java学习_字符串

一:字符串常见操作

/*
String 中常见的操作!
1.获取

1)字符中包含的字符数
	int length();获取长度
2)根据位置获取位置上某个字符。
	int charAt(int index);
3)根据字符获取该字符在字符串中的位置。
	int indexOf(char ch);返回的是ch在字符串第一次出现的位置
	int indexOf(char ch, int fromIndex);从fromIndex指定位置开始。获取ch第一次出现的位置
    int indexOf(String str);返回的是str在字符串第一次出现的位置
	int indexOf(String str, int fromIndex);从fromIndex指定位置开始。获取在str第一次出现的位置
    
2,判断:
	1)字符串中是否包含某一个子串
		boolean contains(str);
	2)字符串中是否有内容
		boonean isEmpty();原理判断长度是否为零。
	3)字符串是否是以指定内容开头、
		boolean startsWith(str)
	4)字符串是否是以指定内容结束。
		boolean endWith(str);
	5)判断字符串内容是否相同
		boolean equals(str);
	6)判读内容是否相同,并忽略大小写
	    boolean equalsIgncreCase()
3.转换:
	1)将字符数组转成字符串
		构造函数:String(char[])
				  String(char[] ,offset,conut);转换其中一部分
		静态方法: 
		          static String copyValueOf(char[])
				  static String copyValueOf(char[] date,int offset ,int conut)
				  static String valueOf(char[]);
	2)将字符串转成字符数组
				  char[] toCharArray
	3)将字节数组转换字符串
				  String(byte[])
				  String(byte[] ,offset,conut);转换其中一部分
	4)将字符串转换字节数组
                  byte[] getByte();
	5)将基本数据类型转换成字符串
		static String valueOf(int)
		static String valueOf(double)
		特殊:字符串和字节数组在转换过程中,是可以指定编码表的

4,替换:
	String replace(oldchar newchar)

5,切割;
	String[] split(regex)

6,子串,获取字符串的一部分。
    String substring(begin);
	String substring(begin,end);//包含头不包含尾。

7,转换,去除空格,比较。
	1)将字符串转换成大写或小写
		String toUpperCase();
		String toLOwerCase();
	2)将字符串两端的多个空格去掉
		String trim();
	3)对两个字符串进行自然顺序比较
		String compareTo(str);
*/
class String1 
{
	public static void main(String[] args) 
	{
		String s1 = "abc";//s是一个类类型变量,“abc”是一个对象。
		                //字符串最大特点:一旦被初始化就不可以改变!
		s1 = "kk";//改变的是s的地址值“abc”空间没变!

		String s2 = new String("abc");
//---------面试问题:s1和s2的区别------------------
//s1在内存中一个对象
// s2在内存中两个对象
		System.out.println(s1.squals(s2));//String 类复写了Object类中的equals方法!
	}
}


 

二:StringBuffer常见操作

/*
StringBuffer是字符串缓冲区
是一个容器.
特点:
1,长度是可变化的。
2,可以字节操作多个数据类型
3,最终会通过toString

字符串缓冲区的操作
1,存储
	StringBufer append();//将指定数据作为数据的结尾
	s.append("abc").append(treu).append(34);//方法调用链
	插入
	StringBufer insert(int index);//插入到指定位置

2,删除
	StringBuffer delete(start,end);删除缓冲区的指定内容,包含start,不包含end
	StringBuffer deleteCharAt(index);删除指定位置的字符串。

3,获取
	char charAt(int index)
	int  indexOf(String str)
	int lastIndexOf(String str)
	int length()
	String substring(int start, int end)

4,修改
	StringBuffer replace(start , end, string);
	void setCharAt(int index,char ch);

5,反转
	StringBuffer reverse();

6,将缓冲区的指定数据,存储到指定字符数组中
void getChars(1,4,chs,1)

jdk1.5版本之后出现了StringBuilder

StringBuffer是线程同步。
StringBUilder是线程不同步(开发一般用)

升级三个因素:
1,提高效率
2,简化代码
3,提高安全性
*/
class StringBufferDemo 
{
	public static void main(String[] args) 
	{
		System.out.println("Hello World!");
	}
}
/*
基本数据类型对象包装类。
byte     Byte
short    Short
int		 Integer
long     Long
boolean  Boolean
float    Float
double   Double
char     Character

基本数据类型对象包装类的最常见作用、
就是用于基本数据类型和字符串类型之间做装换

基本数据类型转换字符串
基本数据类型+"";

基本数据类型.toString(基本数据类型值);

字符串转换基本数据类型
	1)静态
		xxx a = xxx.parseXxx(String);
	2)非静态
	    Integer i = new Integer("123");
		int num  = i.intValue();
十进制转换成其他进制
	toBinaryString();
	toHexString();
	toOctalString();
其他进制转换成十进制
	parseInt(String ,radix);
	
Integer x = 4//简化代码、自动装箱//new Integer(4);
x = x + 2;/自动拆箱后自动装箱

Integer a = 127;
Integer b = 127;
a == b?结果是true。因为a和b指向了同一个Integer对象。
在数值在byte范围内,对于新特性。如果该数据已经存在,则不会开辟空间。
*/


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值