• 数组


    一、数组定义

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

    二、数组特点

      数组中的数据都有一个唯一的编号,下标从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;
                   }
           }
       }
    }
  • 相关阅读:
    学习方法
    编译原理词法分析程序
    06_05_词法分析
    顺序队列的基本操作
    使用默认参数的构造函数
    基于顺序栈的进制转换
    C语言之大数相加
    输入一个年输出其天干地支纪年法的表达式
    队列的链式存储及其基本运算
    队列的顺序存储及其基本操作
  • 原文地址:https://www.cnblogs.com/gczmn/p/8271162.html
Copyright © 2020-2023  润新知