zoukankan      html  css  js  c++  java
  • java基础语法day04

    数组

    数组定义

    数组类型【】 数组名 = new 数据类型【元素个数】

    要点说明

    • 数据类型: 数组中存储元素的数据类型
    •  [] 表示数组的意思
    • 变量名 自定义标识符
    • new 创建容器关键字
    • 元素个数,就是数组中,可以存储多少个数据 (恒定, 定长)
    • 数组是一个容器: 存储到数组中的每个元素,都有自己的自动编号(索引(index), 下标, 角标)
    • 访问数组存储的元素,必须依赖于索引 数组名[索引]
    • 数组中最小的索引是0,最大的索引是数组的长度-1
    • 数组有一个属性,length。通过数组名.length访问数组长度。

    数组两个定义方式

    int[] arr = new int[]{1,2,46,6}   此处new后面的中括号不可以写任何内容

    直接大括号赋值:

    int[] arrr = {3,5,7,31,673,}

     

     

    JVM内存划分

     

     

    JVM对自己的内存进行划分,分为5个区域:

    1.寄存器:内存和cpu之间

    2.本地方法栈:JVM调用了系统中的功能

    3.方法和数据共享:运行时期class文件进入的地方

    4.方法栈:所有的方法运行的时候进入的内存

    5.堆:存储的是容器和对象

    数组的内存图

     

    1.ArrayDemo.class先进入方法、数据共享区。 2.main方法进入方法栈,压栈运行。 3.JVM在堆内存,开空间,存储数组容器。 

    arr是引用类型,保存的数据实际上是数组的首地址。 

    数组遍历

    for用于确定的个数

    while用于不确定的个数

    数组常见的异常

    数组的索引越界异常

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3  

    第三个元素异常

    空指针异常

    Exception in thread "main" java.lang.NullPointerException

     

    二维数组

    定义方式:

    第一种 int[][] arr = new int[3][4]

    第二种 int[][] arr = new int[3][]

    其中一维数组长度没有指定,要new arr[0] = new int[5]; new arr[1] = new int[4]

    第三种 Int[][] arr = {{4,6,23,7},{8,67,90,44},{12,6,89,65,6}}  最为简洁

     

    案例1

    销售求和问题 

     

     

    案例2

    随机点名器

     

    1.存储姓名

    2.预览所有人姓名

    3.随机出一个人姓名  

     

    知识改变命运
  • 相关阅读:
    判断单链表中是否有环,找到环的入口节点的理论证明
    交叉熵代价函数(作用及公式推导)
    C#调用C++、Opencv的Dll
    腾讯机器学习一面面经
    C#调用C++类库的几种方式
    2017年腾讯基础研究笔试感受
    关于开源库或者SDK的文档问题
    卷积神经网络Lenet-5实现
    NULL、0、nullptr 区别分析
    C++中,new/delete和malloc/free的区别
  • 原文地址:https://www.cnblogs.com/gqyann/p/10685757.html
Copyright © 2011-2022 走看看