学习Java,你需要知道这些——Java数组

微信自动化必备软件:inspect(获取微信界面元素) SaveButton10015.2:1 ✅(合格)Passed ✅说明这个控件完全符合无障碍标准。 阅读详情

数组的概念

  • 数组由同一类型的对象或者基本数据组成,并封装在同一一个标识符(数组名称)下。

  • 数组是对象

    • 动态初始化

    • 可以赋值给Object类型的变量

    • 在数组中可以调用类Object的所有方法

    • 二每个数组都有一 个由public final修饰的成员变量: length,即数组含有元素的个数( length可以是正数或零)

  • 数组元素

    • 数组中的变量被称作数组的元素
    • 元素没有名字,通过数组名字和非负整数下标值引用数组元素

注意:光理论是不够的,在此送大家一套2020最新Java架构实战教程+大厂面试题库,点击此处 进来获取 一起交流进步哦!

数组的创建

数组的引用

  • 声明数组时无需指明数组元素的个数,也不为数组元素分配内存空间
  • 不能直接使用,必须经过初始化分配内存后才能使用

数组声明举例:

  1. 括号在数组名前:Type[] arrayName;
int[] intArray;
String[] stringArray;
  1. 括号在数组名后:Type arrayName[];
int intArray[];
String stringArray[];

数组的创建

  • 用关键字new构成数组的创建表达式,可以指定数组的类型和数组元素的个数。元素个数可以是常量也可以是变量。
  • 基本类型数组的每个元素都是一个基本类型的变量;引用类型数组的每个元素都是对象的的引用。

数组的创建举例:

  1. 直接创建
int[] a;
a = new int [10];
String[] s; 
s = new String[3]
  1. 可以将数组的声明和创建一并执行
int a[]=new int[1o];
  1. 可以在一条声明语句中创建多个数组
String[] s1=new String[3], s2=new String[8];

数组元素的初始化

  • 声明数组名时,给出了数组的初始值,程序便会利用数组初始值创建数组并对它的各个元素进行初始化
    int a[]={22, 33, 44, 55};
  • 创建数组的时,如果没有指定初始值,数组便被赋予默认值初始值。
    • 基本类型数值数据 ,默认的初始值为0 ;
    • boolean类型数据,默认值为false;
    • 引用类型元素的默认值为null。

数组的使用

使用数组

  • 引用数组的一个元素:arrayName[index]
    • 数组下标必须是int,short, byte,或者char。
    • 下标从零开始计数。
  • 元素的个数即为数组的长度,可以通过arrayName.length得到。
  • 元素下标最大值为length- 1,如果超过最大值,将会产生数组越界异常( ArrayIndexOutOfBoundsException )
  • 数组名是一个引用,以以下代码为例:
public class Arrays {
	public static void main(String []args) {
		int [] a1 = {1, 2, 3, 4, 5};
		int [] a2 = a1;
		for(int i=0; i<a2.length; i++)
			a2[i]++;
		for(int i=0; i<a1.length; i++) 
			System.out.println("a1[" + i + "] = " + a1[i]);
	}
}

运行结果:
在这里插入图片描述
当运行int [] a2 = a1; 这一步时,并不是复制一个数组给a2,只是把引用a1赋值给引用a2。实际上a1,a2操作的是同一个数组。

数组的复制

  • 使用方法System.arraycopy(src, srcPos, dest, destPos, length);
    其中src为被复制数组,srcPos为被复制数组起始下标,dest为复制数组,destPos为复制数组下标,length为想要复制的长度。

以下代码用于复制copyFrom从下标2开始的长度为7的数组。

public class ArraysCopy {
	public static void main(String []args) {
		char[] copyFrom = {'a','b','c','d','e','f','g','h','i','j','k'};
		char[] copyTo = new char[7];
		System.arraycopy(copyFrom, 2, copyTo, 0, 7);
		System.out.println(new String(copyTo));
	}
}

运行结果:
在这里插入图片描述

多维数组

类似一维数组,以二维数组为例:

  • 声明
  1. 定义引用
int[][] a;
  1. 定义引用+构造数组
int[][] a = new int[3][3];
  1. 定义引用,构造数组,初始化数组元素。
int[][] a ={{1,2,3},{4,5,6},{7,8,9}}; 
  • 二维数组的长度及每行的长度
  1. 二维数组的长度为行数
  2. 二维数组每一行的长度为每一行的列数
public class Arrays {
	public static void main(String []args) {
		int[][] Array = {{1, 2, 3}, {1, 2}, {8, 9, 10, 20, 50}};
		System.out.println("Length of array is " + Array.length);
		for(int i=0; i<3; i++)
			System.out.println("Length of row[" + i +"] = " + Array[i].length);
	}
}

运行结果:
在这里插入图片描述
注意:最后送大家一套2020最新Java架构实战教程+大厂面试题库,点击此处进来获取 一起交流进步哦!

STM32控制气泵和电磁阀实现 2、mos管的选型:mos管选择主要注意两个参数即可,一是导通的电流,二是耐压值,并且常用NMOS管,根据要求,气泵和电磁阀供电电压为12V,所以选择的mos管耐压值要大于12V,这里选用耐压值为30V的MOS管,并且导通电流为5.8A,如下图。1、气泵和电磁阀的开和关均为开关量,实现控制方法有多种,比如继电器,但是继电器动作有噪声且体积较大,更好的方法为使用mos管。使用STM32控制气泵和电磁阀的开和关,气泵和电磁阀的供电电压为12V。最终实现单片机控制气泵和电磁阀的开和关。 阅读详情

相关推荐

面试题-手撕NMS(非极大值抑制)

非极大值抑制(Non-Maximum Suppression,NMS)是一种常用于目标检测和计算机视觉中的算法,用于去除重叠的边界框,保留最可能是真实目标的边界框。其核心就是对一组检测框,找出其中属于同一个类别且分数最高的那个框,然后把和这个框的IOU值大于阈值的那些框都删掉。

zhaoyqcsdn的博客 1108

boolean初始化默认值_java如何给数组初始化

java如何给数组初始化Java语言中数组必须先初始化,然后才可以使用。所谓初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值:基本数据类型的整数类型(byte、short、int、long)默认值是0;基本数据类型的浮点类型(float、double)默认值是0.0;基本数据类型的字符类型(char)默认值是'...

weixin_39598568的博客 7199

STK传感器约束设置保姆级教程:从方位角到传播延迟,手把手教你避开新手常见坑

本文详细解析了STK传感器约束设置的关键技巧,涵盖方位角、仰角、高度及传播延迟等核心参数。通过实战案例和代码示例,指导用户避开常见误区,优化卫星通信和航天任务仿真精度,特别适合STK新手和需要提升传感器配置效率的工程师。

weixin_33701294的博客 392

java byte数组初始化_全栈开发之Java开发第六讲常用类

课程大纲 上篇文章介绍了Java的面向对象知识,讲到了常用的包,这节课我们讲常用的类,在实际开发过程中经常用到。数组数组是引用数据类型,和PHP中的一样,引用数据类型在使用之前一定要做两件事情:声明和初始化。数组声明示例如下:int intArray[];float[] floatArray;String strArray[];Date[] dateArray;数组初始化可以...

weixin_39913117的博客 1176

从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录(附各阶段工具包)

本文记录了作者从编程新手到ACM区域赛银牌获得者的完整学习历程,详细分享了各阶段的算法学习路线、刷题策略和实战经验。涵盖从基础算法到动态规划的系统训练方法,并附赠经过竞赛检验的工具包和资源清单,为算法竞赛爱好者提供实用参考。

weixin_29201859的博客 122

电源设计之路-Buck电源环路设计(Type IIIA&Type IIIB)

在对Buck 环路补偿Type II拓扑进行仿真测试后,对瞬态波形以及伯德图已经有感官上的认知;然后再进一步对Type IIIA & IIIB进一步的学习;进一步了解Cout电容量和ESR对环路补偿的影响;认识到一个电源,不是参考Datasheet上的参数进行选值就行;更需要根据实际情况,功率电感值、输出电容值以及不同电容会有不一样的ESR,这些都会对环路参数产生一定的影响

2503_92839756的博客 752

Java字节数组byte b[]与byte[] b

Java中的字节数组 Java字节数组仅用于存储字节数据类型值。字节数组中元素的默认值为0。 通过以下Java字节数组示例,您可以学习 如何声明Java字节数组? 如何为Java字节数组分配值? 如何从Java字节数组获取值? 如何在Java中将String转换为字节数组? 如何在Java中将字节数组转换为字符串? 什么是字节? 一组二进制数字或位(通常是八个)作为一个单元进行操作。一个字节,视为内存大小的单位。 字节是数字信息的单位,通常由八位组成。从历史上看,字节是计算机中用于编码文本

allway2的博客 4万+

SAP生产版本导入避坑大全:从‘黄灯’到‘绿灯’,详解CM_FV_MKAL_CONSISTENCY_CHECK检查函数

本文深入解析SAP生产版本导入过程中的常见问题,特别是通过`CM_FV_MKAL_CONSISTENCY_CHECK`检查函数从‘黄灯’异常到‘绿灯’正常的修复方法。涵盖静态与动态校验机制、典型异常场景诊断及批量导入最佳实践,帮助SAP运维人员高效解决生产版本管理难题。

weixin_30568591的博客 387

java byte数组初始化_开发语言介绍——Java

一、基本说明1.Java语法的特点关键字都是小写字母标识符没有长度限制使用Unicode编码Java是一种强类型的语言,变量在编译之前一定要被显示的声明2.配置环境变量安装jdk软件,记录安装路径打开 “计算机属性”-->"高级系统设置"-->"高级"标签页-->"环境变量"按钮新建一个JAVA_HOME的用户变量,路径编写为jdk的安装路径编辑变量 Path,向其中添加路径:%...

weixin_39570777的博客 2169

【Android逆向工程】第17章:反调试与反 Hook 对抗技术

本文介绍了Android应用常见的反调试技术及其对抗策略。主要内容包括: 反调试技术概述 分类:进程检测(ptrace、TracerPid)、文件检测、行为检测(时间/断点)、内存检测、框架检测 对抗思路:识别检测点→Hook检测函数→修改返回值→隐藏工具特征 ptrace检测实现 原理:利用ptrace系统调用检测调试器附加 实现方式:直接检测、持续线程检测、fork子进程检测 绕过方法:Frida Hook ptrace函数返回0,或使用LD_PRELOAD注入假函数 综合防护 涉及多种检测技术的组合使

w987333120的博客 359

Qt Quick/QML入门到精通_专栏demo对应文章目录(目前50个左右demo/长期更新)

自定义图标下拉列表框的效果如下所示:自定义三态按钮的效果如下所示:传送门:53.qt quick-自定义三态按钮、自定义图标下拉列表框_诺谦的博客-优快云博客传送门:59.qt quick-qml调色板(颜色取色器)实现、自定义QQuickStyle样式_诺谦的博客-优快云博客63.qt quick-QML侧边滑动栏(不需要任何图片资源,支持自定义左右方向和大小)_诺谦的博客-优快云博客_qt实现好看侧边栏。...

抵抗时间扭曲,坚持做一件有意义的事 2万+

Kafka必须掌握的核心技术:46岁程序员被互联网公司辞退,进阶学习

前言 大厂面试真题向来是求职者的最佳练兵场,华为在Java开发工程师招聘中有哪些技术性考察和倾向?那今天咱就给大家分享一下近期的华为5面面经! 注:以下所分享的华为面试问题,相关的答案我也整理出来了,且为了更加方便给想要进大厂的小伙伴一些帮助,我还专门准备了全套的《Java面试合集》(文末可见),全都是一丢一丢的收集整理纯手打出来的——并收整在我的GitHub上 一、什么情况下会发生栈内存溢出? 1、栈是线程私有的,栈的生命周期和线程一样,每个方法在执行的时候就会创建一个栈帧,它包含局部变量表、操作数

m0_56037919的博客 643

MCAL中Dsadc的配置

DSADC模块作为一个专用的模块,主要应用在编码器软解码,功能强大而复杂,这里介绍了Dsadc的mcal配置和详细描述,让你全面学习和理解这个模块功能和应用。

dhyw12399999的博客 788

byte数组初始化_学习Java,你需要知道这些——Java数组

数组的概念数组由同一类型的对象或者基本数据组成,并封装在同一一个标识符(数组名称)下。数组是对象动态初始化可以赋值给Object类型的变量在数组中可以调用类Object的所有方法而每个数组都有一 个由public final修饰的成员变量: length,即数组含有元素的个数( length可以是正数或零)数组元素数组中的变量被称作数组的元素元素没有名字,通过数组名字和非负整数下标值引用数组元素数...

weixin_39752157的博客 219

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

对象可以创建数组吗_学习Java,你需要知道这些——Java数组

数组的概念数组由同一类型的对象或者基本数据组成,并封装在同一一个标识符(数组名称)下。数组是对象动态初始化可以赋值给Object类型的变量在数组中可以调用类Object的所有方法而每个数组都有一 个由public final修饰的成员变量: length,即数组含有元素的个数( length可以是正数或零)数组元素数组中的变量被称作数组的元素元素没有名字,通过数组名字和非负整数下标值引用数组元素数...

weixin_39614528的博客 225

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

byte数组初始化_学习Java,你必需要知道这些——Java数组

目录数组的概念数组的创建数组的引用数组的创建数组元素的初始化数组的使用使用数组数组的复制多维数组数组的概念数组由同一类型的对象或者基本数据组成,并封装在同一一个标识符(数组名称)下。数组是对象动态初始化可以赋值给Object类型的变量在数组中可以调用类Object的所有方法二每个数组都有一 个由public final修饰的成员变量: length,即数组含有元素的个数( length可以是正数或...

weixin_39675513的博客 333

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

学习数组必须知道java.util.Arrays

学习数组必须知道java.util.Arrays 数组在我们日常开发中是必须,Arrays 都可以干嘛呢?常见的有: 创建数组 比较数组 数组排序 数组检索 数组转流 打印数组 数组转 List setAll parallelPrefix 下面我们就一一进行讲解与说明: 1.创建数组 使用 Arrays 类创建数组可以通过以下三个方法: copyOf,复制指定的数组,截取或用 null 填充 copyOfRange,复制指定范围内的数组到一个新的数组 fill,对数组进行填充 1)copyOf,直接来看例子

qq_34136709的博客 435

android object数组赋值_学习Java,你需要知道这些——Java数组

数组的概念数组由同一类型的对象或者基本数据组成,并封装在同一一个标识符(数组名称)下。数组是对象动态初始化可以赋值给Object类型的变量在数组中可以调用类Object的所有方法而每个数组都有一 个由public final修饰的成员变量: length,即数组含有元素的个数( length可以是正数或零)数组元素数组中的变量被称作数组的元素元素没有名字,通过数组名字和非负整数下标值引用数组元素数...

weixin_34768798的博客 238

肝了一整天,关于Java数组,你想知道的都在这里!

关于Java数组你知道多少? 1. 什么是数组 数组是一种线性结构的数据结构。线性结构在内存中是连续的,是用来储存同一类型的数据的集合 数组特点 :连续 ,每个元素都有下标 ,可以快速查找 ,但是从中间添加,删除就比较麻烦 数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。 2.数组的声明 在声明数组变量时 , 需要给定数组类型(数组中存储的数据类型必须和数组的类型相同)和数组变量的名字 。 //第一种声明方式 //数组类型[] 数组变量名字; int[] a; //第

KOOKNUT的博客 2427

如何学习Java中的数组

在编程中,数组是一种非常重要的数据结构,它允许我们存储多个相同类型的的元素,并通过索引来访问这些元素。在许多编程语言中,数组都是基础且核心的概念。数组包括一维数组、二维数组和三维数组。一维数组的概念:一维数组是指只有一个下标的数组,用来表示一组具有相同类型的数据。二维数组的概念:二维数组是由多个长度相同的一维数组构成的,可以用来表示有行有列的数据三维数组的概念:三维数组,是指维数为三的数组结构。三维数组是最常见的多维数组,由于其可以用来描述三维空间中的位置或状态而被广泛使用。

xunoo的博客 1743

Java数组学习

Java数组学习

2403_88251897的博客 964

Java如何输入一个不知道长度的数组

在校招面试的时候我踩过的一个大坑。题目第一行要求输入一个二叉树,第二行输出二叉树的之字遍历。题目本身不难,但是如何输入一个二叉树,对于只会写核心代码的我还是第一次见。

zing12344321的博客 5746

打印Java数组你不知道的几种方式

在 Java 中,数组虽然是一个对象,但并未明确的定义这样一个类,因此也就没有覆盖 toString() 方法的机会。如果尝试直接打印数组的话,输出的结果并不是我们预期的结果。那有没有一些简单可行的方式呢?这个问题看起来挺简单的,打印数组谁不会呀,但是请你仔细想一下,你能够通过多少种方式打印,且哪种方式最优雅简洁呢?

BoCong-Deng的博客 1万+

JAVA中输入不知道长度的数组

JAVA中输入不知道长度的数组 一、整型数组 例如 input: 3// 数组长度n 1 2 3//数组,注意数组是无法直接输出的,要转化为字符串才能输出。 方法一: import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] ar...

potentially_li的博客 2万+

关于Java的数组,或许你还不知道这些

关于Java的数组,你不知道的都在这里!

Lhlzw的博客 243

JAVA数组学习总结

JAVA数组学习总结

Syllll_的博客 1109
上一篇: 学习Java,你需要知道这些——三大特性之多态
下一篇: 学习Java,你需要知道这些——类与对象
张宜强
张宜强 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄9年 8227粉丝 588原创
评论 53
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张宜强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值