Java字符串基本操作

目录

1.字符串连接(两种)
2.字符串比较
3.字符串截取
4.字符串查找
5.字符串替换
6.字符串与字符数组


1、字符串连接

第一种就是我们常用的 + 连接

public class Test {
	public static void main1(String[] args) {
		String str1 = "hello,";
		String str2 = "my name is Tom!";
		String str3 = str1 + str2;
		System.out.println(str3);
	}
	// 运行结果如下:
	// hello,my name is Tom!
	
	public static void main2(String[] args) {
		System.out.println(10 + 2.5 + "price"); 
		// 先进行算术运算,再进行字符串连接
		System.out.println("price" + 10 + 2.5);
		// 进行字符串连接
	}
	// 运行结果如下:
	// 12.5price
	// price102.5
}

第二种就是String类提供连接两个字符串的方法concat( ),格式如下:
string1.concat(string2);

🎨🎨🎨
concat( )方法返回一个字符串,是将字符串string2添加到string1后面后形成的新字符串。

public class Test {
	public static void main(String[] args) {
		String str1 = "hello,";
		String str2 = "world";
		String str3 = str1.concat(str2);
		System.out.println(str3);
	}
	// 运行结果如下: 
	// hello,world
}

2、字符串比较

Java中String类提供了几种比较字符串的方法。最常用的是equals( )方法,它是比较两个字符串是否相等,返回boolean值。使用格式如下:
str1.equals(str2);
equals( )方法会比较两个字符串中的每个字符,相同的字母,如果大小写不同,其含义也是不同的。例如以下代码:

public class Test {
	public static void main(String[] args) {
		String str1 = "hello";
		String str2 = "HELLO";
		System.out.println(str1.equals(str2));
	}
	// 运行结果如下:
	// false
}

还有一种忽略字符串大小写的比较方法,这就是 equalsIgnoreCase( )方法。同样返回boolean值。代码如下:

public class Test {
	public static void main(String[] args) {
		String str1 = "hello";
		String str2 = "HELLO";
		System.out.println(str1.equalsIgnoreCase(str2));
	}
	// 运行结果如下:
	// true
}

注意:在比较字符串时,不能使用 “= =”,因为使用“= =”比较对象时,实际上判断的是是否为同一个对象,如果内容相同,但不是同一个对象,返回值为false。


3、字符串截取

所谓的截取就是从某个字符串中截取该字符串中的一部分作为新的字符串。String类中提供substring方法来实现截取功能。使用格式如下:
String substring (int beginIndex);

String substring (int beginIndex, int endIndex);
字符串第一个字符的位置为0

public class Test {
	public static void main(String[] args) {
		String str1 = "I Love Java!";
		String subs1 = str1.substring(2);
		// 对字符串进行截取,从开始位置2截取
		String subs2 = str1.substring(2, 6);
		// 对字符串进行截取,截取 2-6 之间部分
	
		System.out.println("从开始位置 2 截取");
		System.out.println(subs1);
		System.out.println("从位置 2-6 截取");
		System.out.println(subs2);
	}
	// 运行结果如下:
	// 从开始位置 2 截取
	// Love Java
	// 从位置 2-6 截取
	// Love
}

4、字符串查找

字符串查找是指一个字符串中查找另一个字符串。String类中提供了 indexOf方法来实现查找功能。使用格式如下:
str.indexOf(string substr)

str.indexOf(string substr, fromIndex)

第一种是从指定字符串开始位置查找。第二种是从指定字符串并指定开始位置查找。简单来说就是获取下标(索引)例如:

public class Test {
	public static void main(String[] args) {
		String str1 = "I Love Java!";
		String str2 = "Love";
		int index1 = str1.indexOf(str2);
		// 从开始位置查找”Love“字符串
		int index2 = str1.indexOf(str2, 2);
		// 从索引 2 位置开始查找”Love“字符串
		System.out.println(index1);
		System.out.println(index2);
	}
	// 运行结果如下:
	// 2
	// 2
	// 这里特别说明一下如果查找没有或者不存在查找的字符串,返回的-1(我这里的编译器)
}

5、字符串替换

字符串替换指的是用一个新字符去替换字符串中指定的所有字符,String类提供的replace方法可以实现这种替换。使用格式如下:
str1.replace(char oldchar, char newchar)
str1表示原字符串,用newchar替换string1中所有的oldchar,并返回一个新字符串。例如:

public class Test {
	public static void main(String[] args) {
		String str1 = "I Love Java!";
		char oldchar = 'a';
		char newchar = 'b';
		System.out.println(str1.replace(oldchar, newchar));
	}
	// 运行结果如下:
	// I Love Jbvb!
}

6、字符串与字符数组

有时会遇到字符串和字符数组相互转换的问题,可以方便地将字符数组转换为字符串,然后利用字符串对象的属性和方法,进一步对字符串进行处理。例如:

public class Test {
	public static void main(String[] args) {
		char[] helloArray = {'h','e','l','l','o'};
		// 将字符数组作为构造函数的参数
		String helloString = new String(helloArray);
		System.out.println(helloString);
	}
	// 运行结果如下:
	// hello
}

在使用new运算符创建字符串对象时,将字符串作为构造函数的参数,可以将字符数组转换为字符相应的字符串。相反,也可以将字符串转换为字符数组,这需要使用字符串对象的一个方法 toCharArray( )。它返回一个字符串对象转换过来的字符数组。例如:

public class Test {
	public static void main(String[] args) {
		String helloString = "hello";
		char[] helloArray = helloString.toCharArray(); // 将字符串转换为字符数组
		for (int i = 0; i < helloArray.length; i++) {
			System.out.println(helloArray[i]);
		}
	}
	// 运行结果如下:
	// h
	// e
	// l
	// l 
	// o
}

欢迎留言讨论~ ~ ~

java字符串操作大全,适合初学者,浅显易懂 部JAVA字符串操作 2008-07-11 15:39:42| 分类: JAVA | 标签: |字号大中小 订阅 . JAVA字符串的方法 String a = "53c015"; //Integer.parseInt(s, radix) radix设置为10,表示10进制,16表示16进制啦 int i = Integer.parseInt(a, 16); 1、length() 字符串的长度   例:char chars[]={'a','b'.'c'};     String s=new String(chars);     int len=s.length(); 2、charAt() 截取一个字符   例:char ch;     ch="abc".charAt(1); 返回'b' 3、getChars() 截取多个字符   void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)   sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。   例:String s="this is a demo of the getChars method.";     char buf[]=new char[20];     s.getChars(10,14,buf,0); 4、getBytes()   替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。 5、toCharArray() 6、equals()和equalsIgnoreCase() 比较两个字符串 7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。   boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)   boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars) 8、startsWith()和endsWith()   startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束 9、equals()和==   equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。   例:String s1="Hello";     String s2=new String(s1);     s1.eauals(s2); //true     s1==s2;//false 10、compareTo()和compareToIgnoreCase() 比较字符串 11、indexOf()和lastIndexOf()   indexOf() 查找字符或者子串第一次出现的地方。   lastIndexOf() 查找字符或者子串是后一次出现的地方。 12、substring()   它有两种形式,第一种是:String substring(int startIndex)          第二种是:String substring(int startIndex,int endIndex) 13、concat() 连接两个字符串 14 、replace() 替换   它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:   String replace(char original,char replacement)   例如:String s="Hello".replace('l','w');   第二种形式是用一个字符序列替换另一个字符序列,形式如下:   String replace(CharSequence original,CharSequence replacement) 15、trim() 去掉起始和结尾的空格 16、valueOf() 转换为字符串 17、toLowerCase() 转换为小写 18、toUpperCase() 转换为大写 19、StringBuffer构造函数   StringBuffer定义了三个构造函数:   StringBuffer()   StringBuffer(int size)   StringBuffer(String str)   StringBuffer(CharSequence chars)      (1)、length()和capacity()     一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。      (2)、ensureCapacity() 设置缓冲区的大小     void ensureCapacity(int capacity)   (3)、setLength() 设置缓冲区的长度     void setLength(int len)   (4)、charAt()和setCharAt()     char charAt(int where)     void setCharAt(int where,char ch)   (5)、getChars()     void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)   (6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。     例:int a=42;       StringBuffer sb=new StringBuffer(40);       String s=sb.append("a=").append(a).append("!").toString();   (7)、insert() 插入字符串     StringBuffer insert(int index,String str)     StringBuffer insert(int index,char ch)     StringBuffer insert(int index,Object obj)     index指定将字符串插入到StringBuffer对象中的位置的下标。   (8)、reverse() 颠倒StringBuffer对象中的字符     StringBuffer reverse() 分代码如下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值