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

原创 2013年12月05日 15:32:40

这些天都在看比较深的内容,头疼不已,故捡一些比较基础的东西,比如这篇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);
	}
}


相关文章推荐

Java学习笔记之String类的常用方法

public class StringTest{ public static void main(String[] args) { //创建一个字符串,注意前后各留一个空格 ...

Java基础学习笔记:(六)String常用方法

六.String常用方法6.1 字符与字符串  1.取出字符串中指定索引的字符:public char charAt(int dinex),示例如下:public class Test{ pu...

(22)Java学习笔记——常用对象API / String类

String 类 字符串:就是由多个字符组成的一串数据。也可以堪称是一个字符数组。 字符串的特点: 字符串字面值“abc”也可以看成是一个字符串对象。 字符串是常量,一旦赋值不能被改变。 构造方法: ...

java学习笔记24——String类不可变性

如果我们需要修改一个String对象,最好使用StringBuffer或StringBuilder。否则,会在每次创建一个新的String对象时消耗垃圾回收器大量时间。 例 How to ...

Java学习笔记——String类及其常见功能(13)

String类概述 String类,字符串是一个特殊的对象。 字符串一旦初始化就不可以被改变。 class StringDemo { public static void main(...

黑马程序员——Java学习笔记 String类和基本数据类型对象包装类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

Java Web 学习笔记之六 DataOutputStream方法writeBytes(String s)方法中文乱码问题

java.io.DataOutputStream是java流中一个比较好用的类,可以直接通过其中的方法向输出流(文件、网络等)输出字串、整形、浮点等数据结构数据。...

Struts2学习笔记——002实现一个Action类的最常用方法

1,实现一个Action的最常用方法就是:从ActionSupport继承 ActionSupport类有一个execute()方法,返回值类型为字符串,struts.xml会根据返回的字符串,找到相...

黑马程序员——Java常用类笔记(上)【Object类/Scanner类、String类/StringBuffer类、包装类】

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、Object类/Scanner类 1,Object类概述 类层次结构的根类,所以类都...

(23)Java学习笔记——常用对象API / StringBuffer类

StringBuffer类 线程安全的可变字符序列 StringBuffer和String的区别 前者长度和内容可变,后者不可变 如果使用前者做字符串的拼接,不会浪费太多的资源 StringB...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java学习笔记(六)——String类的常用方法
举报原因:
原因补充:

(最多只允许输入30个字)