Java语言中的---字符串

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类的使用时一样的,所以说实例二是两个知识点的实例。这些也知识一些基础的东西。了解一下吧!

时间: 2024-07-31 01:26:52

Java语言中的---字符串的相关文章

Java语言中学习数组、运算符、流程控制的一些理解

一.数组 1.数组的概念及作用 数组是相同数据类型的元素的集合:   数组本身是引用数据类型,即对象.但是数组可以存储基本数据类型,也可以存储引用数据类型. 例如: int [] a = new int [] {1,2,3,4,5,6,}; String [] s = new String [] {"小兔","小小兔","小小小兔",} : Employee [] e = Employee [10];(Employee是自定义类). 2.数组的声

Java语言中的定义变量、构造函数

day02 Java语言中的定义类.变量.方法.构造函数 一.概述: 在Java语言中,变量的定义和使用时非常常见和重要的:同时对后续的操作变量奠定基础,在这里定义和使用变量就要使用到我们前一节说到的数据类型了,它们两个就是绑定在一起使用的.我们回顾一下前一节学的数据类型. 学完变量以后就要学会使用变量去定义一些东西,去构造我们需要的一些方法来满足学习的需要.从而引申出了构造这一个词汇.构造就是创造的含义,通过创造一些东西来满足.下面就一一的来看一下. 二.定义"类"(class):

Java 语言中的 StringBuffer类 硬伤ING

StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的. 但是有一个最显著的区别在于,

Java语言中的正则表达式

正则表达式是什么? 正则表达式是一种强大而灵活的文本处理工具.初学正则表达式时,其语法是一个难点,但它确实是一种简洁.动态的语言.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题:匹配.选择.编辑以及验证.一般来说,正则表达式就是以某种方式来描述字符串. 日常例子 在文本中查找“halu126”,我们通常会在查找框中输入“halu126”,这就是一个最简单的正则表达式的例子,使用精确的匹配这样的字符串,如果我 们即想在文本中找到“halu126”,又想找到“Halu126”,

day20 java 语言中的读取写入数据(一)

day20  java 语言中的读取写入数据(一) 一.io概述 io数据流的读写功能,在实际的生活中也很常见,比如文件的上传.下载,日志的自动更新等都与io读写密切相关.io又被分为了读取数据和写入数据两个大的功能.下面就来看看读取数据的几种类. 二.读取数据的几种方式 读取数据被分为了字节流读取数据,和字符流读取数据两种. (一):字符输入流: 1.fileReader类.是字符流读取数据 2.BufferedReader类.带有缓冲流读取数据 (二):字节输入流: 1.FileInputS

day21 java 语言中的读取写入数据(二)

day21  java 语言中的读取写入数据(二) 一.概述: 使用IO流写文件,就体现的是下载的功能.所以说很有必要单独说一下. 二.写入功能:(下载) 写入功能同样也是被分隔为了字符流写入和字节流写入两个方式. (一):字符流写入数据 1.FileWriter类. 2.bufferedwriter类.带缓冲流 (二):字节流写入数据 1.FileOutputStream类. 2.bufferoutputstream类.带有缓冲流 三.具体实例     (一):字符流写入数据 //io数据流输

Java语言中反射动态代理接口的解释与演示

Java语言中反射动态代理接口的解释与演示 Java在JDK1.3的时候引入了动态代理机制.可以运用在框架编程与平台编程时候捕获事件.审核数据.日志等功能实现,首先看一下设计模式的UML图解: 当你调用一个接口API时候,实际实现类继承该接口,调用时候经过proxy实现. 在Java中动态代理实现的两个关键接口类与class类分别如下: java.lang.reflect.Proxy java.lang.reflect.InvocationHandler 我们下面就通过InvocationHan

原码、反码、补码相关内容以及Java语言中是以哪一种码表示的

计算机中的数字是以二进制方式存储的,第一个二进制位为符号位,0代表正数,1代表负数 原码.反码.补码是计算机中存储数字使用的编码 1.原码.反码.补码的概念 原码:符号位加上这个数绝对值 例如正整数1的8位二进制原码为 00000001      负整数-1的8为二进制原码为 10000001 反码:正数的反码就是其本身,负数的反码就是在原码的基础上除符号位外所有的位取反 例如正整数1的8位二进制原码为 00000001 则其反码还为 00000001  负整数-1的8为二进制原码为 10000

C语言中的字符串

1.从概念上讲,C语言中没有字符串数据类型 2.在C语言中使用字符数组来模拟字符串 3.C语言中的字符串是以'\0'结束的字符数组 4.C语言中的字符串可以分配于栈空间,堆空间或者只读存储区 5.字符串的长度就是字符串所包含字符的个数 6.C语言中的字符串长度指的是第一个'\0'字符前出现的字符个数 7.C语言中通过'\0'结束符来确定字符串的长度 注意: strlen返回数为无符号数,两个无符号数相减依然为无符号数. 1.一般情况下,千万不要自行编写C标注库已经提供的函数 2.标准库有时会使用