您的位置:首页 > 编程语言 > Java开发

Java中的数组和字符串

2014-04-10 22:06 190 查看
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()//共有多少个语言符号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: