第十章数组和字符串.pptVIP

  • 2
  • 0
  • 约1.63万字
  • 约 51页
  • 2017-04-26 发布于北京
  • 举报
第十章数组和字符串

第10章 数组和字符串;本章要点: 数组的初始化 数组的拷贝 命令行参数 String类 StringBuffer类 使用StringTokenizer类分析字符串 Character类 字符串与字符、字节数组;10.1 数组;10.1.2 数组的初始化 要想初始化一个数组,有隐式和显式初始化两种方式。 1. 隐式初始化 用户可以像实例化一个对象一样采用关键字new来实现。如初始化整数数组a: int[] a = new int[100]; 或 int a[]= new int[100]; 再如初始化学生类数组 Student[] aStudent= new Student[50]; 或 Student aStudent[] = new Student[50]; 这两种形式分别初始化整数数组a的容量为100,学生数组aStudent的容量为50,也就是说,在数组内最大的元素个数分别是100和50,也只能容纳100和50个元素。 ;2. 显式初始化 所谓显式初始化,也就是在声明一个数组的时候,直接进行数组的赋值。如声明一个具有5个元素的整数数组b: int[] b = {1, 2, 3, 4, 5}; 注意:在这种初始化方式中,我们没有使用关键字new,也没有指定数组元素的个数。但这样做是可行的,系统会自动计算数组元素的个数,创建一个固定容量的数组。 有时我们需要得到数组容量的大小,这时有一个特殊的方法,例如,我们要得到整数数组b的容量,可以采用如下的格式: b.length;//注意这并不是方法的调用,length的后面没有括号。 要知道学生类数组的大小,可以采用如下的格式: aStudent.length; 通过这种方式得到的数值是一个整型的数值,我们可以声明一个整数型变量来接收这个数值,如: int studentNumber = aStudent.length;;10.1.3 匿名数组 在数组中,有一种称为匿名数组的形式。顾名思义,也就是没有名字的数组,换句话说,就是声明一个数组但并没有与一个数组变量关联起来。如: new int[]{10, 20,30,40,50}; 根据以前我们的讲述,操纵对象都是通过对象句柄来操纵的,那么声明一个匿名数组有什么作用呢?声明一个匿名数组的目的是将一个新的匿名数组赋值与一个已经存在的数组变量,而不用再重新生成一个新的数组变量,但已经存在的数组变量的类型一定要与匿名数组的类型一致。如: int[] array = {1, 2, 3}; array = new int[]{10, 20,30,40,50}; 这是完全可以的,我们可以不必考虑原来数组的大小,而重新生成一个新的数组,让已经存在的数组变量重新指向一个新的数组对象,系统会自动计算新的数组对象的长度(容量)。下面我们用一个很简单的程序来测试一下。 ;例10-2 程序清单 ArrayTest.java /** * 通过这个程序,我们要测试两个方面: * 1. 匿名数组可以赋值与一个已经存在的数组变量,不关心原来数组变量的容量 * 2. 数组变量的类型必须要与匿名数组的类型一致 */ public class ArrayTest { public static void main(String[] args) { ArrayTest aTest = new ArrayTest(); int[] a = {1, 2, 3};//声明一个新的数组,并赋值与一个新的数组变量 aTest.print(a); a = new int[] {10, 20, 30, 40, 50};//将整型匿名数组赋值与存在的数组变量a //a = new String[] {a, b};//将字符型匿名数组赋值与存在的数组变量a aTest.print(a); } public void print(int[] array) { System.out.println( 数组变量的长度是 + array.length); System.out.println( 数组中的每个元素是: ); for (int i = 0; i array.length; i++) { System.out.print( + array[i]);//打印出数组中的每一个元素 } System.out.println(\n**********************); } };10.1.4 数组的拷贝 由于数组本身属于对象类型,它在Java公开库中有一个类与之相对应──Ar

文档评论(0)

1亿VIP精品文档

相关文档