JAVA基础7:数组

1.数组定义格式

1)数组概述

一次性声明大量的用于存储数据的变量

要存储的数据通常都是同类型数据,比如:考试成绩

数组(array)是一种用于存储多个相同类型数据的存储模型

2)数组定义格式

格式一:数据类型[] 变量名

范例: int[] arr

定义了一个int类型的数组,数组名是arr

格式二:数据类型 变量名[]

范例:int arr[]

定义了一个int类型的变量,变量名是arr数组

2.数组初始化概述

Java中的数组必须先初始化,然后才能使用

所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

1)动态初始化

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值

格式:数据类型[] 变量名 = new 数据类型[数组长度];

范例: int[] arr = new int[3];

package myArray;public class ArrayDemo {public static void main(String[] args) {int[] arr = new int[3];/*左边:int:说明数组中的元素类型是int类型[]:说明这是一个数组arr:这是数组的名称右边:new:为数组申请内存空间int:说明数组中的元素类型是int类型[]:说明这是一个数组3:数组长度,其实就是数组中的元素个数*/}
}

2)数组元素访问

  • 数组变量访问方式
  • 格式:数组名

  • 数组内部保存的数据的访问方式
  • 格式:数组名[索引]

  • 索引是数组中数据的编号方式
  • 作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名
  • 特征①:索引从0开始
  • 特征②:索引是连续的
  • 特征③:索引逐一增加,每次加1
package myArray;public class ArrayDemo {public static void main(String[] args) {int[] arr = new int[3];/*左边:int:说明数组中的元素类型是int类型[]:说明这是一个数组arr:这是数组的名称右边:new:为数组申请内存空间int:说明数组中的元素类型是int类型[]:说明这是一个数组3:数组长度,其实就是数组中的元素个数*///输出数组名System.out.println(arr);//[I@7c30a502//输出数组中的元素System.out.println(arr[0]);System.out.println(arr[1]);System.out.println(arr[2]);}
}

3)内存分配

①Java中内存分配

Java程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式内存管理方式

②栈内存和堆内存

  • 栈内存:存储局部变量

                定义在方法中的变量,比如:arr

                使用完毕,立即消失

  • 堆内存:存储new出来的内容(实体,对象)

                数组在初始化时,会为存储空间添加默认值

                        ※整数:默认值0

                        浮点数:默认值0.0

                        布尔值:默认值false

                        字符:默认值是空字符

                        引用数据类型:默认值是null

                每一个new出来的东西都有一个地址值

                使用完毕,会在垃圾回收器空闲时被回收

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在虚拟环境中pip包不在虚拟环境里

这里写自定义目录标题 结合网上多个大佬的方法终于解决了. 首先修改自己虚拟环境目录下的site文件: vim /home/XXX/.conda/envs/XXX/lib/pythonXXX/site.py 把 USER_BASE 和 USER_SITE 改成虚拟环境目录. USER_BASE: ‘/home/XXX/.conda/envs/XXX’ (exists) USER_SITE: ‘/ho…

内衣洗衣机和手洗哪个干净?好用的内衣洗衣机推荐

在日常生活中,我们的衣服不可避免地会沾染上各种细菌、毛发和污渍,将它们与贴身衣物混合清洗,很容易发生交叉感染,而被感染后,贴身衣物也有可能导致我们人体引起皮肤病。这也是为什么大部分人都喜欢用手洗的原因&#…

c# 和 c++ 匿名互相传递参数

在C#和C之间进行匿名参数传递需要使用Interop服务。下面是一个示例,展示了如何在C#和C之间传递匿名参数: 在C#中: using System; using System.Runtime.InteropServices;// 定义C中的匿名函数签名 [UnmanagedFunctionPointer(CallingConven…

@CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思

@CacheInvalidate 注解是 JetCache 框架提供的注解,它是由阿里巴巴开源的组织 Alibaba Group 开发和维护的。JetCache 是一款基于注解的缓存框架,提供了丰富的缓存功能和灵活的配置选项,可用于增强应用程序的性能和可扩展性。JetCache 支持多种缓存后端,包括内存缓存、Redi…

矩阵的除法

B/A 如果矩阵A可逆,那么 证明: A/AB 如果矩阵A和B都可逆,那么 证明:

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于回溯搜索优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

优雅的Java编程:将接口对象作为方法参数

theme: smartblue 目录 概述 在Java编程中,方法的参数传递方式通常是通过基本类型、对象引用或者集合等方式。然而,一种更加优雅且灵活的设计模式是将接口对象作为方法的参数。这种方式为我们带来了许多好处,包括降低耦合性、实现多态性和可…

Jenkins 构建CICD

GitLab GitLab安装 https://gitlab.cn/install/?versionce CentOS 下安装 1. 安装和配置必须的依赖项 在 CentOS 7上,下面的命令也会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问极狐GitLab&#xf…

Java集合(全)

Java提供了多种集合框架类,每种都有不同的特性和用途。以下是Java中常见的集合类: 1、List(列表): ArrayList ArrayList 是 Java 集合框架中的一个常用类,实现了动态数组的数据结构。与传统的数组相比,A…

【现场问题】datax中write部分为Oracle的时候插入clolb类型字段,插入的数据为string且长度过场问题

datax的Oraclewriter 报错显示查询报错展示查找datax中的数据插入模块 报错显示 occurred during batching: ORA-01704: string literal too long 查询报错展示 基本上查到的都是这样的,所以锁定是clob的字段类型的问题,而且是只有Oracle出问题&#…

觉非科技发布【轻地图高速NOA智驾方案】|地平线,觉非科技,MobileDrive超捷生态协作实现技术落地

11月10日,2023世界新汽车技术合作生态展期间,觉非科技正式发布了基于地平线征程系列以及MobileDrive超捷规控系统的【轻地图高速NOA智驾解决方案】。该方案首次实现了从芯片能力输出、到数据闭环建设、再到规控部署的产业生态链协作与打通,为…

docker部署容器化mysql5.7

部署MySQL 本教程将指导您如何在Docker环境中部署MySQL数据库,并展示如何通过外部MySQL客户端与之交互。 步骤 1: 准备环境 首先,我们需要在本地环境中创建必要的文件夹结构来存储MySQL的配置、日志和数据。 # 在终端创建mysql文件夹及其子文件夹 mk…

微信小程序漏洞之accesskey泄露

更新时间:2023年09月08日09:42:52 1. Accesskey泄露漏洞 这篇文章里面都是以我个人的视角来进行的,因为一些原因,中间删了一些东西,肯定有很多不正确的地方,希望大家能理解,也能指正其中的错误。 在以前…

VCR库代码示例

1. 首先,我们需要在代码中添加对VCR库的引用: ruby require vcr require rest-client 2. 然后,我们需要创建一个VCR录制器,以便我们可以记录实际的HTTP请求和响应: ruby VCR.use_cassette(download_video, record:…

虚拟机CentOS 8 重启后不能上网

情况说明:原本虚拟机是可以上网的,然后嘚一下,重启后,连接不上网络,完了,上网查找一堆质料,我的连接方式是桥接模式(复制物理网络连接状态)。 好,有人说是vmn…

@Validated和@Valid 区别

Spring Validation验证框架对参数的验证机制提供了Validated(Spring’s JSR-303规范,是标准JSR-303的一个变种),javax提供了Valid(标准JSR-303规范), 配合BindingResult可以直接提供参数验证结…

通配符SSL证书

通配符SSL证书是一种特殊的数字证书,用于在互联网上建立安全的连接,其特点是可以保护多个子域名,并且具有很高的兼容性和扩展性。本文将详细介绍通配符SSL证书的相关概念、优点和应用等。 首先,我们需要了解什么是SSL证书。 SSL证…

未整理的知识链接

【scala】下划线用法总结 【scala】下划线用法总结_scala 下划线-CSDN博客 Spark Sql Row 的解析 Spark Sql Row 的解析 - 简书 spark dataframe foreach spark dataframe foreach_mob64ca12f0cf8f的技术博客_51CTO博客 spark- Dataframe基本操作-查询 https://blog.csdn.n…

Spring 循环依赖

文章目录 内容总结循环依赖循环依赖的解决方案设计模拟循环依赖解决循环依赖的关键 缓存仍然存在问题 代理 解决代理问题的关键 提前AOP仍然存在问题 AOP全部提前与Bean创建流程设计严重不符 解决违背设计问题的关键 尽量提前而非全部提前仍然存在问题 多重循环 内容总结 循环…

33、Flink 的Table API 和 SQL 中的时区

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…