java学习笔记(六)——String类的常用方法

这些天都在看比较深的内容,头疼不已,故捡一些比较基础的东西,比如这篇String类。


掌握String类中的常用方法
了解API文档的查找方法
具体内容
  一门语言,除了语言本身要非常优秀之外,另外最主要的就是要有语言的使用文档,在文档
中明确的为用户列出了全部的类及相关的操作方法的说明。
1、字符数组与字符串
    一个字符串可以变为一个字符数组,同样,也可以把一个字符数组,变为一个字符串。
    在String类中提供了以下的操作方法:
        ·将字符串变为字符数组:public char[] toCharArray()
        ·字符数组变为字符串:public String(char[] value)
                              public String(char[] value,int offset,int count)

public class Test {
	public static void main(String args[]){
		String str1 = "Hello";
		char c[] = str1.toCharArray();
		for(int i=0;i<c.length;i++){
			System.out.println(c[i]+",");
		}
		System.out.println(" ");
		String str2 = new String(c);
		String str3 = new String(c,0,3);
		System.out.println(str2);
		System.out.println(str3);
	}
}


2、从字符串中取出指定位置的字符
如果要想使用此操作,则肯定此方法的返回值是一个char类型。
public class Test {
	public static void main(String args[]){
		String str1 = "Hello";
		System.out.println(str1.charAt(4));
	}
}
使用方法charAt(0;可以指定取出具体哪一个字符,必须注意的是,从0开始,比如上述取出的是‘o',也就是考虑数组从0开始。

3、字符串与byte数组的转换
byte数组(字节数组),在一般的IO操作中会经常使用到。
在String类中提供了以下的方法可以进行字符串与字节数组的转换:
    ·字符串变为字节数组:public byte[] getBytes()
    ·将一个字节数组变为字符串:
        |- 将全部字节数组变为String:public String(byte[] bytes)
        |- 将部分字节数组变为String:public String(byte[]bytes,int offset,int lenth)
public class Test {
	public static void main(String args[]){
		String str1 = "Hello";
		byte b[] = str1.getBytes();
		System.out.println(new String(b));
		System.out.println(new String(b,1,3));
	}
}


4、取得一个字符串的长度
    要想取得字符串中的长度:public int length()
注意:
    很多人学到此处的时候就会为一个小的地方开始犯迷糊。在操作中数组中可以使用“数组名称.length”,那么有的人在使用的时候就习惯的在字符串操作的地方也使用“字符串.length”的格式:strl.length。
public class Test {
	public static void main(String args[]){
		String str1 = "Hello huangjin";
		System.out.println("\""+str1+"\"的长度为:"+str1.length());
	}
}


5、查找指定的字符串是否存在
    在实际操作中,经常会使用到判断一个字符串中是否存在某些内容,此时就可以使用以
下的方法:
        ·从头开始查找:public int indexOf(String str)
        ·从指定位置开始查找:public int indexOf(String str,int fromIndex)
    查找的时候,方法的返回值是一个int类型的数据,此数据表示的是一个字符串的具体位置,如果没有查找到此字符串,则返回“-1”。
public class Test {
	public static void main(String args[]){
		String str1 = "Hello huangjin";
		System.out.println("\""+str1+"\"的长度为:"+str1.length());
		System.out.println(str1.indexOf("o"));
		System.out.println(str1.indexOf("o",3));
		System.out.println(str1.indexOf("z"));
	}
}


6、去掉空格
    如果一些信息是由用户输入的话,则就可能出现多余的空格,在这种操作中就可以使用trim()去掉字符串的左右空格,但是字符串中间的空格是不可能去掉的。
public class Test {
	public static void main(String args[]){
		String str1 = "       Hello      df        ";
		System.out.println(str1.trim());
	}
}


7、字符截取
    从一个指定的字符串中取出里面的部分内容,使用的方法:
        ·从指定位置开始一直截取到结束位置:public String substring(int beginIndex)
        ·截取指定范围的字符串:public String substring(int beginIndex,int endIndex)
public class Test {
	public static void main(String args[]){
		String str1 = "hello world";
		System.out.println(str1.substring(0));
		System.out.println(str1.substring(1,3));
	}
}


8、拆分字符串
    如果现在需要按指定的字符串去拆分一个字符串的话,则使用:public String[] split(String regex)
public class Test {
	public static void main(String args[]){
		String str1 = "i love you";
		String s[] = str1.split(" ");
		for(int i=0;i<s.length;i++){
			System.out.println(s[i]);
		}
	}
}


9、大小写转换
    此功能在一般的开发语言都会存在,讲一个大写的字符串全部字母变为小写,或者将一个小写的字符串中的全部字母变为大写。
        ·小写变大写:public String toUpperCase()
        ·大写变小写:public String toLowerCase()
public class Test {
	public static void main(String args[]){
		String s = new String("hello WORLD");
		System.out.println("hello world".toUpperCase());
		System.out.println("HELLO WORLD".toLowerCase());
		System.out.println(s.toUpperCase());
	}
}



10、判断是否以指定的字符串开头或结尾在String中可以使用以下的两个方法完成:
        ·判断是否以指定的字符串开头:public Boolean startsWith(String prefix)
        ·判断是否以指定的字符串结尾:public Boolean endsWith(String suffix)
public class Test {
	public static void main(String args[]){
		String str1 = "**HELLO";
		String str2 = "HELLO**";
		if(str1.startsWith("**")){
			System.out.println("以**开头");
		}
		if(str2.endsWith("**")){
			System.out.println("以**结尾");
		}
	}
}


11、不区分大小写的比较
    在String类中equals()方法是可以用来进行字符串比较的,但是此种比较方法的只能针对大小写完全一样的字符串进行比较,如果现在要是想进行不区分大小写的比较,则可以使用以下的方法:
        ·public Boolean equalsIgonoreCase(String anotherString)
public class Test {
	public static void main(String args[]){
		String str1 = "HELLO world";
		String str2 = "hello WORLD";
		System.out.println("\"HELLO\" equals \"hello\" "+str1.equals(str2));
		System.out.println("\"HELLO\" equalsIgnoreCase \"hello\" "+str1.equalsIgnoreCase(str2));
	}
}



12、字符串替换功能
    在String类中提供了以下方法用于字符串的替换操作:
        ·public String replaceAll(String regex,String replacement)
public class Test {
	public static void main(String args[]){
		String str = "hello";
		String newstr = str.replaceAll("l","x");
		String s = str.replaceAll(str,newstr);
		System.out.println("替换之后的结果:"+newstr);
		System.out.println("替换之后的结果:"+s);
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值