前言必读

读者手册(必读)_云边的快乐猫的博客-CSDN博客

 数组:
概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致,不能出现混合类型

1.什么数据类型就只能储存什么数据元素,比如int只能储存整形数组

2.数组有定长特性,长度一旦指定,就只能存储固定长度

3.要输出数组中的全部值,要一个个for循环遍历,然后打印输出

4.使用场景:知道要存入的元素值,用静态初始化\未知要数组中放入什么元素值,用动态初始化

1.两种常见初始化方式:

动态初始化(指定长度):
使用场景:
只指定数组长度,后期赋值,适合开始就知道数据的数量,但是不确定具体元素值的业务场景(先定义长度再赋值)

数组存储的数据类型[ ] 数组名字 = new 数组存储的数据类型[数组长度];----常用
数组存储的数据类型 数组名字[ ] = new 数组存储的数据类型[数组长度];

代码例子:

package one;
public class a {public static void main(String[] args) {//动态初始化数组,int[]a = new int[5];//1.先new一个数组长度,可以放5个int类型数据a[0] = 10;//2.给a数组一个个具体赋值a[1] = 20;a[2] = 30;a[3] = 40;a[4] = 50;//具体输出数组一个值System.out.println(a[2]);//3.高效率遍历输出全部数组值用for循环for (int i = 0; i < a.length; i++) {//快捷键:数组名.fori+回车System.out.println(a[i]);//输出i遍历到的所有数组a的值}}
}

运行结果:

30
10
20
30
40
50

静态初始化(指定内容):
使用场景:开始就存入元素值,适合一开始就能确定元素值的业务场景(第一步就直接赋值给数组)

语法:

数据类型[] 数组名 = {元素1,元素2,元素3…};----常用
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};

代码例子:

package one;
public class a {public static void main(String[] args) {//静态初始化数组,直接赋值int[]a = {1,2,3,4,5,6,7,8,9};//只能一个个去输出数组中的具体值System.out.println(a[0]);//数组索引从0开始.这里索引0,也就是索引到第一位数字1//高效率遍历输出数组值用for循环for (int i = 0; i < a.length; i++) {//i遍历数组a的全部值.快捷键:数组名.fori+回车System.out.println(a[i]);//输出数组中的所有值}}
}

运行结果:

1
1
2
3
4
5
6
7
8
9

数组越界报错:ArrayIndexOutOfBoundsException

解决方法:检测for循环遍历的位数,有没有超过数组本身的位数,注意:=号是有包含进去的

题外话:

定义的初始值都是在栈里面,后面new出来的东西都是在堆中

辨别数组:有new的数组就是动态数组直接给值的就是静态数组

Java动态数组和静态数组详解相关推荐

  1. java动态代理(JDK和cglib)详解

    JAVA的动态代理  代理模式  代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委 ...

  2. Gzip的动态压缩和静态压缩详解

    Gzip的压缩分为动态压缩和静态压缩.动态压缩简而言之就是nginx上的资源是以原始文件形式存在的,当返回给浏览器的时候再进行压缩,浏览器收到压缩文件再解压缩.静态压缩就是nginx上的资源不是原始文 ...

  3. 【Java二维数组】(超详解)

    [Java二维数组](超详解) 什么是二维数组 二维数组的定义格式 访问二维数组 什么是二维数组 元素为一维数组的数组就称为二维数组 二维数组的定义格式 格式一:元素的数据类型[][] 数组的名字 = ...

  4. c语言 初始化数组,C 数组的初始化方法详解

    C 数组的初始化方法详解,数据名内涵为数组这种数据结构,在arrayTest函数体内,str是数组名,那为什么sizeof的结果却是指针的长度?这是因为: (1)数组名作为函数形参时,在函数体内,其失 ...

  5. pythonbyte连接_Python3之字节串bytes与字节数组bytearray的使用详解

    字节串bytes 字节串也叫字节序列,是不可变的序列,存储以字节为单位的数据 字节串表示方法: b"ABCD" b"\x41\x42" ... 字节串的构造函数 ...

  6. php 查找键名,array_key_exists()函数搜索数组键名步骤详解

    这次给大家带来array_key_exists()函数搜索数组键名步骤详解,array_key_exists()函数搜索数组键名的注意事项有哪些,下面就是实战案例,一起来看一下. array_key_ ...

  7. 三位数组的轴python_关于numpy数组轴的使用详解

    概述 按照图一中aixs=0,对aixs=0上下对应的数据进行相加在学习numpy的时候,最难理解的就是轴的概念,我们知道坐标系中有轴的概念,那么两个轴是否有关联呢?为了便于理解,特写此博客进行梳理. ...

  8. python 数列筛选_对numpy中的数组条件筛选功能详解

    在程序设计中,时常会遇到数据的唯一化.相同.相异信息的提取等工作,在格式化的向量存储矩阵中南,numpy能够提供比较不错的快速处理功能. 1,唯一化的实现: In [63]: data = np.ar ...

  9. Python中数组切片的用法详解

    Python中数组切片的用法详解 一.python中"::-1"代表什么? 二.python中":"的用法 三.python中数组切片 三.numpy中的整数数 ...

  10. Java static静态关键字详解(public、 private、 volatile)

    文章目录 前言 static要解决什么问题? 格式 特点 static静态变量 静态变量和实例变量的区别 static静态方法 static应用场景 static 与volatile static如何 ...

最新文章

  1. 解决No module named 'sklearn.cross_validation'
  2. mysql 5.5.修改库名_安全快速修改Mysql数据库名的5种方法
  3. 010 自动技能的设计和实现
  4. Java类库及其组织结构(Java API)
  5. java2019 数据结构算法面试题_2019年JVM最新面试题,必须收藏它
  6. c++ assert() 使用方法
  7. Spring项目使用Junit4测试配置
  8. 怎么用Linux命令查看BIOS信息,LINUX下怎样获取主板的信息用到什么命令
  9. openlayers 点线面
  10. LINUX Cacti 安装SOP FOR CentOS6.5
  11. 2003服务器系统QQ安装不了,windows2003server
  12. rda分析怎么做_科学网—如何用R语言vegan包进行RDA/CCA分析 - 刘宏金的博文
  13. RF 操作页面滚动条上下滚动
  14. 用Form 表单认证实现单点登录(Single Sign On) 作者:寒羽枫(cityhunter172)
  15. 数学杂记(1)一些无处安放的数学推导
  16. 十二章 Python入门系列之字典
  17. 前端和后端到底有什么区别?待遇和前景如何?
  18. sicily 1209
  19. 收发EtherCAT帧——ecx_srconfirm函数
  20. Spring-Mybatis整合 第一个Spring-Mybatis程序

热门文章

  1. 奇虎360软件阻止腾讯电脑管家启动,3Q大战将再度上演?
  2. SugarCRM 插件介绍
  3. React学习分享(八)
  4. windows设置任务计划定时执行php程序,两种方法
  5. 小实验:关于期望的乘法性质
  6. Baumer工业相机堡盟工业相机如何通过BGAPISDK使用短曝光功能(C#)
  7. SuperMap iMobile for Android常见问题解答集锦(十三)
  8. 九月发布鸿蒙系统吗,华为智慧屏来了:将使用鸿蒙系统和自研芯片 9月发布
  9. 【每日新闻】工信部:将于近期发放5G商用牌照
  10. 下一代Web图像格式:JPEG、JPEG XR、JPEG2000、WebP、BPG(重要)