数组

2018-06-18 03:54:20来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

一、数组定义

  同一中类型数据的集合,即数组相当于一个容器,用来存放相同类型的数据。

二、数组特点

  数组中的数据都有一个唯一的编号,下标从0开始。

三、数组的格式

  元素类型[]   数组名 = new 元素类型[数组长度]

  eg: int[]  a = new int[10]; //a是一个能存放int类型数据的数组类型,能存储10个元素,默认为0

四、内存分配

  Java程序在运行时,需要在内存中分配空间,为了提高运算效率,又对空间进行了不同区域的划分。因为每一片区域都有特定的处理方式和存储管理方式。

1、栈内存: 用于存储局部变量(定义方法内的变量,定义在方法内的参数,for循环内定义的变量等),当数据使用完,变量所占空间会自动释放,ps:上面的int[] a,就是在栈内存中,a存的是实体在堆中的地址值。

2、堆内存:

     通过new创建的实体,在堆中就会开辟空间用来存new出来的实体,数组和对像,ps:new int[10]就是在堆内存中。

     每一个实体都有内存地址值,用来赋值给栈中的变量。

     实体中的变量都有默认初始化值,初始化值由变量类型决定。

     实体使用完毕后,会在不确定的时间内被垃圾回收器回收。

3、方法区:(共享区,数据区)

     用于存放类的方法和static修饰的变量

4、本地方法区:待续

5、寄存器:待续

五、取数组最大最小值

最大值:

public int getMax(int[] arr)
{
  int max = 0;//这里存的是数组第一个值的下标
  for(int x = 1; x < arr.length; x ++ )
  { 
       if(arr[x] > arr[max])
              max = x;
  {
  return arr[max];
}

不直接比较数值大小是因为如果数组内存的是负数,初始化为0,那么最大值就是0,得不出数组的最大值。

最小值同理。

六、排序

//选择排序
public
void selectSort(int[] arr) { for(int x = 0; x < arr.length; x ++) { for(int y = x+1; y < arr.length; y++) { if(arr[x] > arr[y]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } }
//冒泡排序
public  void bubbleSort(int[] arr)
{
   for(int x = 0; x < arr.length - 1; x ++)
   {
       for(int y = 0; y < arr.length-x-1; y++)
       {
             if(arr[y] < arr[y+1])
               {
                    int temp = arr[y];
                    arr[y] = arr[y+1];
                    arr[y+1] = temp;
               }
       }
   }
}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SSM框架开发web项目系列(六) SpringMVC入门

下一篇:nginx介绍(五) - 高可用