第6章 JavaAPI - 补充案例 联系客服

发布时间 : 星期二 文章第6章 JavaAPI - 补充案例更新完毕开始阅读6a0dec7b770bf78a652954af

博学谷——让IT教学更简单,让IT学习更有效

第六章 补充案例

案例6-1 常见的创建字符串的方式

一、案例描述

1、 考核知识点

编号:00106001

名称:String类的初始化

2、 练习目标

? 掌握创建String对象的两种方式

? 掌握如何使用String类的构造方法初始化String对象

3、 需求分析

String类中有很多重载的构造方法,由于每个构造方法有其不同的作用,所以在不同场景下如何选择正确的构造方法,对于初学者来说显得尤为重要。为了让初学者能熟悉每个构造方法的用法,本案例将使用不同的构造方法创建字符串,以加深对字符串初始化的理解。

4、 设计思路(实现原理)

1) 编写Example01类。

2) 在main()方法中分别使用不同的构造方法创建字符串对象。

3) 将字符串内容输出,根据打印结果观察字符串之间的区别,熟悉不同构造方法的用途。

二、案例实现

public class Example01{

public static void main(String[] args) {

// 方式1

String s1 = new String(); s1 = \

System.out.println(\通过String()方法创建的字符串s1:\// 方式2

byte[] bys = { 97, 98, 99, 100, 101 }; String s2 = new String(bys);

System.out.println(\通过String(byte[] bytes)方法创建的字符串s2:\// 方式3

String s3 = new String(bys, 2, 3);

System.out.println(\通过String(byte[] bytes, int index, int length)方法创建的字

符串s3:\// 方式4

char[] chs = { 'a', 'b', 'c', 'd', 'e' };

1

博学谷——让IT教学更简单,让IT学习更有效

}

String s4 = new String(chs);

System.out.println(\通过String(char[] value)方法创建的字符串s4:\// 方式5

String s5 = new String(chs, 1, 3);

System.out.println(\通过String(char[] value, int index, int length)方法创建的字

符串s5:\// 方式6

String s6 = new String(\

System.out.println(\通过String(String str)方法创建的字符串s6:\// 方式7

String s7 = \

System.out.println(\直接给字符串对象赋值s7:\}

运行结果如图6-1所示。

图6-1

运行结果

三、案例总结

上面介绍过了String类的常用构造方法,一般情况下,常用的创建String对象的方式如下所示:

String str1 = \

String str2 = new String(\

这两种创建方式是有区别的,这和java的内存管理有关。因为String对象创建后不可变,所以按照第一种方式创建的字符串会放在栈里,更确切的是常量池中,常量池就是用来保存在编译阶段确定好了大小的数据,一般我们定义的int等基本数据类型就保存在这里。

使用第一种创建字符串的方法时,编译器首先检查常量池,看看有没有一个“string”,如果没有则创建。如果有的话,则直接把str1指向那个位置。

而第二种创建字符串的方法是通过new关键字,java会将new的对象放在堆中,这一部分对象是在运行时创建的对象。所以我们每一次new的时候,即便堆中已经有了一个一模一样的,都会创建不同的对象。接下来,通过一个例子来演示这两种创建字符串方式的区别。

public class Example {

public static void main(String[] args) {

String str1 = \

String str2 = new String(\String str3 = new String(\String str4 = \

2

博学谷——让IT教学更简单,让IT学习更有效

}

/* 用于测试两种创建字符串方式的区别 */

System.out.println(\System.out.println(\System.out.println(\}

运行结果如图6-2所示。

图6-2

运行结果

案例6-2 字符串的判断操作

一、案例描述

1、 考核知识点

编号:00106002

名称:String类的常见操作

2、 练习目标

? 掌握如何使用String类中的判断方法对字符串进行操作。

3、 需求分析

String类中提供了许多对字符串进行判断操作的方法,每个判断操作都有其自己的使用场景,为了让初学者能快速熟悉每个判断方法的用法,本案例将针对不同场景使用不同的判断方法,并根据判断操作输出的结果进行对比学习。

4、 设计思路(实现原理)

1) 编写Example02类。 2) 在main()方法中,使用String类中的几种常见判断操作方法,依次实现对字符串的判断操作。 3) 将判断结果输出,根据打印结果,熟悉不同判断方法的作用。

二、案例实现

public class Example02 {

public static void main(String[] args) {

String s = \

System.out.println(\字符串的判断操作***********\

System.out.println(\是和HelloWorld相等:\System.out.println(\

System.out.println(\(不区分大小写)字符串s和'helloworld'相等:\

+s.equalsIgnoreCase(\

3

博学谷——让IT教学更简单,让IT学习更有效

}

}

System.out.println(\

System.out.println(\字符串s中包含'or':\System.out.println(\

System.out.println(\字符串s以'Hel'开头:\System.out.println(\System.out.println(\字符串s为空:\

运行结果如图6-3所示。

图6-3

运行结果

三、案例总结

equals()方法比较的是两个字符串的引用是否相同;而“==”比较的是两个对象的地址是否相同。接下来,通过一个例子来对比 “==”和“equals”的区别。

public class Example {

public static void main(String[] args) { }

String s1 = \

String s2 = new String(\if (s1 == s2) { }

if (s1.equals(s2)) { }

System.out.println(\System.out.println(\} else {

System.out.println(\System.out.println(\} else {

}

运行结果如图6-4所示。

4