day09 Java语言中的---字符串
一、字符串概述:
字符串在程序中是一个非常重要的知识点,在处理一系列程序的时候都会定义一些字符串来使用。下面我们就来看看如何定义和使用一个字符串。
二、字符串(String):
1、字符串的分类:字符串根据能否可以改变被分为常用的三种,
(1)“String”类:这个类是Java本身自带的一个类,无需定义。可以直接使用,但是当你在操作这个类的时候你就可以直接创建实例。同时这也是一个不可变的类,也就是说你对某个字符串新增或者删除时,原来的这个字符串是不会受到影响的。
(2)“StringBuffer”类:这个是线程安全的类,这个类也是可以直接通过创建对象来创建实现,同时它是一个可变类,也就是说这个类你对他进行增删字符串的时候就可以直接改变原来的字符串。
(3)“StringBuilder”类:这个是非线程安全的类,这个类的使用方式和方法与StringBuffer类一样的。直接就可以掉方法使用。
2、实例一“String”类的一些使用:
package www.com.c2;
public class StringA {
public static void main(String[] args) {
//String类、是不可变类
//定义字符串
String a = "zs";//创建方式一
String b = new String("ls");//创建方式二
//判断两个字符串是否相等。
System.out.println(a.equals(b)?"yes":"no");
/* 注意:
使用第一中方式创建字符串时,会先去堆里面查找是否有相应的字符串。
如果有就不会在堆里面创建。而会在栈里面创建出相应的名字指向同一个堆。
如果没有就会创建出来。
使用第二中方式创建字符串的时候,不管你堆里面是否有相应的字符串,
都会被再一次的创建,而不受任何影响。只要new就会创建新的内存。
*/
//字符长度
String C = new String("abcdefg");
int len = C.length();
System.out.println("字符串的长度是:"+len);
//查看某一个位置上的字符
char e = C.charAt(1);
System.out.println("你查看的是:"+e+"这个字符!");
//具体操作某一个字符串
String path = "中华路"+"延安路"+"宝山路"+"北京路";
System.out.println(path);
System.out.println("字符串的长度为:"+path.length());
System.out.println("判断字符是否是中华路开头的:"+path.startsWith("中华路"));
System.out.println("判断字符是否是宝山路结尾的:"+path.endsWith("宝山路"));
System.out.println("这个是截取中间的某一个字段:"+path.substring(4,11));
System.out.println("这是将字符串中的北京路替换成中山路:"+path.replaceAll("北京路", "中山路"));
//然而我们的操作了path字符串,但是path这个字符串的本身是没有改变的。
//判断两个字符串是否相等
String zs = "student";
String ls = new String("STUDENT");
System.out.println(zs==ls);//输出不相等
System.out.println(zs.equals(ls));//输出不相等。是因为大小写不一样
System.out.println(zs.equalsIgnoreCase(ls));//不区分大小写的判断
//所以说:在判断字符串是否相等请使用“.equals”来判断。
//将字符串转成字符数组
String wmz = "abcdefghigk";
char[] ABC = wmz.toCharArray();
System.out.println(ABC);
}
} 3、实例二“StringBuider”类
package www.com.c2;
public class StringBuiderB {
public static void main(String[] args) {
//StringBuilder:非线程安全的string类。是可变类。
StringBuilder zs = new StringBuilder("abcdefg");
System.out.println("字符串的长度:"+zs.length());
System.out.println("追加功能:"+zs.append("--这是追加的字符!"));
System.out.println("删除指定位置间的字符:"+zs.delete(2, 4));
System.out.println("颠倒字符串的顺序:"+zs.reverse());
//Stringbuffer:是线程安全的。避免多线程的竞争。是可变类
StringBuffer ls = new StringBuffer("ABCDEFG");
System.out.println("字符串的长度:"+ls.length());
System.out.println("追加功能"+ls.append("、ok!这是追加的哦!"));
}
}三、结束语:
到这儿我就想说一点,StringBuider类和StringBuffer类的使用时一样的,所以说实例二是两个知识点的实例。这些也知识一些基础的东西。了解一下吧!
本文出自 “程序猿” 博客,转载请与作者联系!
原文:http://dzx123.blog.51cto.com/13270347/1969267