标签:
既然选择了远方,便只顾风雨兼程。
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
Java语言中提供的数组是用来存储固定大小的同类型元素。
public class Demo1 {
public static void main(String[] args) {
// 定义一个数组,保存五名学生的成绩
int[] scores = { 78, 93, 97, 84, 63 };
// 输出数组中的第二个成绩
System.out.println("数组中的第2个成绩为:" + scores[1]);
}
}
1、 声明数组
语法: 数据类型[ ] 数组名;
或者 数据类型 数组名[ ];
其中,数组名可以是任意合法的变量名,如:
2、 分配空间
简单地说,就是指定数组中最多可存储多少个元素
语法: 数组名 = new 数据类型 [ 数组长度 ];
其中,数组长度就是数组中能存放元素的个数,如:
话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如:
3、 赋值
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩
4、 处理数组中数据
我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值
在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,如
它等价于:
public static void main(String[] args) {
// 定义一个数组,保存五名学生的成绩
int[] scores = { 78, 93, 97, 84, 63 };
//for循环打印
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i]+" ");
}
System.out.println();
//foreach打印
//foreach是for语句的特殊简化版本,在遍历数组、集合时, foreach更简单便捷。
//for(元素类型 变量:遍历对象){
//执行的代码
//}
for (int i : scores) {
System.out.print(i+" ");
}
}
执行结果
78 93 97 84 63
78 93 97 84 63
package com.zhb;
public class Demo1 {
public static void main(String[] args) {
int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
int max = nums[0]; // 假定最大值为数组中的第一个元素
int min = nums[0]; // 假定最小值为数组中的第一个元素
double sum = 0;// 累加值
double avg = 0;// 平均值
for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素
// 如果当前值大于max,则替换max的值
if(nums[i]> max){
max = nums[i];
}
// 如果当前值小于min,则替换min的值
if(nums[i]< min){
min = nums[i];
}
// 累加求和
sum+=nums[i];
}
// 求平均值
avg = sum/nums.length;
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
}
}
输出结果
数组中的最大值:148
数组中的最小值:4
数组中的平均值:49.0
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等.
package com.zhb;
import java.util.Arrays;
public class Demo1 {
public static void main(String[] args) {
// 定义一个字符串数组
String[] hobbys = { "sports", "game", "movie" };
// 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(hobbys);
// 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println( Arrays.toString(hobbys) );
}
}
执行结果
[game, movie, sports]
所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
1、 声明数组并分配空间
或者
如:
2、 赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始
如:
3、 处理数组
二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。如:
运行结果:
需要了解的:在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示:
运行结果为:
package com.zhb;
public class Demo1 {
public static void main(String[] args) {
//冒泡排序
int [] nums={1,13,2,56,23,46};
int tmp;
for (int i = 0; i < nums.length-1; i++) {
for (int j = 0; j < nums.length-i-1; j++) {
if(nums[j]>nums[j+1]){
tmp = nums[j];
nums[j] = nums[j+1];
nums[j+1]= tmp;
}
}
}
for (int i : nums) {
System.out.print(i+" ");
}
}
}
输出结果
1 2 13 23 46 56
标签:
原文地址:http://blog.csdn.net/allenjay11/article/details/51945923