请登录
四川成人和教育管理有限公司 - 笔记串讲 - 工学类 - 4747Java语言程序设计(一) - 浏览文章

4747自考Java语言程序设计(一)最新串讲笔记(自考小抄)4

2016/5/31 10:12:090人浏览0评论

第4章            数组和字符串

1. 数组(课本69-73页,综合应用)

数组是连续存储区域的命名集合,这些存储区域彼此相邻,存放着相同类型的数据元素。

一维数组(见课本69-71页)

1)声明一维数组

一维数组变量的声明格式有如下两种:

数组元素的数据类型 [ ]      数组名;

数组元素的数据类型      数组名[ ];

2)创建一维数组

Java数组是引用类型,可以通过new 操作符来创建;在创建一个数组时必须指明数组的元素类型和它的长度。

先声明后创建

   格式:数组名 = new 数组元素类型[元素个数]

  示例:

   char[ ]  c;                   // 声明数组

   c = new char[5];        // 创建数组,并分配内存

在声明时创建

   示例:

   char[ ]  c = new char[5];

对于较小的数组,可以使用直接赋值创建,即在声明数组时赋给它初值。数组初始化表达式写成一组用逗号分开的扩在花括号里的表达式。

例如:int arr[ ] = {2, -9, 15, -2, 0, 80, 7};

           char c[ ] = {‘h’, ‘e’, ‘l’, ‘l’, ‘o’};

3)引用一维数组元素

数组的每个元素通过它在数组里的位置来引用:数组名 [ 下标 ],例如:arr[7]

数组下标必须是0N-1之间的整数,或值在0N-1之间的整数表达式,其中N是数组里元素的个数。例如:arr[7]arr[i+j](其中i=1, j=6

使用一个不在0N-1范围内的下标值系统将发生运行时异常,这是由于Java运行系统会对数组下标自动进行范围越界检查。例如:arr[-1]arr[15]

多维数组(见课本71-73页)

1)声明二维数组

声明二维数组的形式有以下三种:

数据元素类型  数组名[ ][ ]

数据元素类型[ ][ ]  数组名

数据元素类型[ ]  数组名[ ]

2)创建二维数组

创建二维数组的方法也有多种:

l   直接分配(适用于平衡二维数组,即矩阵)

格式:类型 数组名[ ][ ] = new 类型[长度1][长度2];

例如: double rainfall[ ][ ] = new double[12][31];

l   从最高维开始,分别对每一维分配不等长空间(适用于非平衡数组)

例如: int a[ ][ ] = new int[3][ ];

            int a[0] = new int[4];

            int a[1] = new int[5];

            int a[2] = new int[2];

l   直接赋值创建(适用于元素较少的数组)

例如:int[ ][ ]  x = { {5,6,7},

                 {8,9,10,11},

                 {18,19,20,15},

                 {2,9}

                 };

3)引用二维数组元素

书中示例的非平衡二维数组x中,x[2][3]值为15

4)使用二维数组要注意的问题

二维数组名[下标1]是一维数组。

二维数组名.length是二维数组的子数组个数;二维数组名[下标1].length是指定子数组的元素个数。

2. 字符串(课本73-80页,综合应用)

字符串常量(见课本73页)

双引号括起来的字符序列。示例:“student”、“你好” 或“123.456

字符串声明和创建(见课本73-74页)

String name1 = new String( );

String name2 = new String(“Hello World”);

char a[ ]  = {1,2,3,4,5,6,7}

String name3 = new String(a);

String name4 = new String(a,2,4);

字符串基本操作(见课本74-77页)

1)字符串连接

String s1 = “sweet”;

String s2 = new String( “you ” + “are ” + s1);

2)获取字符串长度

方法:public int length()

功能:返回此字符串的长度

3)字符串前缀或后缀的比较

方法:public boolean startsWith(String prefix)

功能:测试此字符串是否以指定的前缀开始

方法:public boolean endsWith(String suffix)

功能:测试此字符串是否以指定的后缀结束

4)比较两个字符串是否相同

方法:public boolean equals(Object obj)

功能:比较两个引用变量是否引用同一个对象,例如x.equals(y),对于任何非空引用值 x y,当且仅当 x y 引用同一个对象时,此方法才返回 truex == y 具有值 true)。

方法:public boolean equalsIgnoreCase(String anotherString)

功能:将此 String 与另一个 String 比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。

方法:public int compareTo(String str)

功能:按字典顺序比较两个字符串的大小。该比较基于字符串中各个字符的 Unicode 值。如果此 String 对象小于参数字符串,则返回一个负整数。如果此 String 对象大于参数字符串,则返回一个正整数。如果这两个字符串相等,则返回 0

方法:public int compareToIgnoreCase(String str)

功能:按字典顺序比较两个字符串,不考虑大小写。

5)字符串检索

String的实例方法indexOf( ) 可以 用于在字符串中查找一个字符或子串的索引位置。indexOf( )方法在一个String里从左到右查找一个字符或子串,它有几种版本:

public int indexOf( String string );

public int indexOf( String string, int startingIndex );

6)取字符串的子串

方法substring( )可以用 来从一个String里检索一个字符子串。

    public String substring( int startIndex )       

例如:

             String str = “HelloWorld”;

             str.substring( 5 );  // “World”   

             str.substring( 9 ); // ”d”

7)替换字符串中的某字符得到一个新字符串

方法:public String replace(char oldChar, char newChar)

功能:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

8)去掉前后空格得到一个新字符串

方法:public String trim()

功能:返回字符串的副本,去掉前后空白。

9)基本类型值的字符串表示

String的类方法valueOf( )用于把某种基本类型的值转换成一个String对象。

10)字符串得到基本类型对象

每种基本类(包装类,除Character)都有类方法能将字符串转换成基本类的对象,形如:

         public static Type valueOf(String s)

    其中,Type代表任何基本类,包括BooleanIntegerDouble等。

11)字符串得到基本类型值

每种基本类(包装类,除Character)都有类方法能从字符串中解析出基本类型的值,形如:

         public static type parseType(String s)

    其中,type代表任何基本数据类型,包括booleanintdouble等,Type代表相应的包装类。

StringTokenizer类(见课本77-78页)

java.util.StringTokenizer类用来把字符串分解为标记。

常用构造方法1

public StringTokenizer(String str)

   //为指定字符串构造一个 string tokenizer。使用默认的分隔符集  \t\n\r\f”,即:空格字符、制表符、换行符、回车符和换页符。

常用构造方法2

public StringTokenizer(String str, String delim)   

    //为指定字符串构造一个 string tokenizerdelim 参数中的字符都是分隔标记的分隔符。

常用方法:

public int countTokens()

    // 返回使用当前分隔符集的字符串中剩余的标记数

public String nextToken()

   //返回此 string tokenizer 的下一个标记。

public boolean hasMoreElements()

   //测试此 string tokenizer 的字符串中是否还有更多的可用标记。如果此方法返回 true,那么后续调用无参数的 nextToken 方法将成功地返回一个标记。 

字符串与字节数组(见课本78-79页)

可以使用String构造方法,利用字节数组创建字符串:

public String(byte[ ] bytes)

    //通过使用默认字节字符对应表,由字节数组构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。

public String(byte[ ] bytes, int offset, int length)

    //通过使用默认字节字符对应表,由字节数组起始位置offset开始取length个字节构造一个新的 String

String类也提供实例方法将字符串转化为字节数组:

public byte[] getBytes()

    // 使用默认字节字符对应表将字符串转化为字节数组

对象的字符串表示(见课本79-80页)

根类Object中定义了实例方法

                 public String toString()

此方法的功能描述为:返回该对象的字符串表示。


关键字:
网友评论