数组:
数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。
必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法
int[] arr;
//或
int test[];
//建议使用 int[] arr; 的声明风格声明数组变量。
声明了数组,只是得到了一个存放数组的变量,并没有为数组元素分配内存空间,不能使用。因此要为数组分配内存空间,这样数组的每一个元素才有一个空间进行存储。
简单地说,分配空间就是要告诉计算机在内存中为它分配几个连续的位置来存储数据。在 Java 中可以使用 new 关键字来给数组分配空间。分配空间的语法格式如下:
//动态初始化
type[] arrayName = new type[size];
// 数据类型[] 数组名 = new 数据类型[数组长度];
//动态初始化后就可以根据下标取到数组某个下标的值了,只不过是该类型的默认值
//动态初始化后就可以进行赋值了,赋值的类型必须和声明的类型一致
arrayName[0]=(type) n;
//静态初始化
int[] arrayName = {1,2,3,4,5};
//静态初始化是根据赋值的长度直接确定其数组长度
//动态的初始值都是该类型的默认值,静态的是直接给定值了。
//数组长度都是不可以改变的
//数组的下标是从0开始的,也就是说你声明长度为6的数组其下标为{012345};
那么数组的赋值已经知道了,取值和遍历(得到数组的所有元素)呢
public static void main(String[] args) {
double[] arr = {7.2, 2.9, 6.8, 30.8};
// 打印所有数组元素
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + " ");
}
// 计算所有元素的总和
double sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("元素的和为" + sum);
// 查找最大元素
double max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) max = arr[i];
}
System.out.println("最大元素:" + max);
}
//打印结果:
7.2
2.9
6.8
30.8
元素的和为47.7
最大元素:30.8
//也可以通过foreach循环实现,可以自己试一下
for(double element: arr)
{
System.out.println(element);
}
这里扩展一下
<body>
<input id="arr" type="button" value="点击打印" />
</body>
<script>
$('#arr').click(function(){
var children=[];
var test={
children:children
}
children.push("引用传递 ");
alert(test.children);
});
</script>
js前端点击按钮后这些语句会在页面上打印什么?
public static void main(String[] args) {
String[] arr=new String[1];
Test tt=new Test();
tt.setTe(arr[0]);
arr[0]="值传递";
System.out.println(tt.getTe());
}
//这个在控制台会打印什么?
Test类:
public class Test {
private String te;
public String getTe() {
return te;
}
public void setTe(String te) {
this.te = te;
}
}
可以自己试一下
多维数组可以看成是数组里再存数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组;
String str[][] = new String[3][4];
0000
0000
0000
可以看成是一个3行4列的数据
//可以从网上了解一下;与之对应的还有稀疏数组
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
还有很多方法可以查看jdk api帮助文档