java——认识数组

1.什么是数组?
    定义:由若干类型相同的相关数据项按顺序储存在一起形成的一组同类型有序数据的集合(摘自《C语言大学使用教程(第3版)》)
    数组是属于数据结构中的一个内容。构成数组的每个数据项成为 元素。
    数组是数据结构中访问与存储速度最快的一种数据结构。可以直接通过下标进行定位到指定的数据位置。


     Java中数组在定义时必须要指定最低维的数组的长度。

      数组是存储指定数据类型和固定长度的数据容器。

数据类型[][] 数组名 = {{数据,...},...};的赋值方法例外


补充:Java有哪几种数据类型?
1.基本数据类型 (byte,short,int,long,float,double,char,boolean)(没有任何构造方法和属性,默认值为0)
2.引用类型(对象类型,类类型):类、接口、抽象类、数组(有构造方法和属性,默认值null)


2、数组在内存中的存储方式是怎样的?
数组名存储的是首地址
一维数组存储数据的是一个连续的存储空间

二维数组存储数据的是多个一维数组数组,是不连续的。


3、数组的定义
一维数组
数据类型 [] 数组名 = {值,...};
数据类型 [] 数组名 = new 数据类型[长度];

数据类型 [] 数组名 = new 数据类型[]{值,...};
数据类型 [] 数组名;

数组名 = new 数据类型[]{值,...};
数组名 = new 数据类型[长度];
二维数组
数据类型 [][] 数组名 = {{值,...},...};
数据类型 [][] 数组名 = new 数据类型[行][列];

数据类型 [][] 数组名 = new 数据类型[][]{{值,...},...};
数据类型 [][] 数组名;

数组名 = new 数据类型[][]{{值,...},...};
数组名 = new 数据类型[行][列];

        多维数组的定义以此类推。


4、数组的使用
数组是Java中的引用数据类型(类),数组只提供了一个唯一的属性length,
   length是用来获取数组中能存储的元素总数。


一维数组的使用:
                获取或设置某一个位置的数据:
                                   数组名[下标]
注:数组的下标起始值为0;即:int[] a=new int[3]中的元素分别是a[0]、a[1]、a[2] 
获取一维数组中能存储多少个元素?
数组名.length

二维数组的使用:
获取二维数组有多少行?
数组名.length
获取二维数组某一行有多少列?
数组名[行下标].length
获取或设置某一个位置的数据:

数组名[行下标][列下标]


5、数组的传递
        在java中,数组是值传递而非引用传递,所以从c语言转来学java的要注意,Java中只有按值传递,没有按引用传递!
         其实,当函数调用数组时,对数组的修改依然是有效的,这会导致大家认为数组是引用传递。
        但是,这是通过值传递实现的,这里不做详细解释。
【最优潮流】直流最优潮流(OPF)课设(Matlab代码实现)内容概要:本文档主要围绕“直流最优潮流(OPF)课设”的Matlab代码实现展开,属于电力系统优化领域的教学与科研实践内容。文档介绍了通过Matlab进行电力系统最优潮流计算的基本原理与编程实现方法,重点聚焦于直流最优潮流模型的构建与求解过程,适用于课程设计或科研入门实践。文中提及使用YALMIP等优化工具包进行建模,并提供了相关资源下载链接,便于读者复现与学习。此外,文档还列举了大量与电力系统、智能优化算法、机器学习、路径规划等相关的Matlab仿真案例,体现出其服务于科研仿真辅导的综合性平台性质。; 适合人群:电气工程、自动化、电力系统及相关专业的本科生、研究生,以及从事电力系统优化、智能算法应用研究的科研人员。; 使用场景及目标:①掌握直流最优潮流的基本原理与Matlab实现方法;②完成课程设计或科研项目中的电力系统优化任务;③借助提供的丰富案例资源,拓展在智能优化、状态估计、微电网调度等方向的研究思路与技术手段。; 阅读建议:建议读者结合文档中提供的网盘资源,下载完整代码与工具包,边学习理论边动手实践。重点关注YALMIP工具的使用方法,并通过复现文中提到的多个案例,加深对电力系统优化问题建模与求解的理解。
Java 中,**数组的长度是通过一个名为 `length` 的属性(不是方法)来获取的**。这是 Java 数组的一个内置属性。 --- ### ✅ 获取 Java 数组长度的方法 ```java 数组名.length ``` > ⚠️ 注意:`length` 是 **属性(field)**,不是方法,所以后面没有括号 `()`。 > 不要写成 `length()` —— 那是 `String` 类的 `length()` 方法! --- ### 🌰 示例代码 ```java public class ArrayLengthExample { public static void main(String[] args) { // 定义一个整型数组 int[] numbers = {1, 2, 3, 4, 5}; // 获取数组长度 System.out.println("数组长度为:" + numbers.length); // 字符串数组 String[] names = {"Alice", "Bob", "Charlie"}; System.out.println("字符串数组长度:" + names.length); // 二维数组:length 返回行数 int[][] matrix = { {1, 2, 3}, {4, 5, 6} }; System.out.println("二维数组行数:" + matrix.length); // 输出 2 System.out.println("第一行列数:" + matrix[0].length); // 输出 3 } } ``` #### 输出结果: ``` 数组长度为:5 字符串数组长度:3 二维数组行数:2 第一行列数:3 ``` --- ### 🔍 补充说明 | 数据类型 | 获取长度的方式 | 说明 | |--------|----------------|------| | 数组(int[], String[] 等) | `array.length` | 属性,无括号 | | 字符串(String) | `str.length()` | 方法,需要括号 | | 集合(List, Set 等) | `list.size()` | 调用 size() 方法 | --- ### ❌ 常见错误示例 ```java System.out.println(numbers.length()); // 编译错误! // 错误信息:cannot find symbol // 符号: method length() // 位置: 类型为 int[] 的变量 numbers ``` --- ### 💡 小技巧:遍历数组时使用 length ```java for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } ``` 或者使用增强 for 循环(不需要显式使用 length): ```java for (int num : numbers) { System.out.println(num); } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值