[学习笔记]Java数组

数组是Java中一种重要的数据结构,用来存储固定大小的同类型元素;

数组特点

数组元素可以是基本数据类型,也可以是引用数据类型,数组本身是引用数据类型;

在创建数组时,数组的所有元素会根据定义的类型进行初始化,整型数组元素会被初始化为 0,浮点型数组元素会被初始化为 0.0, 布尔型数组元素会被初始化为 false;

数组一旦被创建,大小就不可修改,但数组元素是可改变的;

声明数组

使用数组之前必须先声明。

创建数组

Java使用new操作符创建数组,声明数组和创建数组可以通过一条语句来完成;

访问数组

要访问数组的某个元素,需要借助数组的索引;

数组的索引从0开始,最大的索引为数组长度-1,若索引超出范围将会报错;

遍历数组

每个数组元素都可以通过索引访问,通过for循环就能完成一次遍历:

通过for each循环,打印数组中的每个元素;

使用Java标准库提供的Arrays.toString()方法打印数组;

Note: 直接通过数组名进行打印,不会输出数组的元素,而是输出数组在JVM中的引用地址;

数组排序

数组排序是对数组进行的最常用操作之一,常用的数组排序算法有:冒泡算法、快速排序等;

除了通过算法对数组进行排序,Java标准库内置了排序方法对数组进行排序,只需调用JDK提供的Arrays.sort()方法即可;

二维数组、三维数组、N维数组

若数组的元素也是数组,则称该数组为二维数组;

访问二维数组的元素,需要同时用到行索引和列索引,形如 array[row][col];

二维数组的每个数组元素的大小并不要求一样,即一个数组元素的大小是m,而另一个数组元素的大小可以是n;

要打印二维数组,需要使用嵌套的两层循环或使用Java标准库库提供的Arrays.deeptoString();

三维数组就是数组元素是二维数组的数组;

理论上可以创建N维数组,但实际上二维以上的数组并不常用;

Original: https://www.cnblogs.com/cloudyzcy/p/16255249.html
Author: 糖小豆
Title: [学习笔记]Java数组

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/713023/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Error: Invalid or corrupt jarfile

    使用IDEA通过MAVEN创建quickstart项目后,添加了Artifacts,发现生成的jar包无法run,出现下面的错误: Error: Invalid or corrup…

    技术杂谈 2023年5月30日
    098
  • 文本操作find cut sort wc sed awk

    文本操作 查找文件: # find 大概位置 以名字查找 名字 find /etc/ -name i18n find /etc/ -name 70* find /etc/ -nam…

    技术杂谈 2023年7月11日
    089
  • Codeforces Round #689 (Div. 2, based on Zed Code Competition) E. Water Level 贪心

    E. Water Level In recent years John has very successfully settled at his new job at the of…

    技术杂谈 2023年6月1日
    0108
  • java多线程基础学习

    一、多线程概述 1.1、进程和线程的概念 1.1.1、进程 1.1.2、线程 1.2、线程创建的方法 1.2.1、继承Thread类 1.2.2、重写Runnable接口 1.2….

    技术杂谈 2023年6月21日
    0110
  • Python 可迭代对象和迭代器

    可迭代对象:是一个私有的方法比较多,操作灵活(比如列表,字典的增删改查,字符串的常用操作方法等),比较直观,存储数据相对少(几百万个对象,8G内存是可以承受的)的一个数据集。 当你…

    技术杂谈 2023年6月21日
    080
  • cc++实现天气数据获取

    #include <iostream> #include <winsock2.h> #pragma comment(lib, "ws2_32.li…

    技术杂谈 2023年7月24日
    092
  • 双绞线

    双绞线简介 双绞线(twisted pair,TP)是一种综合布线工程中最常用的传输介质,双绞线一般由两根22~26号绝缘铜导线相互缠绕而成,在一个电缆套管里的,不同线对具有不同的…

    技术杂谈 2023年7月11日
    084
  • H3C HCL与WSL2共存

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月24日
    089
  • final关键字

    1-1 编译期常量 定义:带有 ①编译时数值(区别于运行时数值)的 ②final ③ 基本数据类型的量。 注意: 既是static又是final的量不一定是编译期常量; publi…

    技术杂谈 2023年7月24日
    0102
  • Python 生成器相关知识

    循环模式:[变量(加工后的变量) for 变量 in iterable] 例一:一行代码实现for循环产生有规律的列表 list1=[i for i in range(1,11)]…

    技术杂谈 2023年6月21日
    0117
  • 普通module如何使用@Test测试

    问题 对于一个 maven工程来说,使用@Test注解来测试只需要在 pom.xml中引入test的依赖即可。但是对于一个普通的 module那又怎么使用呢? 最方便的就是 alt…

    技术杂谈 2023年7月25日
    084
  • PHP——JWT与Token区别

    TOKEN 概念: 令牌,就是加密的字符串, 是访问资源的凭证。Token需要查库验证token 是否有效。 JWT JWT是json web token缩写。它将用户信息加密到t…

    技术杂谈 2023年5月31日
    0134
  • 一文详解Softmax函数zz

    前言 提到二分类首先想到的可能就是逻辑回归算法。逻辑回归算法是在各个领域中应用比较广泛的机器学习算法。逻辑回归算法本身并不难,最关键的步骤就是将线性模型输出的实数域映射到[0, 1…

    技术杂谈 2023年5月31日
    0120
  • STM32 例程-7 STM32固件库方式 读取SHT20 温湿度

    SHT20 .h文件 #ifndef SHT20_H #define SHT20_H #include "common.h" #include "st…

    技术杂谈 2023年6月1日
    0133
  • 谷歌浏览器 跨域遇到的坑 cors 错误(亲测可行)

    解决方案: 方案一:(已论证) 步骤1: 谷歌浏览器 打开 chrome://flags/#block-insecure-private-network-requests步骤2 :…

    技术杂谈 2023年5月31日
    0120
  • mysql 锁

    锁类型 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低 * 这些存储引擎通过总是一次性同时获取所有需要的锁以及总是按相同的顺序获取表锁来避免死锁…

    技术杂谈 2023年7月25日
    074
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球