数组

一、数组定义

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

二、数组特点

  数组中的数据都有一个唯一的编号,下标从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; 
               }
       }
   }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值