Java基础--数组

别再手动算临界转速了!用ANSYS Workbench 2023 R2快速搞定转子坎贝尔图(附完整APDL命令流) 本文详细介绍了如何利用ANSYS Workbench 2023 R2快速生成转子坎贝尔图,实现全自动临界转速分析。通过对比传统手动计算与Workbench自动化流程的效率差异,展示了其在旋转机械设计中的革命性优势,包括大幅缩短分析周期、提升精度至98.7%。文章还提供了完整的APDL命令流和实战案例,帮助工程师快速掌握这一高效工具。 阅读详情

数组是具有相同数据类型的一组数据的集合,在Java中,虽然基本数据类型不是对象,但是由基本数据类型组成的数组却可以看成对象。数组作为对象允许使用new关键字进行内存分配,在使用数组前,必须首先定义数组的数据类型。

 

  • 数组的创建

 

数组分一维数组和二维数组;

 

一维数组

一维数组的创建有两种形式:第一种,先声明数组,再用new来进行内存分配;第二种,声明数组与内存分配同时进行。

 

先声明数组,再用new来进行内存分配

首先声明一维数组同样有两种方式:

数组元素类型 数组名称 [];

数组元素类型 [] 数组名称;

 

数组声明后还不可以使用,要在为数组分配内存,要注意,在为数组分配内存空间时要指明数组的长度。

数组名称 = new 数组的元素类型[数组元素的个数];

注意:在为数组分配内存时,整数型数组的各个元素的初始值为0.

 

声明数组的同时为数组分配内存空间

数组元素类型 数组名称 = new 数组元素类型[数组元素的个数];

 

数组与基本数据类型一样可以进行初始化操作,可以分别初始化数组中的每个元素。

数组初始化的方式也有两种:

例如:int arr[] = new int[]{1,2,3,4,5};

      Int arr[] = {3,5,7};

 

二维数组

二维数组就是数组中的每一个元素同样也是一个数组。二维数组通常用于表示表,表中信息以行列的形式组织,第一个下标代表元素所在的行,第二个下标代表元素所在的列。

 

创建二维数组的方式同样有两种:先声明数组再分配内存和声明的同时进行内存分配;

声明二维数组

数组元素类型 数组名称 [] [];

数组元素类型 [] [] 数组名称;

 

为数组分配内存

arr = new int[2][4];

 

声明数组的同时为其分配内存:

数组元素类型 [][] 数组名称 = new 数组元素类型[2][4];

 

二维数组的初始化

例如: int arr[][] = {{1,2},{3,4}}

 

 

二.数组的操作

数组可以通过Java.util 包中的Arrays类包含的方法来对数组进行操作。

 

  1. 遍历数组

遍历数组,获取数组中的元素,通常采用for循环和foreach语句的方式,二维数组则需要双重for循环;

例如:// 首先定义一个二维数组

int arr [][] = new int[][] {{1},{2,3},{4,5,6}};

 

// 采用双重for循环的方式遍历数组

for(int i=0;i<arr.length;i++) {

int[] arr1 = arr[i];

for(int j=0;j<arr1.length;j++) {

System.out.print(arr1[j]);

}

System.out.println();  // 换行

}

 

// 采用foreach语句遍历

// 定义一个外层循环计数变量

int a = 0;

for (int[] arr2 : arr) {

a++;

// 定义一个内层循环计数变量

int b=0;

for (int ar : arr2) {

b++;

//判断是否是数组中最后一个元素

if(a == arr.length && b == arr2.length) {

System.out.println(ar);

}else {

System.out.println(ar+",");

}

}

}

 

 

  1. 填充替换数组元素

数组元素定义后,可通过Arrays中方法fill(),对数组元素进行替换。

fill(int[] a,int value) 将指定的int值value分配给int型数组每个元素。

 

fill(int[] a, int fromIndex, int toIndex, int value) 该方法将指定的int值value分配给int型数组指定范围中的每个元素,填充的范围从索引fromIndex(包括该索引)一直到 toIndex(不包括该索引),如果 fromIndex == toIndex ,则填充范围为空。

 

注意:如果指定的索引大于或等于要填充的数组长度,则会报数组越界异常。

 

例如:// 首先定义一个数组

int arr[] = new int[5] ;

 

//1. 使用fill(int[] a,int value) 方法

Arrays.fill(arr, 8);

// 遍历数组

for (int i : arr) {

System.out.println(i);

}

 

//2. 使用fill(int[] a, int fromIndex, int toIndex, int value) 方法

 

//重新定义一个数组,并且初始化值

int[] arr2 = new int[] {23,45,64,25};

Arrays.fill(arr2, 0, 2, 44);

// 遍历数组

for (int i : arr2) {

System.out.println(i);

}

 

 

  1. 对数组进行排序

通过Arrays中的sort()方法,可以对数组的元素进行排序,另外当数组的数据类型是String类型,他的排序算法是根据字典编排顺序排序的,因此数字应当在字母前面,大写字母要在小写字母前面。

例如://定义一个数组,并且初始化值

   int[] arr3 = new int[] {23,45,64,25};

Arrays.sort(arr3);

// 遍历数组

for (int i : arr3) {

System.out.println(i);

}

  1. 复制数组

 Arrays类中的copyOf()和copyOfRange()方法可以实现对数组的复制。copyOf()方法是复制数组至指定长度;copyOfRange()方法是将指定数组的指定长度复制到一个新的数组。

copyOf()

语法: copyOf(arr,int newIndex);

       arr 表示要进行复制的数组;

       newIndex 表示复制后新数组的长度,如果新数组的长度大于数组arr的长度,则用0填充(根据复制数组的类型来决定填充的值,整数型数组用0填充,char型数组用null填充);如果复制后的数组长度小于数组arr的长度,则会从数组arr的第一个元素开始截取到满足新数组长度为止。

 

copyOfRange()

语法:copyOfRange(arr,int fromIndex, int toIndex);

      arr 表示要复制的数组;

      fromIndex 表示指定开始复制数组的索引位置,fromIndex必须在0至整个数组长度之间,新数组包括索引是fromIndex的元素。

      toIndex 表示指定复制数组范围的最后位置,可大于数组长度,新数组不包括索引toindex的元素。

 

例如:// 首先定义一个数组

int arr [] = new int[] {2,5,4,6,27,9,12};

 

// 使用copyOf方法

int[] newArr = Arrays.copyOf(arr, 3);

System.out.println("复制后的新数组newArr中的元素是:");

for (int i : newArr) {

System.out.print(i+",");

}

System.out.println();

// 使用copyOfRange()方法

int[] newArr1 =  Arrays.copyOfRange(arr, 2, 4);

System.out.println("复制后的新数组newArr1中的元素是:");

for (int i : newArr1) {

System.out.print(i+",");

}

 

 

  1. 数组查询

Arrays类中的binarySearch()方法,可以使用二分搜索法来搜索指定数组,以获取指定对象,该方法返回的是要搜索元素的索引值。

 

binarySearch(Object[] a, Object key)

如果key值包含在数组a中,则返回搜索值的索引,否则返回-1或者“-”插入点。插入点是搜索键要插入数组的那一点,即第一个大于此键的元素索引。

如果数组中所有的元素都小于指定的键,则为数组.length.

 

注意:必须在进行此调用方法之前,对数组进行排序,如果没有对数组进行排序,则结果是不确定,如果数组中包含多个带有指定值的元素,则无法保证找到的是哪一个。

 

binarySearch(Object[] a,int fromIndex,int toIndex,Object key)该方法在指定范围内搜索指定元素。如果要搜索的key,在指定的范围内,则返回该值的索引值,否则返回-1或“-”插入点。如果范围中所有的元素都小于指定的键,则为toIndex。如果指定的范围大于或等于数组长度,则会报越界异常。

 

例如:// 首先定义一个数组

int arr [] = new int[] {2,5,4,6,27,9,12};

 

//对数组使用sort方法排序

Arrays.sort(arr);

 

// binarySearch(Object[] a, Object key)

int index = Arrays.binarySearch(arr, 8);

System.out.println(index);

int index1 = Arrays.binarySearch(arr, 5);

System.out.println(index1);

 

// binarySearch(Object[] a,int fromIndex,int toIndex,Object key)

int index2 = Arrays.binarySearch(arr, 0, 3, 43);

System.out.println(index2);

int index3 = Arrays.binarySearch(arr, 0, 3, 4);

System.out.println(index3);

2025MCM美赛 数学建模 问题 C:奥运奖牌榜模型 思路+matlab代码+python代码 目录问题一详细思路步骤1. 数据准备与预处理2. 特征选择与构建3. 模型选择4. 模型训练与评估5. 预测与不确定性分析6. 分析与结果解释步骤详细代码实现python代码代码解析matlab代码问题二详细思路解决方案步骤1. 构建生产模型:2. 优化决策:3. 代码实现:代码解析matlab代码问题三的详细思路解决思路:代码实现1. 数据准备2. 代码实现matlab代码在这个问题中,我们的目标是根据历史奥运会的数据,建立一个模型来预测2028年洛杉矶奥运会各国的奖牌数。具体要求是:首先,整理并加载奥运 阅读详情

相关推荐

window部署open claw(使用wsl-Ubuntu-docker部署)

本文详细介绍了在Windows 11系统下通过WSL2+Docker部署OpenClaw的完整流程。首先需要满足硬件配置要求并开启虚拟化功能,然后依次完成WSL2安装配置、Docker Desktop安装、OpenClaw镜像拉取等步骤。重点说明了端口映射、socat转发配置及openclaw.json文件修改方法。最后通过验证WSL2内网IP和端口访问服务。该方案具有最佳兼容性,能有效避免Windows环境下的依赖冲突问题。

Kmoyic的博客 2763

java一维数组

** .一维数组的声明 ** 声明数组包括数组的名字、数组包含的元素的数据类型。 声明一维数组的格式有如下两种: 格式1:数组元素类型[] 数组名 // int [ ] a; 格式2:数组元素类型 数组名[ ] // int a[ ]; 数组初始化数组创建后,不对其进行初始化,系统会根据其类型自动为元素赋值。如果数组的元素是基本类型的元素,数组中元素默认初始

andygras的博客 599

superpowers-中文使用说明

《obra/superpowers:AI辅助开发的流程纪律工具集》 摘要:obra/superpowers是一套面向AI辅助软件开发的系统化流程规范,包含14个核心技能,强调"先理解后行动"的纪律性开发方法。该工具集定义了从头脑风暴到代码评审的完整工作流,要求严格遵循测试驱动开发、子代理隔离执行等原则。核心特色包括:1) 任何实现前必须完成设计和评审;2) 采用红-绿-重构的TDD循环;3) 复杂任务通过独立子代理串行处理;4) 所有产出需经过双重验证(规格合规+代码质量)。该工具集特别注重文档化和可验证性

qq_22786633的博客 765

一维数组的声明与使用

一维数组的声明与使用 1、一维数组的本质就是在内存中申请一段连续区域,用于记录多个类型相同的数据。 数组名:指数组的名称,用于记录连续内存区域内在内存中的首地址,类似于容器。 数组元素:主要指存放在数组中的数据内容。 数组长度:主要指存放在数组中的元素个数、数组容量。通常使用  数组名.length  的方式获取。 数组下标:主要指数组元素在数组中的编号,从 0 开始一直到  数组名.l...

进步、每天①点点↗的博客 3271

C51编程25-应用篇(单片机与电脑端实现wifi通讯)

单片机使用ESP-01S wifi模块与电脑端进行数据通讯。

qq_34343637的博客 1万+

el-table通过上下左右键移动光标

在Element Plus的el-table中包含el-input和el-select组件,要实现上下左右键控制光标位置,需要通过focus和blur跟踪判断当前是哪个el-input或el-select有焦点,当按键按下时,通过监听,计算下一个获取焦点元素的索引,通过focus方法将焦点切换至改元素。

秋思的博客 1350

java语法|一维数组的声明、创建、初始化和赋值

这个[]可以放在数据类型的后面,也可以放在数组名的后面。小贴士1、数组在内存中的存储,数组会被分配连续的内存空间,并且对于整型数组来说,内存空间中的默认值都是0。数组在赋值的时候,下标必须从0开始,因此,要注意数组的长度要比下标的最大值多1,不然就会报错。例如int[]arr={1,2,3,4,5,6,7,8,9,10};把arr这个数组存放到变量n中,把数组中的所有数字遍历一遍,就结束。字符串数组的默认值是null,所有对象数组的默认值都是0。数据类型[]数组名=new数据类型[数组长度]...

mengxiang_的博客 4744

手把手教你用闲置安卓手机搭建个人收款系统(蓝鲸支付私有化部署实战)

本文详细介绍了如何利用闲置安卓手机搭建个人收款系统,实现私有化支付部署。通过开源技术栈和容器化方案,零成本构建安全、高效的支付网关,解决传统支付平台的数据安全和资金风险问题。特别适合个人开发者和小微企业主,无需复杂审批,资金实时到账,显著降低运营成本。

weixin_30363285的博客 381

第五章总结

4.先声明,再用new关键字进行内存分配:数组元素类型决定了数组的数据类型,它可以是Java中任意的数据类型,包括简单类型和组合类型,数组名字为一个合法的标识符,符号“[]”,指明该变量是一个数组类型变量,单个“[]”,表示要创建的数组是一个一维数组。14.遍历数组:遍历数组就是获取数组中的每个元素,通常遍历数组都是使用for循环来实现,遍历一维数组很简单,也很好理解,遍历二维数组需使用双层for循环,通过数组的length属性可获得数组的长度。

qq_74846159的博客 122

从Android到鸿蒙:UI框架迁移的实战指南与最佳实践

本文为Android开发者提供了将应用UI框架迁移至鸿蒙系统的实战指南。文章深入对比了Android命令式编程与鸿蒙ArkUI声明式编程的核心差异,详细讲解了从环境配置、布局迁移(如RecyclerView转List)、逻辑处理到多设备适配与性能优化的全流程最佳实践,帮助开发者高效完成迁移工作。

weixin_29208077的博客 434

48、住宅抵押贷款支持证券的定价、风险评估与结构化设计

本文深入探讨了住宅抵押贷款支持证券(RMBS)的定价、风险评估与结构化设计。内容涵盖提高定价准确性的方差缩减方法,如准蒙特卡罗序列的应用;分析RMBS面临的利率风险、信用风险和模型风险,并提出相应的度量与应对策略;介绍利用动态规划优化CMO分层结构以最大化发行利润的方法。同时总结了RMBS的基本类型、定价流程及市场发展趋势,为投资者和发行人提供全面的决策支持。

quiet的专栏 154

数组

数组 一、数组概述 数组是相同类型数据的有序结合。 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。 二、数组声明创建 首先必须声明数组变量,才能在程序中使用数组。 声明数组变量的语法: dataType[] arrayRefVar;// 首选方法 或 dataType arrayRe...

yemuyouhan的博客 282

AI技术在电商中的实际应用

人工智能、电商、推荐系统、个性化、机器学习、深度学习 1. 背景介绍 电子商务行业近年来发展迅速,用户数量不断增长,商品种类日益丰富。然而,随着市场竞争的加剧,电商平台面临着如何提升用户体验、提高转化率、挖掘潜在商机等一系列挑战。人工智能(AI)技术作为一种新兴技术,凭借其强大的数

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1740

JAVA数组基础

初识Java数组,基础要打牢!

zhao_2907的博客 1621

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JAVA基础:数组

Java中数组的基本使用

愿你我都能实现自己的梦想 2320

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Java基础】数组基础

Java当中的数组在栈中被使用,而数组指向堆中的数据才是真实的数据。数组只是引用了这些数据,因此,我们称数组为引用类型。当数组指向对应的数据时,我们称为”引用指向对象“。如下图所示,我们假设0x99是堆中的数据,数组array在栈中存放着这些数据的地址,通过调用指向堆中各自对应的数据,这就是”引用“。那么有没有可能存在数组不指向对象呢?在上面的代码中,arr2并不存在引用的情况,arr2这个引用不指向任何一个对象,只对数组进行了初始化。在运行了array[0]之后,则数组出现空指针异常。

Starc_的博客 943

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java数组基础

目录 一,数组的基础概念 1.1什么是数组 1.2创建数组 1.3数组的使用 1.4数组的打印 1.5数组的拷贝 1.6引用数据类型的理解 二,数组的练习 2.1冒泡排序法 2.2判断一个数组是否有序 2.3二分查找 三,二维数组 一,数组的基础概念 1.1什么是数组 数组(Array)是有序的元素序列,在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式,这些有序排列的同类数据元素的集合称为数组。 数组可以看做相同数据类型的数据的一个存.

qq_57958234的博客 880

Java基础 — 数组

Java数组是存储固定数量同类型元素的数据结构,属于对象类型。声明数组需指定元素类型和方括号,如int[] arr或int arr[],推荐前者规范写法。创建数组必须使用new关键字指定长度,例如int[] arr = new int[5],此时元素会根据数据类型自动初始化默认值(整型0,浮点0.0,布尔false,对象null)。也可直接初始化具体元素:String[] names = {"Alice", "Bob"}。数组通过从0开始的索引访问元素,arr[0]表示首个元素。

2403_89893216的博客 1181

Java数组(基础)

​//变量类型 变量名字 = 变量的值//数组类型 数组是相同数据类型的有序集合int[] arr;//1.声明一个数组//2.创建一个数组 这里面可以存放10个int类型的数字把1.2.合在一起也行//3.给数组元素赋值arr[0] = 1;arr[1] = 2;arr[2] = 3;arr[3] = 4;arr[4] = 5;arr[5] = 6;arr[6] = 7;arr[7] = 8;arr[8] = 9;//计算所有数字的和。

Naclarb优快云的博客 928

Java数组基础详解

Java数组基础相关内容

感谢阅读 885

java 数组成员_java数组基础

java中的数组是引用数据类型。//在栈空间声明数组引用对象int[] NAME;int NAME[]; //中括号放哪边都是等价的className[] NAME;//在堆空间划分数组空间并初始化数组对象NAME = new int[3];NAME = new className[3]//赋值,在堆空间中填充每个数组成员NAME[0]=0;NAME[1]=1;...className[0]...

weixin_42310670的博客 933

Java基础(六):数组

数组的概念数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理数组中的概念数组名下标(或索引)元素数组的长度数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型创建数组对象会在内存中开辟一整块连续的空间。占据的空间的大小,取决于数组的长度和数组中元素的类型数组中的元素在内存中是依次紧密排列的,有序的数组,一旦初始化完成,其长度就是确定的。数组的长度一旦确定,就不能修改。

从基础到源码解析的学习记录 2809

Java之数组基础

一.首先,了解Java引用和传值的区别。 引用和传值的区别我这里是转载的一篇博文,感觉写的很棒很清楚,附原文链接:https://blog.youkuaiyun.com/weixin_36759405/article/details/82764339 传值:传递的是值的副本。方法中对副本的修改不会影响到调用方。 传引用:传递的是引用的副本,共用一个内存,会影响到调用方。因为传引用后指向的是同一个地址,修...

YangTongA的博客 574

[Java基础] 创建一个对象数组

先从一段错误的代码切入,然后在后面提出正确的创建方法。先考虑这段代码:public class Student { private int age; private String name; public void Student() { this.age = 21; this.name = "someone"; } public v

lkxlaz的博客 1万+

java 数组类型_Java基础之数组类型

对于Java,前面的一些基础概念不是很想写,看了看还是从数组开始写吧(毕竟数组是第一个引用类型,相对复杂一点),我也是学了JAVA不是很久,目前看完了JAVA的基础视频,还有JAVA疯狂讲义这本书的大部分跟基础相关的内容,但是看完之后发现之前学的很多东西都忘记了(太急于求成,动手实践太少),所以想在学习框架之前二刷一遍,把基础知识点在重温一下。顺便写写博客记录我的JAVA学习历程,以及我所理解的知...

weixin_42568801的博客 544

java数组基础详解

java数组基础详解 一、引言 二、声明数组 三、初始化数组3.1静态初始化3.2动态初始化 四、访问数组元素 五、遍历数组 六.分析数组内存 七、数组常见异常 7.1索引越界异常ArrayindexOutOfBoundsException7.2空指针异常NullPointerException

weixin_47138646的博客 1018
上一篇: java基础--正则表达式
下一篇: Java常见的异常信息
jmf_java
博客等级 码龄9年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值