JAVA-数组

2023-11-07

数组

概念

用于存储具有相同数据类型的容器称之为数组,可以使用统一的标识符(变量名进行管理)

数据既可以存储基本数据类型也可以存储引用数据类型=》可以存储任意类型的数据

数组的使用

①声明

	//### ①声明
	//与变量声明类似,在相应位置声明一个变量用于存储指定数据地址
	//声明语法有两种
	//1)数组保存数据的数据类型  [] 数组名;
	//声明一个保存int整数类型的数组名为scores1
		int [] scores1;
	//2)数组保存数据的数据类型 数组名[];
	//声明一个保存int整数类型的名为scores2的数组
		int scores2 [];
	//[]表示当前声明数组用于与变量进行区分

②创建

	//### ②创建
	//创建的过程就是初始化的过程,创建数组对象并进行初始化赋值
	//1)动态初始化
	//就是在创建时指定数组长度并为所有数据赋初始值
	//创建一个新的用于存储int整数类型的长度为10的数组并进行初始化赋值之后赋值给已经声明好的数组变量
	scores1=new int[5];
	//通常将声明与创建一同进行
	int[] scores3=new int[5];
	//动态初始化后存储的数据为默认值   [0,0,0,0,0]

	//2)静态初始化
	//在创建数组时不指定长度,而是将所有数据赋值填入使用这些数据创建数组
	//创建时所有数据以{}包裹数据与数据之间使用,分隔
	//静态创建需要与声明一同进行
	int [] scores4={1,2,3,4,5};
	//在静态创建过程中创建数组存储对象数据类型从声明与存储的数据中进行获取
	//静态初始化后存储的数据为指定值[1,2,3,4,5]

③赋值

	//### ③赋值
	//无论是静态初始化还是动态初始化进行赋值的语法都是一样的
	//在数组中通过一个变量名(数组名)进行所有数据的存储,没有像对象一样的属性名
	//但是在进行存储时放入的顺序是固定,所以进行赋值时,使用索引(下标)进行管理
	//语法:
	//数组名[索引]=值;
	//数组索引从0开始到存储数据长度-1

④使用

	//### ④使用
	//使用与赋值语法相同
	//语法:
	//数组名[索引]进行获取指定数组中指定索引的数据
	
	//数组额外提供了一个公开的属性length用于快速获取当前数组可以存储数据的个数
	System.out.println(scores4.length);

总结:

1.数组只能存储同一数据类型数据

2.数据可以存储任意类型数据

3.创建数组时声明数据类型与创建数据类型必须匹配

4.创建数组时必须指定数据类型与长度

5.数组存储数据的个数由创建时长度确定(创建时就讲数组存满)而且不能更改

6.索引范围为0~length-1

数组的内存形式

数组存储数据的形式类似于格子,每个格子位置固定索引固定,在使用时为格子依次赋值

JAVA中的内存分配

Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈 存储局部变量
堆 存储new出来的东西
方法区 (面向对象部分重点讲)
本地方法区 (和系统相关)
寄存器 (给CPU使用)

在java中是否有寄存器存在争议,即使存在也不是我们使用而是在程序运行过程中由jvm进行分配

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA-数组 的相关文章

  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • 将SQL数据引入jquery availabletag

    我正在尝试制作自动完成文本框 但如何将 SQL 数据包含到 jquery 可用标记并循环它 我无法根据以下代码执行该功能 任何帮助 将不胜感激 谢谢 这是我的预期输出 预期结果演示 http jsfiddle net VvETA 71 jq
  • 删除优先级队列的尾部元素

    如何删除优先级队列的尾部元素 我正在尝试使用优先级队列实现波束搜索 一旦优先级队列已满 我想删除最后一个元素 优先级最低的元素 Thanks 没有简单的方法 将元素从原始元素复制到新元素 最后一个除外 PriorityQueue remov
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • FileNotFoundException - Struts2 文件上传

    Strange FileNotFoundException使用Struts2上传文件时 这是 JSP 的一部分
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 是否可以从 servlet 内部以编程方式设置请求上下文路径?

    这是一个特殊情况 我陷入了处理 企业 网络应用程序的困境 企业应用程序正在调用request getContext 并将其与另一个字符串进行比较 我发现我可以使用 getServletContext getContextPath 获取 se
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • 添加到列表时有没有办法避免循环?

    我想知道这样的代码 List
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • Play.application() 的替代方案是什么

    我是 Play 框架的新手 我想读取conf文件夹中的一个文件 所以我用了Play application classloader getResources Data json nextElement getFile 但我知道 play P
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try

随机推荐

  • Nginx里的root/index/alias/proxy_pass的意思

    1 alias 别名配置 用于访问文件系统 在匹配到location配置的URL路径后 指向 alias 配置的路径 如 注意alias配置最后一定要有 而root可以没有 location test alias home sftp img
  • LEFT JOIN 和JOIN 多表连接

    转载 https blog csdn net mccand1234 article details 51734713 四张表contract customer customer3 customer4 这是比较熟悉的3张表的连接 SELECT
  • three.js全景视频

    小生最近学习three js 将three js官网提供的网站实例翻译翻译 共同学习 接下来翻译一下 webgl video panorama equirectangular html 运行结果https threejs org examp
  • Nacos实战(19)-Nacos健康检查机制:保障你的服务稳定运行!

    0 前言 注册中心不应仅提供服务注册和发现功能 还应保证对服务可用性监测 对不健康的服务和过期的进行标识或剔除 维护实例的生命周期 以保证客户端尽可能的查询到可用的服务列表 因此本文介绍Nacos注册中心的健康检查机制 1 注册中心的健康检
  • 在线代码编译运行工具

    在线代码编译运行工具 如果需要学习语言 比如练习一些算法 或者跑一些别人写的代码 有一些语言特性不太了解需要写一些简单的 demo 做一些验证 那么先搭建一个环境去跑就有一点麻烦了 无需搭建本地环境的代码在线运行工具就可以派上用场了 在线代
  • Mybatis 中$与#的区别

    1 是将传入的值当做字符串的形式 eg select id name age from student where id id 当前端把id值1 传入到后台的时候 就相当于 select id name age from student w
  • Linux环境里实现FLink项目的Zookeeper与Kafka启动

    1 配置FLink遇到的坑 启动 start cluster sh后提示Permission denied 用sudo会提示Please specify JAVA HOME Either in Flink config conf flink
  • C#串口SerialPort常用属性方法

    SerialPort 属性 BaudRate 获取或设置波特率 BytesToRead 得到 接收到数据的字节数 BytesToWrites 得到送往串口的字节数 DataBits 获取或设置数据位 IsOpen 获取一个值 判断串口是否打
  • SpringBoot结合Redis将Token存入缓存中进行登录

    将登录的Token存储在Redis中可以带来以下好处 提高安全性 将Token存储在Redis中 比将Token保存在本地Cookie或浏览器存储中更加安全 因为攻击者无法访问您的服务器上存储的Token 此外 由于Redis支持设置过期时
  • selenium 使用及定位

    使用find element by 方法只需导入 from selenium import webdriver 使用 find element 方法除了导入 from selenium import webdriver 还要导入 from
  • Java OpenJDK 8u382 Windows x64 Installer

    文章目录 一 Azul 二 Adopt 三 IBM 四 Oracle 一 Azul WEB Page Download Azul Zulu Builds of OpenJDK Windows installer Azul Zulu Buil
  • 干电池升压5V,功耗比较低

    干电池升压5V 功耗10uA PW5100干电池升压5V芯片 输出电容 所以为了减小输出的纹波 需要比较大的输出电容值 但是输出电容过大 就会使得系统的 反应时间过慢 成本也会增加 所以建议使用一个 22uF 的电容 或者两个 22uF 的
  • Java动态规划硬币问题最优值和最优解

    给定不同面额的硬币coins和一个总金额amount 计算并输出可以凑成总金额所需的最少的硬币个数和使用的硬币 网上介绍动态规划的文章已经很多了 我的这篇文章分析了我自己分析硬币问题的算法在二维数组的效能分析 其中用了Intellij ID
  • maven项目如何加载不同的配置文件

    疑惑 公司项目 本地启动时取用默认路径的下的配置文件 而当maven打包时取用另一文件路径下的配置文件 解决过程 首先查找公司项目代码中是否控制本地启动和服务器启动时使用的配置文件不同 但是发现并不是 最后考虑是否是maven打包加载时已经
  • tiktok新号发布的视频播放量为零解决方案

    tiktok新号发布的视频播放量为零解决方案 大家好 我是项柚 一个专注于讨论TikTok玩法的跨境电商自媒体人 每天不断输出干货给需要的朋友 首先我们先来看下0播放的原因 一 伪装度不够 首先我们在打开TikTok之前 你的伪 装度必须是
  • docker容器内安装git服务端

    创建容器 privileged 获得完整的root权限 usr sbin init 启动容器执行的第一个命令 以便可以使用systemctl命令 将容器的ssh服务22端口映射到宿主的65002端口 docker run itd privi
  • 深入学习jquery源码之noConflict()

    深入学习jquery源码之noConflict jQuery noConflict extreme 概述 运行这个函数将变量 的控制权让渡给第一个实现它的那个库 执行 var jq noConflict 后 将不再控制当前的jQuery 而
  • Spring boot短信验证登录

    一 短信验证码业务 我用的是第三平台的短信服务 当用户点击发送验证码 会调用短信平台接口 从而给手机发验证码 流程如下 c 首先需要工具类 来发送验证码 public class DXMessageUtil public static Bo
  • 【05】MySQL:日志管理

    写在前面的话 日志是作为用户排查服务问题的重要依据 在 MySQL 中日志可以分为几类 各自产生着不同的作用 如 error log bin log slow log 等 很多时候优化数据库的优化来源就是日志 错误日志 error log
  • JAVA-数组

    数组 概念 用于存储具有相同数据类型的容器称之为数组 可以使用统一的标识符 变量名进行管理 数据既可以存储基本数据类型也可以存储引用数据类型 可以存储任意类型的数据 数组的使用 声明 声明 与变量声明类似 在相应位置声明一个变量用于存储指定