Java中的数组和字符串

来源:互联网 发布:高等数学拍照解题软件 编辑:程序博客网 时间:2024/04/27 22:19

Java中的数组和字符串

一.数组:用一个标识符(变量名)和一组下标来代表一组相同数据类型的数据元素的集合.其中的每个数组元素在数组中的位置是固定的.可以通过叫做下标的编号加以区分,通过标识符和下标来访问每一个数据元素.

 数组必须经过声明和初始化后,才可以使用.

 1、数组的声明(确定数组名、数组的维数和数组的数据数据类型)但并没有分配存储空间

     一维数组的声明格式如下:

类型标识符数组名[];  或 类型标识符[] 数组名;

       int x[]; //可读性强       int[] x;常用于作为方法的返回值

publicint[] fun() { }

    二维数组的声明格式如下:

       类型标识符 数组名[][];   或  类型标识符[][]数组名;

       int x[][];            int[][] x;

  类型说明符指明数组元素的类型,可以是基本类型、类或接口;方括号表示数组的维数.

  注意:对于二维数组,前面的[]表示行,后面的[]表示列.

 

 2、数组的初始化

    声明数组并不能够为数组分配存储空间.要想使数组分配存储空间必须指定数组元素的个数.

    java有两种方式进行初始化:

    1)通过指定初值的方式:

       例如:

int[]a={12,33,77,88};

    int[][]a={{1,2,3},{4,5,6},{7,8,9}};

    2)用关键字new初始化数组:

      用关键字new初始化数组时候,只为数组分配存储空间而不对数组元素赋初值.

      用关键字初始化数组也有两种形式:

      (1)先声明数组,再初始化数组

         一维:类型标识符 数组名[];

               数组名=new 类型标识符[数组长度];

         二维:类型标识符 数组名[][];

               数组名=new 类型标识符[数组长度][];//必须指定行的长度.跟c语言不同.

         注意:对于二维数组来说,可以不指定列,但必须指定行数.

              或

              数组名=new 类型标识符[数组长度][数组长度];//数组长度是整型但不能是长整型

      (2)声明并初始化

         一维:类型标识符 数组名[]=new 类型标识符[数组长度];

         二维:类型标识符 数组名[][]=new 类型标识符[数组长度][];//如果没有给数组赋值的话,系统自动赋予默认值.

          (也就是说声明和初始化写在同一行)

 3、数组的引用

    一维数组的引用格式如下:

                           数组名[数组下标];

    二维数组的引用格式如下:

                           数组名[数组下标][数组下标];

                数组下标从0—length-1

 

注:数组的长度length属性用来存储数组的长度,即数组元素的个数,因此可通过length属性来获得数组长度的信息.注意length为属性,而不是方法.这不同于字符串的length()方法.字符串对象的length()方法可以获得字符串中的字符个数.

.字符串

1)常用方法:

1.charAt(int index)返回会在index的位置处的字符。返回类型为char

2.concat(String str)连接两个字符串,参数str在后面,返回类型为String

3.endsWith(String str) 判断字符串是否以str字符串结束,返回类型boolean

4.equals(Object obj)判断一个字符串是否等于一个obj对象,返回类型为boolean

5.equalsIgnoreCase(String anotherString) 判断一个字符串是否等于另一个字符串,返回boolean

6.getBytes()将一个字符串转化为字节数组,使用系统默认编码,返回类型为byte[];

7.getBytes(String enc)将一个字符串转化为字节数组,用名字enc的编码,返回类型为byte[];

8.indexOf(int ch)返回字符ch在字符串里第一次出现的位置,如果字符串里不存在字符ch,则返回-1,返回类型为int

9.indexOf(String str)返回字符串str在字符串里第一次出现的位置,如果不存在字符串str,则返回-1。

10.length()返回字串的长度,注意:同数组的区别:数组是属性,因此用length表示。

11.toCharArray()将这个字符串转化成字符叔祖,返回类型为char[]

12.trim():去掉字符串的首尾空格。

13.toUpperCase():将字符串传唤成大写

(2)StringBuffer类

StringBuffer类是可变字符串类,创建了它的对象后,可以随意修改,改变字符串的内容。如果字符串的长度超过了StringBuffer类对象的容器,则该对象的容量自动扩大。

构造器:

StringBuffer()默认长度为16

StringBuffer(int length) 用创于建一个长度为length的对象

StringBuffer(String str)用str创建一个对象,

 

方法:

1) int capacity()获取它的容量

2) void setLength(int a)设置容量

3) int length();长度,字符串的真实长度

4) StringBufferappend(Object obj)

5) StringBufferappend(String str)

6) StringBufferappend(StringBuffer sb)

7) StringBufferinsert(int offset,Object obj)

8) StringBufferappend(int offset,String str)

9) StringBufferappend(int offset,StringBuffer sb)

 

(3)StringTokenizer类

Java中提供了专门用于分析字符串的类StringTokenizer(位于java.util包中),可以将字符串分解为独立使用的单词(语言符号)。语言符号之间由定界符(delim)或空格、制表符、换行符等来分隔。其他字符也同样可以设定为定界符。

StringTokenizer的构造方法

StringTokenizer(String str)使用默认的定界符,即空格,制表符,换行回车,TAB

StringTokenizer(String str,String delim)为字符串str构造一个字符串分析器,并使用delim作为定界符。

方法:

1) String nextToken()//返回一个字符

2) booleanhasMoreTokens()//判断要分析的字符串还有语言符号吗?有返回true,否则返回false

3) int countTokens()//共有多少个语言符号

 

 

 

 

0 0
原创粉丝点击