数组,java学习第五天

数组

数组的定义

数组是相同类型数据的有序集合

数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成

其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们,数组的下标是从0开始的

数组声明创建、三种初始化及内存分析

首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:

datatype[] arrayRefVar;//首选的方法或dataType arrayRefvar[];//效果相同,但不是首选方法

java语言使用new操作符来创建数组,语法如下:

dataType[] arrayRefVar=new dataType[arraySize];

数组的元素是通过索引访问的,数组索引从0开始。

获取数组长度:

arrars.length

package Array;public class ArrayDemo01 {public static void main(String[] args) {//变量的类型 变量的名字=变量的值;int[] nums;//1.声明一个数组nums=new int[4];//2.创建一个数组,这里面可以存放4个int类型的数字//3.给数组元素中赋值nums[0]=1;nums[1]=2;nums[2]=3;nums[3]=4;//计算所有元素的和int sum=0;//获取数组长度:arrays.lengthfor(int i=0;i<nums.length;i++) {sum = sum + nums[i];}System.out.println(sum);}
}

数组的四个基本特点:
1.其长度是确定的。数组一旦被创建,它的大小就是不可以改变的

2.其元素必须是相同类型,不允许出现混合类型。

3.数组中的元素可以是任何数据类型,包括基本类型和引用类型。

4.数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

java内存分析:

1.堆:存放new的对象和数组

可以被所有的线程共享

2.栈:存放基本变量类型(会包含这个基本类型的具体数值)

引用对象的变量(会存放这个引用在堆里面的具体地址)

3.方法区:可以被所有线程共享

包含了所有的class和static变量

Java.lang.ArrayIndexOutOfBoundsException:1

异常:数组下标越界

image-20250918093320666

image-20250918093847536

package Array;public class ArrayDemo02 {public static void main(String[] args) {//静态初始化:创建+赋值int[] a={1,2,3,4,5,6};System.out.println(a[0]);//动态初始化:包含默认初始化int[] b=new int[10];b[0]=10;System.out.println(b[0]);}
}

下标越界及小结

下标的合法区间:[0,length-1],如果越界就会报错

public static void main(String[] args){int[] a=new int[2];System.out.println(a[2]);}

小结:

1.数组是相同数据类型(数据类型可以为任意类型)的有序集合

2.数组也是对象。数组元素相当于对象的成员变量

3.数组长度的确定的,不可变的。

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

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

相关文章

文件结构与数据分析专项-解析

在https://exam.didctf.com/practice/questions可以找到题目出这套题主要是想鼓励大家在遇到陌生的文件时,可以主动地去对这类文件进行分析(尤其是将多个文件打包在一起),希望能通过专项练习得到这方面的提升。 源…

销售能力——Steam平台我们应该做什么游戏?

最近刚看一个视频,李亚鹏卖酒的故事挺有意思,分享一下 https://www.bilibili.com/video/BV1CXkuY2EXk/?spm_id_from=333.1391.0.0&vd_source=106601ca71b1d910c1ac4aa2466b744c 这里李亚鹏卖酒卖不出去,和我们…

平静

也许我该试着让自己的心灵安静下来。 隐入世俗的境地,好好和身边的人聊聊天。 从合租的房子里搬出去,自己一个人独居。如此渴望孤独的星空,又渴望与群星作伴。

2025.9.18总结

内容:回顾web学习路线 从最开始的1.黑框增删改查 2.连上数据库,但依旧黑框增删改查 3.网页界面增删改查 4.使用springboot+vue3增删改查。 现在回头看使用ai能够轻松的完成一个表的小项目。 不过对于存粹的技术上面没…

Codeforces 2144F Bracket Groups 题解 [ 紫 ] [ AC 自动机 ] [ DP ] [ 构造 ]

Bracket Groups:赛时猜出来用 ACAM,结果没猜到结论,我是糖比。 首先判掉一些 corner,如果出现了 \(\texttt{()}\) 为单个字符串,则一定无解。 发现后面不太好做,所以可以套路地猜一猜答案上界,发现最多只需要分…

Java进制,数据类型拓展Unicode编码学习

今日学习Java 进制 int i = 10; //十进制,结果为10 int i2 = 010; //八进制,结果为8 int i3 = 0x10; //十六进制,结果为16 二进制符号为0b; float j = 0.1f; 数据类型拓展 银行业务用数据类型BigDecimal,可以进行…

【转】[IDEA] 调试时怎么判断使用哪个配置文件

【转】[IDEA] 调试时怎么判断使用哪个配置文件转自:豆包 在 IntelliJ IDEA 中调试 Spring 项目时,如果发现加载的配置文件不是预期的,通常是由于配置文件加载优先级、启动参数或项目结构问题导致的。以下是具体原因…

软件工程学习日志2025.9.18

今日重点设计了HBase后端数据插入模块,基于Java API实现了高性能的写入方案。以下为关键代码实现及技术要点: HBase数据插入工具类 支持单条插入和批量写入操作 public class HBaseInserter { private static final …

Clean Code/代码简洁性Good-Practice:使用统一异常来取代错误处理

Clean Code/代码简洁性Good-Practice:使用统一异常来取代错误处理通过自定义异常集中处理,将繁琐的参数校验代码转化为清晰、简洁且可维护的艺术。通过自定义异常集中处理,将繁琐的参数校验代码转化为清晰、简洁且可…

U3D动作游戏开发读书笔记--3.1 物理系统详解(上)

第三章 物理系统详解 3.1 物理系统的基本梳理 3.1.1 系统参数设置 了解物理配置:打开Project Settings设置Gravity:重力,常用范围是60~80 Queries Hit Backfaces :进行背面查询,如果需要查询MeshCollider背面的情…

一个联名款电子产品的技术实现和诞生

@目录项目核心亮点(“老年人”非得在地上穿梭也行,恐高嘛)核心技术(技术实现,欢迎各抒己见)市场分析基础核心创新点 项目核心亮点(“老年人”非得在地上穿梭也行,恐高嘛) 欢迎各位青少年小伙伴参与评论互动,…

US$198 Auxiliary Heater Diagnostic Unit for Eberspacher 12V/24V Systems

Auxiliary Heater Diagnostic Unit for Eberspacher 12V/24V SystemsAuxiliary Heater Diagnostic Unit Function:Read out errors from the control boxPerform diagnosis on installed heaterSwitch on heater direc…

JOISC

JOISC开坑。

20250918 之所思 - 人生如梦

20250918 之所思为了改善专注力,到网上找了不少方法,按照教程学习了冥想,但可能是境界不够,效果一直不太好,容易分心,注意力拉不回来,挺沮丧;昨天试验了番茄钟,开始一个任务,接着开始倒计时,发现注意力非常…

初赛知识点复盘

前言 作者觉得自己太菜了,就开始复盘初赛知识点了 接下来是CSP-S/J,虽然在HN很容易进复赛但是还是稳健一点 正文 1.计算机内部结构1.冯诺依曼计算机结构,分为 输入设备,存储器,输出设备,运算器,控制器,其中1.运…

WPF使用Cef加载Vue3页面问题

在WPF中使用CefSharp时遇到两个问题:1.Vue3中使用Ant Design Vue时,table不显示数据 由于之前的老项目用的Vue2框架,数据接口是一样的,页面的功能是差不多的,就把table的columns复制了过来,结果显示不出字段; 数…

curl与wget

wget 和 curl 不是替代关系,而是互补工具。wget 更“傻瓜式”,curl 更“灵活”。 但是curl 支持 40+ 协议,是 API 调试、RESTful 接口测试 的首选工具。HTTP 方法与 API 调用(curl 强项) curl 无法原生实现递归下载…

用 Go 语言与 Tesseract OCR 实现英文数字验证码识别

Go 语言本身不直接支持图像识别,但可以通过调用 Tesseract OCR 引擎来进行图像识别。我们可以使用 Go 的 tesseract 包来实现这一功能。 一、安装与配置 安装 Tesseract OCR 首先,你需要在系统中安装 Tesseract OCR。…

lc1031-两个非重叠子数组的最大和

难度:中等(中期)题目描述给定一个数组和两个长度,找到两个符合长度的不重合的连续子数组,使其和最大示例 输入:nums = [0,6,5,2,2,5,1,9,4], firstLen = 1, secondLen = 2 输出:20 解释:[6, 5] + [9]输入:num…