java数组
数组:数组其实就是一个用来存储数据的容器;
容器:生活中常见的容器有杯子,桶子,罐子,瓶子。。。而java语言中也有专门用来存数不同格式数据的容器;如List、Set、Map以及我们的数组;
数组定义:
/**
* 定义一个名为name的一维数组;
*/
数据类型 [] name = new 数据类型 [];
/**
* 定义一个名为name的一维数组;并为其创建大小;n就是这个数组容器的大小;代表着这个数组能够存储n个元素数据;在初始化数组并赋值大小后数组大小便既定;后续不可更改;
*/
数据类型 [] name = new 数据类型 [n];
/**
* 定义一个名为name的一维数组;并且直接初始化数据进入其中;
*/
数据类型 [] name = new 数据类型 []{x1,x2,x3......};
/**
* 此种定义方式同上面结果一样;同为定义一个名为name的一维数组;并且直接初始化数据进入其中;
*/
数据类型 [] name = {x1,x2,x3......};
数组访问:数组的访问是通过下标来访问;而下标从0开始;比如一个名为name的数组内存储10个元素数据,则其的长度大小为10,而访问它第一个元素从0开始以此类推;
数组访问格式:数组名[下标];
数组长度访问:数组名.length;
小练习:
数组元素最大值获取;
public static void main(String[] args) {
/**
* 找出峰值最高的量;
*/
int [] num = {1,55,345,666,10000,5000,60398588,7766};
int x = 0;
for(int i : num){
if(i>x){
x=i;
}
}
System.out.println(x);
}
数组反转;
public static void main(String[] args) {
// 一维数组;
int[] arr = { 1, 2, 3, 4, 5 };
/**
* 实现思路:
* 首先明确一点:数组反转和数组内元素的大小没有关系;最终实现的是第一位下标元素与数组.length-1位的元素位置发生对调,依次内推;
* 那么明确了这一点之后就可以开始操作;在这里说明一下,反复思索后用两层循环暂时无法实现;下面是直接通过一层循环来实现反转;
* 首先获取到最小下标位和最大下标位;然后限定变量的增减与循环的条件;利用一个第三方变量来实现数据的倒置;
*/
for(int min=0,max=arr.length-1;min<=max;min++,max--){
// 先将最小下标位数据倒置到一个临时的第三方变量中;
int temp = arr[min];
// 此时由于最小下标位的数据已经备份,可以直接获取最大下标位的数据来存到最小下标位中;
arr[min] = arr[max];
// 然后将第三方临时变量中备份的原最小下标位的数据转存到现最大下标位中;
arr[max] = temp;
}
/**
* 完成上面的循环后数据已经完成了反转;
* 此时利用另一个循环将数据重新打印出来看效果;
*/
for(int i : arr){
System.out.print(i);
}
}
A. 我们知道数组的长度一旦限定后续不能改变;
那对于需要不断变化的数据来说这将会是一个无法逃避的问题;
为此Java专门有一个类来解决这个问题:即ArrayList类;
java.util.ArrayList可以实现数组大小不断变化的需求;
划重点:在使用ArrayList进行数据存储的时候需要注意一种情况;
那就是存储基本数据类型时要使用对应的包装类进行数据存储;