- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA-数组和字符串
第5章;在程序设计中,数组类型是一种表示数据集合的常用手段,字符串是一种表示姓名、提示信息等类似数据的常见形式。
在Java语言中,为数组类型与字符串都定义了相应的标准类,Arrays是实现数组类型的组织与操作的类,String是实现字符串存储与操作的类。
这样既体现了Java面向对象的完整性,又增强了这两种数据的操作能力,为简化程序设计过程,提高程序的可靠性提供了可能性。 ;5.1 数组类型;5.1.1 一维数组;1. 一维数组的定义;例:
int[ ] intArray; 或者 int intArray[ ];
float[ ] floatArray; 或者 float floatArray[ ];
String[ ] stringArray; 或者 String stringArray[ ];
建议使用前一种格式风格,这种格式风格的好处是将数据类型集中表示,即前面是数据类型,后面是变量名称,而后面一种格式风格的数据类型被变量名称分隔为前后两个部分。
Java语言保留这种定义格式风格完全是为了尊重人们的使用习惯。;2. 一维数组的创建;例:
intArray由100个int类型的元素组成 intArray = new int[100];
floatArray由50个float类型的元素组成floatArray = new float[50]; stringArray由10个String类型的元素组成
stringArray = new String[10];;也可以将数组的定义与创建合并
char[] name = new char[30];
double doubleData[] = new double[10]; ;3. 一维数组的初始化;3. 一维数组的初始化;4. 一维数组元素的访问;length的使用:
当需要对数组中的每个元素进行操作时,可以利用数组对象中封装的length属性获得当前数组中包含的元素数目。
板式: 数组名.length
int value[ ] = {10,9,40,20,12,8,9};
for (int i = 0, sum = 0; i value.length; i++) {
sum += value[i];
}
在for语句中,将循环上界设定为value.length的好处是:当value数组的长度发生变化时不需要修改程序的其他地方。;在JDK 5.0版本中增加了一个专门用于操作数据集合的循环流程控制语句for each,其功能更加强大、书写更加简洁。这种语句的书写格式为:
for (数组元素型变量 :数组型变量) 语句;
“数组元素型变量”是与数组元素同类型的变量,
“数组型变量”是一个表示数组引用的变量。
例如,可以将上述数组元素累加的程序段改写成:
int sum = 0;
int value[ ] = {10,9,40,20,12,8,9};
for (int v : value) {
sum += v;
}
这条语句的执行过程可以描述为:循环访问value数组中的每个元素并将其内容累加到变量sum中。 ;5. 一维数组的复制;第二种复制是使用arraycopy
arraycopy是System类中的一个静态方法。
定义格式为:
void arraycopy(Object src, int srcPos,
Object dest, int destPos, int length)
其中,src为被拷贝的原始数组,srcPos为原始数组中将要拷贝的数组元素的起始位置,dest为目标数组,destPos为拷贝到目标数组中后放置数组元素的起始位置,length为拷贝的数组元素数目。;int[] arraySrc = {5,10,15,20,25,30,35,40,45,50};
int[] arrayDest = new int[10];
执行语句:
System.arraycopy(arraySrc, 0, arrayDest, 0, 10) ;;举例5-1:
假设有n个候选人参加学生会主席的竞选,最后将根据学生的投票情况决定学生会主席的获胜人选。编写一个程序,完成选票的统计工作,并显示最终的获胜者。
分析:为了利用程序解决这个问题,假设为每位候选人编号1... n。如果希望为某位候选人投票时,只需要从键盘上输入这位候选人的编号即可。
每位候选人所获的选票的存储在一个含有n个元素的一维数组中。由于含有n个元素的一维
文档评论(0)