《Android游戏开发详解》一2.19 使用字符串

    xiaoxiao2024-05-24  129

    本节书摘来异步社区《Android游戏开发详解》一书中的第2章,第2.19节,译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.19 使用字符串

    Android游戏开发详解让我们通过使用熟悉的一个类String,来练习一下如何使用Java文档。创建一个名为FunWithStrings的新的Java项目,并且创建一个名为StringTester的、带有main方法的新的类,如程序清单2.18所示。

    程序清单2.18 StringTester.java——空的版本

    01 public class StringTester { 02 03    public static void main(String[] args) { 04     05    } 06 07 }

    String类(它隐藏于Java库之中)允许我们在自己的代码中创建String对象。让我们使用用于初始化对象的new关键字,来初始化一个String对象。在main方法中添加如下代码。

    String s = new String(“this is a string”);

    字符串是如此的常用,以至于Java提供了一种特殊的方法来初始化它们。再添加如下的一行代码。

    String s2 = “this is also a string”;程序清单2.19给出了更新后的类。

    程序清单2.19 StringTester.java——更新的版本

    01 public class StringTester {0203    public static void main(String[] args) {04        String s = new String("this is a string");05        String s2 = "this is also a string"; 0607    }0809 }像其他的Java对象一样,Strings也有状态和行为。在本书中,我们将只关注Strings的行为,其状态对于我们来说没有用。

    让我们现在来使用Java文档。搜索String 类,并且向下滚动到Method Summary。你会发现,这里给出了String对象可用的方法的一个列表。如图2-24所示。

    这个表中的单个条目,告诉我们每个方法的返回类型,以及方法名、所需的参数(输入)和方法概览。

    String有一个方法,可以从一个指定的位置(称为索引)获取一个单个的字符(类型为char)。这个方法名为charAt(),它接受一个整数值,表示想要的字符的索引。

    Java中的索引值是基于0的,这意味着,第一个字符的索引为0。让我们看一下这在代码中意味着什么。我们将调用charAt()方法,并且查看String s中的第3个字符(索引2),如程序清单2.20中第7行代码所示。

    程序清单2.20 打印出一个字符串中的字符

    01 public class StringTester { 02 03    public static void main(String[] args) { 04        String s = new String("this is a string"); 05        String s2 = "this is also a string"; 06 07        char ch = s.charAt(2); 08        System.out.println("The third character is " + ch); 09    } 10 11 }

    相应的输出如下所示。

    The third character is i

    让我们来看看使用Java文档的另一个例子。查找Method Summary。能否找到一个方法,它返回给定的String的长度。浏览Method Summary,会找到图2-25所示的内容。

    这张图告诉我们要使用length()方法所需的所有信息。我们知道,它返回一个整数来表示调用该方法的String的长度。该方法没有参数。让我们尝试得到s和s2的长度,并且判定哪一个更长。修改StringTester类,使其如程序清单2.21所示;新的代码在第10行到第19行。

    程序清单2.21 StringTester.java(更新版本)

    01 public class StringTester { 02 03    public static void main(String[] args) { 04        String s = new String("this is a string"); 05        String s2 = "this is also a string"; 06 07        char ch = s.charAt(2); 08        System.out.println("The third character is " + ch); 09       10        int sLen = s.length(); 11        int s2Len = s2.length(); 12 13        if (sLen > s2Len) { 14            System.out.println("s is longer than s2."); 15        } else if (sLen == s2Len) { 16              System.out.println("They have the same length.");   17            } else { 18              System.out.println("s2 is longer than s"); 19          } 20 21    } 22 23 }

    运行该代码,将会得到如下所示的结果。

    The third character is i s2 is longer than s

    我鼓励你尝试一下Java文档中列出的其他方法。能够使用Java文档,这是一项重要的技能。和其他所有值得做的事情一样,只有通过练习才能较好地掌握。记住如下几件事情。

    ① 返回类型:(这决定了需要在结果中存储什么类型的变量)。

    ② 方法名称:(必须完全像显示的那样拼写。方法名称是区分大小写的)。

    ③ 输入:(必须总是提供为了让方法工作而所需的参数。这包括提供正确的参数个数和正确的类型)。

    ④ 一些方法要求CharSequence类型的输入。当你遇到这样的方法的时候,你可能要提供一个String。这是因为有一种有趣的特性叫作多态(polymorphism,即一个对象能够采取多种形式的能力),我们将会在下一章中详细讨论它。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)