A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fantianfei 中级黑马   /  2015-6-29 13:31  /  670 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组:同一种类型数据的集合,其实数组就是一个容器。
优点:可以自动给数组中的元素从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);
        }
}


1 个回复

倒序浏览
总结的很好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马