JAVA数组

Java数组

  1. 数组的概念:
    (1)数组是用来存放数据的,
    (2)数组用来将相同数据类型存储啊在存储单元里,数组的所有元素必须属于相同的数据类型。可以保存多条数据;
    (3)数组是引用数据类型。

  2. 为什么使用数组:
    数组是一个大的容器,它可以存放多个值。

  3. 如何定义数组:
    数组类型【】数组名;
    如果定义好数组以后,必须要给数组进行初始化。
    数组是一个引用数据类型;
    数组的初始化分为两种情况:
    (1)动态初始化:
    指定数组的长度,一旦长度指定,数组中只能存放多少数组;
    动态初始化数组以后,数组的元素会自动赋值;
    1 第一种:
    数组类型【】 数组名 =new 数组类型【数组长度】;
    2 第二种:
    数组类型【】 数组名 ;
    数组名 =new 数组类型【数组长度】;
    创建好了数组,怎么给数组进行赋值:通过数组的下标,数组的下标从0开始。
    (2)静态初始化:
    不是指定数组长度,而是直接在初始化数组的同时,给数组赋值。
    1第一种:
    数组类型【】 数组名 =new 数组类型【】{数据1,…,数据n};
    2 第二种:
    数组类型【】 数组名 ;
    数组名 =new 数组类型【】{数据1,…,数据n};
    最简单的方式创建数组:
    数组类型【】 数组名 ={数据1,…,数据n};

    获取数组的长度: 数组名.length
    数组的长度一旦定义不可改变。

  4. 数组中常见的几种异常:
    (1)数组越界异常: ArrayIndexOutOfBoundsException;
    (2)空指针异常:NullPointerException

  5. 遍历数组只有两种方式:【循环遍历数组】
    (1)for循环遍历数组:【0代表数组的第一个元素,i代表数组的下标,n代表数组的长度】
    int array=new int[]{14,2,6,34,90,89,12};
    system.out.println(“for循环遍历数组:”);
    for(int i =0;i<数组名.length;i++)
    {
    system.out.println(array[i]);
    }
    (2)foreach(for循环增强版)循环遍历数组:
    /*
    for(定义变量结束数组的每一个元素值:要遍历的数组名)
    */
    system.out.println(“foreach循环遍历数组:”);
    for(int a:array)
    {
    system.out.println(a);
    }

  6. 数组的分类:
    (1)基本数据类型的数组:
    byte,short,long,int,float,double,char,boolean;
    默认: 0, 0, 0, 0, 0.0, 0.0, 空格, false;
    (2)引用数据类型的数组:
    string默认值为null,接口,自己定义的类;
    引用数据类型的默认值为null;
    (3)Java中的内存是怎么进行分配的:
    内存的申请和释放都是JVM进行管理的;
    Java程序要运行,JVM会自动的向电脑申请一块内存,把这块内存分为5部分:
    (1)栈(Stack):主要存放局部变量
    (2)堆(Heap):凡是new出来的东西都在堆里边,堆当中的数据都有默认原则;
    (3)方法区(Method Area):存放的是与.Class文件相关的信息;
    (4)本地方法区(Native Method Area ):与操作系统有关
    (5)寄存器(Register):与CPU有关

  7. 数组在计算机内部的工作流程:
    (1)定义的数组相当于变量,他将在栈的内部开辟一块空间;
    (2)new的数组在堆的内部开辟一块空间,并根据长度划分成几块,生成地址值,并自动标志下标值;
    (3)把生成的地址值赋值给栈里边的变量(保存的堆里边的地址值)
    (4)对num进行赋值,根据地址值找到对应的空间,再根据下标值把对应的值放在对应的空间中。

  8. 数组在类群中的体现
    (1)堆:
    凡是new出来的东西都在堆里边,堆当中的数据都有默认原则;
    (2)栈:
    主要存放局部变量;

  9. 冒泡排序算法
    1 思想: 数组中的元素两两比较,从大到小用<或从小到大用>输出;
    eg:10,20,30,40,50,60 从大到小输出
    20,30,40,50,60,10 第一趟 5次
    30,40,50,60,20,10 第二趟 4次
    40,50,60,30,20,10 第三趟 3次
    50,60,40,30,20,10 第四趟 2次
    60,50,40,30,20,10 第五趟 1次
    总结:(1)N个数(数组的长度)比较了N-1趟;
    (2)次数=N-趟数=N-(N-1)=2N+1
    2 升序口诀:
    n个数据来排队,两两比较小靠前;
    外层循环n-1,内层循环n-1-i。
    3 降序口诀:
    n个数据来排队,两两比较大靠前;
    外层循环n-1,内层循环n-1-i。

  10. 选择排序算法(了解)
    互换索引位置
    eg: int num={25,4,56,122,2};
    从小到到输出
    第一轮是确定数组中所有元素的最小值;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值