字符串相关操作——java

 字符串相关操作

1.字符串变量

String s;

//String首字母大写,所以其是一个类,String的变量是对象的管理者而非所有者。

String首字母大写,所以其是一个类,String的变量是对象的管理者而非所有者。

2.对象的创建与初始化

String s ;                     //给s分配了空间,类名+变量名
s = new String(“a string”);    //生成了s对象,初始化了s的实例变量


//两步合并为一步
String s = new String(“a string”);//上面两种为对类的创建及初始化

//或者
String s="a string";

步骤:

          a.创建了一个String的对象

          b.用“a string”初始化这个对象

          c.创建管理这个对象的变量s,让s来管理这个变量

3.字符串连接

演示代码:

package spoc;

import java.util.Scanner;

public class print_out {

	public static void main(String[] args) {
		String s="hi";
		System.out.println(24+12+s);        //36hi
		System.out.println(s+24+12);        //hi2412
		System.out.println(s+(24+12));      //hi36
		
	}
}

结果输出:

注意:

a.按优先级,先遇到数字+数字+字符串,则数字相加+字符串输出

String s="hi";
System.out.println(24+12+s);        //36hi

b.遇到字符串+数字+数字,则全部按字符串输出(因为按优先级先遇到字符串,所以后面的数字按字符串处理)

String s="hi";
System.out.println(s+24+12);        //hi2412

c.若在字符串后的数字想以数值输出,则给数字加括号,改变优先级。

String s="hi";
System.out.println(s+(24+12));      //hi36

4.输入字符串

Scanner in=new Scanner(System.in );
String a = in.next();            //读入遇到空格,回车,tab结束
in.nextLine();                   //读入一整行

5.判断两字符串内容是否相等

注意:

         a.  判断两字符串是否为同一个字符串. System.out.println(a=="iii");      

         b.若要比较两字符串的内容是否相等要用,a.equals("iii"));(a为字符串变量)

package spoc;

import java.util.Scanner;

public class print_out {

	public static void main(String[] args) {
	//判断输入内容是否相等
		Scanner in=new Scanner(System.in );
		String a = in.next();
		System.out.println(a=="iii");       //判断两字符串是否为同一个字符串
		System.out.println(a.equals("iii"));//判断两字符串内容是否相等

	}
}

若键入 iii输出结果为:

 

 

 6.字符串运算

a.字符串比较大小

注意:若第二,三位都不同,只返回第二位差值

s1.compareTo(s2);
 /*s1<s2,结果为负;
   s1==s2,结果为0;
   s1>s2,结果为正
*/

//compareToIgnoreCase可以不区分大小写的比较大写

b.获得字符串长度

s.length()

c.访问String中的字符

s.charAt(2)//访问s字符串中的第二号字符,从0开始编号

 

d.得到字符串

s.substring(2);//截取2号位置以后(包括2号)的字符串,
s.substring(2,5);//截取2到5之前(即到第四位);

e.寻找字符

s.indexOf("4");//输出所在位置,若不存在输出-1;
s.indexOf("微笑");//输出第一个元素所在位置,若不存在输出-1;

//需返回字符串中第二次出现a的位置,需设置变量loc标记第一次出现的位置
int loc=s.indexOf("a");
s.indexOf("a",loc+1);//寻找从loc+1开始,下一个字符"a"的位置

f.其他String操作

s.toUpperCase();//全部转大写
s.toLowerCase();//全部转小写
s.replace("a","cj");//把所以的a替换成cj
s.trim();//删掉两边的字符串
s.startsWith("a");//字母是否以"a"开头
s.endsWith("h");//字母是否以"h"结尾

代码:
第a.b.c段代码:

package spoc;

import java.util.Scanner;

public class str2 {

	public static void main(String[] args) {
		//都不能修改字符串本身
		String s="abaa";
		String k="Abvca";
		String m="01234微笑";
//a.比较大小
		System.out.println("abbb".compareTo(s));//值为1
						//"abc"与s的差值,若第二,三位都不同,只返回第二位差值
		System.out.println(k.compareTo(s));
		
		
//b.获得字符串长度
//c.访问String中的字符
		System.out.println(k.charAt(2));//输出第二号元素(从0开始编号)
		for(int i=0;i<s.length();i++)//遍历s中的元素
		{
			System.out.print(s.charAt(i));
		}

	}
}

输出结果:

第d.e.f段代码:

package spoc;

import java.util.Scanner;

public class str2 {

	public static void main(String[] args) {
		String s="abaa";
		String k="AbvcA";
		String m="01234微笑";
//d.得到字符串
		System.out.println(m.substring(2));//截取2号位置以后(包括2号)的字符串;234微笑
		System.out.println(m.substring(2,5));//截取2到5之前()即到第四位;234,
//e.寻找字符	
		System.out.println(s.indexOf("4"));//输出所在位置,若不存在输出-1;
		System.out.println(m.indexOf("微笑"));//输出第一个元素所在位置,若不存在输出-1;
//寻找第二次出现的位置
		int loc=k.indexOf("A");
		System.out.println(k.indexOf("A",loc+1));//寻找从loc+1开始,下一个字符"a"的位置
//f.其他String操作		
		System.out.println(s.toUpperCase());//全部转大写
		System.out.println(s.toLowerCase());//全部转小写
		System.out.println(s.replace("a","cj"));//把所以的a替换成cj
		s.trim();//删掉两边的字符串
		System.out.println(s.startsWith("a"));//字母是否以"a"开头
		System.out.println(s.endsWith("h"));//字母是否以"h"结尾

	}
}

输出结果: 

 

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、付费专栏及课程。

余额充值