JavaSE入门学习27:Java常用类之String类(上)

Posted life is wonderful

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE入门学习27:Java常用类之String类(上)相关的知识,希望对你有一定的参考价值。

        一String类

        字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串。在程序开

发中字符串无处不在,如用户登陆时输入的用户名、密码等使用的就是字符串。其实,在前面的章节中我们就已经使

用了字符串,例如我们在控制台中输出的 "Hello World"等。

       在Java中,字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中。默认情况下,该包被自动导入

所有的程序。

        java.lang.String类代表不可变的字符序列,"xxxx"为该类的一个对象。

        二创建字符串

        String类常见的构造方法有:

        1)String(String original):创建一个String对象为original的拷贝;

        2)String(char[] value):用一个字符数组创建一个String对象;

        3)String(char[] value,int offset,int count):用一个字符数组从offset项开始的count个字符序列创建一个String对

象;

        创建字符串的简单的方式如下:

<span style="font-size:18px;">String greeting = "Hello world!";</span>

        在代码中遇到字符串常量时,这里的值是"Hello world!",编译器会使用该值创建一个String对象。创建一个字符

串对象greeting="Hello World!";时,Java运行时(运行中JVM)会拿着这个"imooc"Hello World!;在String池中找是否存

在内容相同的字符串对象,如果不存在,则在池中创建一个字符串"Hello World!";,否则,不在池中添加。

        和其它对象一样,可以使用关键字和构造方法来创建String对象。String类有11种构造方法,这些方法提供不同

的参数来初始化字符串,使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。这里就是直接

创建字符串对象。比如提供一个字符数组参数:

<span style="font-size:18px;">public class Test{
	public static void main(String[] args){
		//创建字符数组
		char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
		//使用构造方法创建字符串
                String helloString = new String(helloArray);  
                System.out.println(helloString);
	}
}</span>

        以上实例编译运行结果如下:

技术分享

        注意:String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了。 String 对象创建后则不能

被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。如果需要对字符串做很多修改,

那么应该选择使用StringBuffer类或StringBuilder 类。

       三字符串长度

       用于获取有关对象的信息的方法称为访问器方法。String类的一个访问器方法是length()方法,它返回字符串对象

包含的字符数。

       下面的代码执行后,len变量等于17:

<span style="font-size:18px;">public class Test{
	public static void main(String[] args){
		String palindrome = "Dot saw I was Tod";
                int len = palindrome.length();
                System.out.println( "String Length is : " + len );
	}
}</span>

       以上实例编译运行结果如下:

技术分享

       四连接字符串

       String类提供了连接两个字符串的方法:

       (1)string1.concat(string2);

       返回string2连接string1的新字符串。也可以对字符串常量使用concat()方法,如:

<span style="font-size:18px;">"My name is ".concat("Zara");</span>

       结果如下:

<span style="font-size:18px;">My name is Zara</span>

       (2)更常用的是使用‘+‘操作符来连接字符串,如:

<span style="font-size:18px;">"Hello," + " world" + "!"</span>

       结果如下:

<span style="font-size:18px;">"Hello, world!"</span>

       下面是一个例子:

<span style="font-size:18px;">public class Test{
	public static void main(String[] args){
		String string1 = "saw I was ";     
                System.out.println("Dot " + string1 + "Tod"); 
	}
}</span>
       以上实例编译运行结果如下:

<span style="font-size:18px;">Dot saw I was Tod</span>

       五创建格式化字符串

       我们知道输出格式化数字可以使用printf()和format()方法。String类使用静态方法format()返回一个String对象而不

是PrintStream对象。String类的静态方法format()能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出。

       如下所示:

<span style="font-size:18px;">System.out.printf("The value of the float variable is " +
                  "%f, while the value of the integer " +
                  "variable is %d, and the string " +
                  "is %s", floatVar, intVar, stringVar);</span>

       你也可以这样写:

<span style="font-size:18px;">String fs;
fs = String.format("The value of the float variable is " +
                   "%f, while the value of the integer " +
                   "variable is %d, and the string " +
                   "is %s", floatVar, intVar, stringVar);
System.out.println(fs);</span>

       六String方法

       下面是String类支持的方法,更多详细,参看Java API文档:

技术分享

技术分享

技术分享

技术分享











以上是关于JavaSE入门学习27:Java常用类之String类(上)的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE入门学习30:Java常用类之包装类

JavaSE入门学习28:Java常用类之String类(下)

Java全栈JavaSE:17.常用类之Object类String类StringBuilder类

Java全栈JavaSE:19.常用类之大数运算日期和日历包装类

Java全栈JavaSE:18.常用类之System类Math类数组相关操作字符串相关操作

JavaSE入门学习39:Java集合框架之比较器