黑马程序员技术交流社区
标题:
数组
[打印本页]
作者:
fantianfei
时间:
2015-6-29 13:31
标题:
数组
数组:同一种类型数据的集合,其实数组就是一个容器。
优点:可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度]
示例:int[] arr = new int[5];
int arr[] = new int[5];
格式2:
元素类型[] 数组名 = new 元素类型[]{元素,元素,......};
int[] arr = new int[]{1,3,5,7};
int[] arr ={1,3,5,7};
数据类型:基本数据类型和引用数据类型。
数组类型是引用数据类型里三种的其中一种。
栈内存:数据使用完毕会自动释放,局部变量都存储在栈内存中。
堆内存:用于存放实体,数据使用完毕后不会自动释放。
堆内存中的实体是用来封装数据的,而且都有默认初始化值.
如:int:0 double:0.0 float:0.0 boolean:false
需求:给定一个数组{5,1,6,4,2,8,9},获取数组中的最大值,以及最小值。
思路:
1,获取最值需要进行比较,每一次比较都会有一个较大的值,因为该值不确定,进行一个变量临时存储。
2,让数组中的每一个元素都和这个变量中的值进行比较。
3,当所有的元素都比较完成,那么该变量中存储的就是数组中的最大值了。
步骤:
1,定义一个变量,初始化为数组中的任意一个元素即可。
2,通过循环语句对数组进行遍历。
3,在遍历过程中定义判断条件,如果遍历的元素比变量中的元素大,就赋值给该变量。
定义一个功能完成,以便提高复用性。
1,明确结果,数组中的最大元素:int。
2,未知内容,一个数组。int[]
代码1:
class Shuzu
{
public static int getMax(int[] arr)
{
int max=arr[0];
for (int x=1; x<arr.length; x++)
{
if(arr[x]>max)
max = arr[x];
}
return max;
}
public static void main(String[] args)
{
int[] arr ={5,1,6,4,2,8,9};
int max=getMax(arr);
System.out.println("max="+max);
}
}
获取最大值另外一个办法,
可不可以将临时变量初始化为0呢?可以,这种方式其实是在初始化为数组中的任意一个角标。
代码2:
class Shuzu
{
public static int getMax_2(int[] arr)
{
int max=0;
for (int x=1; x<arr.length; x++)
{
if(arr[x] >arr[max])
max = x;
}
return arr[max];
}
public static void main(String[] args)
{
int[] arr ={5,1,6,4,2,8,9};
int max=getMax_2(arr);
System.out.println("max="+max);
}
}
作者:
风随心动
时间:
2015-6-29 13:37
总结的很好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2