数组的基本使用

数组的概念

数组概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。

数组的定义

有三种格式
第一种>>>  注意 中括号放在哪里都是可以的  这两种都对
int []sources=new int[5];
int sources[]=new int[5];
第二种>>>  在定义的时候即可赋值
int []sources=new int[]{1,2,3,4,5};
int sources[]=new int[]{1,2,3,4,5};
第三种>>>
int []sources={1,2,3,4,5};
int sources[]={1,2,3,4,5};
注意 数组又定长特性,长度一旦指定,不可更改。

数组的访问

索引:每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号编号称为索引(index),可以
通过数组的索引访问到数组中的元素。  注意:格式为>>数组名[索引]
数组的长度属性:每个数组都具有长度,而且是固定的,java中赋予了数组的一个属性(lebgth),可以获取到数组
的长度,属性length是数组的长度,所以数组的最大索引值为>>数组名.length-1

数组原理内存图

内存概述

内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程
序是不会运行的,必须放进内存中才能运行,运行完毕后后清理内存。
java虚拟机要运行内需,必须要对内存进行空间的分配和管理。

Java虚拟机的内存划分

jvm的内存划分:
寄存器 >>> 给CPU使用,和我们开发无关
本地方法栈 >>> jvm在使用操作系统功能的时候使用,和我们开发无关
方法区 >>> 存储可以运行的class文件
堆内存 >>> 存储对象或者数组,new来创建的,都存储在堆内存中
方法栈 >>> 方法运行时使用的内存,比如main方法运行,进入方法栈中执行

数组获取最大元素

最大值获取:从数组的所有元素中找出最大值
实现思路:
定义变量,保存数组0索引上的元素
遍历数组,获取处数组中的每个元素
将遍历到的元素和保存数组0索引上值的变量进行比较
如果数组元素的值大于了变量的值,变量记录住新的值
数组循环遍历结束,遍历保存的就算数组中的最大值
public static void main(String[] args) {
        int [] arr={5, 15, 2000, 10000, 100, 4000};
        int max=arr[0];
        for (int i = 1; i <arr.length ; i++) {
            if(arr[i]>max){
                max=arr[i];
            }
        }
}

数组反转

实现思路:实现反转,就是需要将数组最远端元素位置交换,定义两个变量,保存数组最小索引
和最大索引,两个索引上的元素交换位置,最小索引++,最大索引--,再次交换位置,最小索引
超过了最大索引,数组反转结束
public static void main(String[] args) {
	int[] arr = { 1, 2, 3, 4, 5 };
        for (int min = 0,max=arr.length-1; min <=max ; min++,max--) {
            //利用第三方变量完成数组中元素的交换
            int temp=arr[min];
            arr[min]=arr[max];
            arr[max]=temp;
            //还有一种方法
            //arr[min]=arr[max]+(arr[max]=arr[min])*0;
        }
}

数组作为方法参数

数组作为方法传递参数值,传递的参数是数组内存的地址
总结:方法的参数为基本数据类型时,传递的是数据值,方法的参数为引用类型时,传递的是地址
posted @ 2021-03-14 10:36  轻风格走一走  阅读(424)  评论(0编辑  收藏  举报