Java第五章总结

这篇博客详细介绍了Java中字符串的操作,包括创建字符串、连接字符串、获取长度、获取指定字符、截取字符串、替换字符串、字符串拼接和分割以及大小写转换。讲解了String、StringBuffer和StringBuilder的区别与使用场景,强调了线程安全和性能的影响。
摘要由CSDN通过智能技术生成

5.1 String类
5.1.1 声明字符串
    字符串是常量,它们可以显示任何文字信息,字符串的值在创建之后不能更改。在Java语言中,单引号中的内容表示字符,例如's',而双引号中的内容则表示字符串,例如:

 "我是字符串”,"123456789" ," 上下左右东西南北”

     Java通过java lang String这个类来创建可以保存字符串的变量,所以字符串变量是一个对象。声明一个字符串变量a,以及声明两个字符串变量a、b。代码如下:

 String a;
 String a,b;

 注意:
在不给字符串变量赋值的情况下,默认值为null,就是空对象,如果此时调用String的方法会发生空指针异常。

5.1.2 创建字符串
 1.引用字符串常量

 例如,直接将字符串常量赋值给String类型变量。代码如下:

String a = "时间就是金钱,我的朋友。";

String b = "锄禾日当午",c = "小鸡炖蘑菇";

String str1, str2;

str1=. "We are students";

srt2 = "We are students";

 当两个字符串对象引用相同的常量时,就具有相同的实体,内存示意图如图所示。

 

利用构造方法实例化

例如,使用new关键字创建String对象。代码如下:

String a = new String("我爱清汤小肥羊");

String b = new String(a) ;

 3.利用字符数组实例化

例如,定义一个字符数组charArray,使用该字符数组创建一个字符串。 代码如下: 

 char[ ] charArray = { 't', 'i', 'm', 'e' };

String a = new String (charArray) ;

 4.提取字符数组中的一部分创建字符串对象

 例如,定义一个字符数组charArray从该字符数组索引3的位置开始,提取两个元素,创建一个字符串。代码如下:

"char[ ] charArray = { '时,间,'就', '是,'金','钱,};

String a = new String (charArray, 3,2);
 

5.1\\String类

package holleJAVA;

public class heeeee {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String a="时间就是金钱,我的朋友。";
		System.out.println("a="+a);
		String b=new String("我爱清汤小肥羊");
		String c=new String(b);
		System.out.println("b="+b);
		System.out.println("c="+c);
		char[] charArray= {'t','i','m','e'};
		String d=new String(charArray);
		System.out.println("d="+d);
		char[]charArray2 = {'时','间','就','是','金','钱'};
		String e= new String(charArray2,4,2);
		System.out.println("e="+e);

	}

}

5.2连接字符串
string a= “建团";
     string b= “一百周年";
                b = a+b;        //b =“建团一百周年”
    b+ = a;         //b =b+a=“建团一百周年”
使用“+”运算符可实现拼接多个字符串的功能,“+”运算符可以连接多个字”在年共产生 String对象。除了“+”运算符,“+=”同样可以实现字符串拼接。
/5.2使用“+”和“+=”拼接字符串。
 

例五点二
public class heeeee {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String a="abc";
		String b=("123");
		String c=a+b+"!";    //使用“+”拼接字符
		String d="拼接字符串";//拼接字符串
		d+=c;                //使用“+=”拼接字符
		System.out.println("a="+a);
		System.out.println("b="+b);
		System.out.println("c="+c);
		System.out.println("d="+d);

	}

}

提取字符串信息

长度 字符串名.length();

5.3.2  获取指定的字符
str .length() ;

String num ="12345 67890";

int size = num. length() ;

这个结果是将字符串num的长度赋值给int型变量size, 此时变量size的值为11,这表示leng()方法返回的字符串长度包括字符串中的空格。

charAt(String index)方法可将指定索引处的字符返回。

str. charAt (index);

str: 任意字符串对象。

 index: char值的索引。
 

例5.3连接其他数据类型



public class heeeee {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int booktime=4;//声明的int型变量booktime 5 
		  float practice = 2.5f; // 声明的float型变量practice
		  //将字符串与整型、浮点型变量相连,并将结果输出
		  System.out.println("我每天花费"+booktime+"小时看书;"+practice+"小时上机练习");
		 }

		}

5.3.1 获取字符串长度
 length()方法返回采用UTF-16的编码表示字符的数量,也就是char的数量。

注意: 字符串的length( )方法与数组的length虽然都是用来获取长度的,但两者却有些不同。String 的length( )是类的成员方法,是有括号的;数组的length是一个属性,是没有括号的。

5.3.2 获取指定字符串
 charAt(String index)方法可将指定索引处的字符返回。

str. charAt (index);

str: 任意字符串对象。

index: char值的索引。

例5.5
String str ="12345abcde";//创建字符串对象
  int charIndex=str.indexOf("abc");//获取字符串str中“abc”首次出现的索引,赋值给charIndex
  if(charIndex!=-1) {//判断:index的值不等于-1
   //如果index不等于-1,则执行此行代码,说明str中存在“abc”字符串
   System.out.println("str中存在abc字符串");
  }else {//如果index等于-1,则执行此行代码,说明str中没有“abc”字符串
   System.out.println("str中没有abc字符串");
  }
 }

}

2.indexOf(String srt,int fromindex)

a:任意字符串对象

str:要搜索的子字符串

fromindex:开始搜索的索引位置

例五点六



String str = "We are the world";
		// 获取字符串中"r"第一次出现的索引位置
		int firstIndex = str.indexOf("r");
		// 获取字符串中"r"第二次出现的索引位置,从第一次出现的索引位置之后开始查找
		int secondIndex = str.indexOf("r", firstIndex + 1);
		// 获取字符串中"r"第三次出现的索引位置,从第二次出现的索引位置之后开始查找
		int thirdIndex = str.indexOf("r", secondIndex + 1);
		// 输出三次获取的索引位置
		System.out.println("e第一次出現的索引位置是:" + firstIndex);
		System.out.println("e第二次出現的索引位置是:" + secondIndex);
		System.out.println("e第三次出現的索引位置是:" + thirdIndex);
	}
}

 3.pubile int lastindexOf(String srt)

a:任意字符串对象

str:要搜索的字符串

a:任意字符串

srt:要搜索的字符串

例5.7

String str = "Let it go!Let it go!"; 	// 创建字符串对象
		int gIndex = str.lastIndexOf("g");	 // 返回”g“最后一次出现的位置
		int goIndex = str.lastIndexOf("go");	 // 返回”go“最后一次出现的位置
		int oIndex = str.lastIndexOf("o");	 // 返回”o“最后一次出现的位置
		System.out.println("字符串\"Let it go!Let it go\"中:\n");
		System.out.println("\"g\"最后一次出现的位置是:" + gIndex);
		System.out.println("\"o\"最后一次出现的位置是:" + oIndex);
		System.out.println("\"go\"最后一次出现的位置是:" + goIndex);
	}
}

5.8

String str = "01a3a56a89";
		// 返回字母"a"最后一次出现的索引位置
		int lastIndex = str.lastIndexOf("a");
		// 返回字母"a"的索引位置otherIndex
		// 满足0<=fiveBeforeIndex<=5条件,在满足条件的结果集中,返回最大的数字
		int fiveBeforeIndex = str.lastIndexOf("a", 5);
		// 返回字母"a"的索引位置otherIndex
		// 满足0<=threeBeforeIndex<=3条件,在满足条件的结果集中,返回最大的数字
		int threeBeforeIndex = str.lastIndexOf("a", 3);
		System.out.println("字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值