• 数组的基本使用


    数组的概念

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

    数组的定义

    有三种格式
    第一种>>>  注意 中括号放在哪里都是可以的  这两种都对
    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;
            }
    }
    

    数组作为方法参数

    数组作为方法传递参数值,传递的参数是数组内存的地址
    总结:方法的参数为基本数据类型时,传递的是数据值,方法的参数为引用类型时,传递的是地址
    
  • 相关阅读:
    位运算符的含义与使用
    第三次作业
    软件工程作业二
    大学对于专业的规划
    简要概述java内存模型,以及volatile关键字
    Spring详细教程
    java线程中yield(),sleep(),wait()区别详解
    利用kubeadm快速搭建Kubernetes学习环境
    vue 使用el-time-picker,把数组拆分成单个属性
    Vue+docxtemplater导出到word(包含批量转出图片)!!!
  • 原文地址:https://www.cnblogs.com/gesh-code/p/14531684.html
Copyright © 2020-2023  润新知