Java基础:4.2 数组

本文详细介绍了数组的概念、定义及初始化方式,并解释了局部变量与成员变量的区别。同时,还探讨了数组操作中常见的问题,如空指针异常和索引越界异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组:数组是存储同一种数据类型数据的集合容器。

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

int[] arr = new int[50];

分析数组:   
     左边: int[] arr    声明了一个int类型的的数组变量,变量名为arr。
                 int : 表示该数组容器只能存储int类型的数据。
                 [] : 这是一个数组类型。
                 arr : 变量名.
    右边:new int[50]; 创建了一个长度为50的int类型数组对象。
               new : 创建数组对象的关键字。
               int:  表示该数组对象只能存储int类型数据。
               []: 表示是数组类型。
               50 : 该数组最多能存储50个数据。数组的容量。

        
数组的好处: 对分配到数组对象中每一个数据都分配一个编号(索引值、角标、下标),索引值的范围是从0开始,最大是: 长度-1.

数组中最常见的问题:

    1.  NullPointerException 空指针异常
        原因: 引用类型变量没有指向任何对象,而访问了对象的属性或者是调用了对象的方法。

    2.  ArrayIndexOutOfBoundsException 索引值越界。
         原因:访问了不存在的索引值。

数组的初始化方式
    
    动态初始化:
        数据类型[] 变量名 = new 数据类型[长度];

    静态初始化:    
        数据类型[] 变量名 = {元素1,元素2.....};


如果程序一开始你就已经确定了数据,那么这时候建议使用静态初始化。如果数据一开始还不太明确,这时候就建议使用动态初始化。

折半查找法(二分法): 使用前提必需是有序的数组。

 

 

局部变量: 如果一个变量是在一个方法(函数)的内部声明的,那么该变量就是一个局部变量。

成员变量: 成员变量就是定义在方法之外,类之内的.

内容概要:该论文探讨了一种基于粒子群优化(PSO)的STAR-RIS辅助NOMA无线通信网络优化方法。STAR-RIS作为一种新型可重构智能表面,能同时反射和传输信号,与传统仅能反射的RIS不同。结合NOMA技术,STAR-RIS可以提升覆盖范围、用户容量和频谱效率。针对STAR-RIS元素众多导致获取完整信道状态信息(CSI)开销大的问题,作者提出一种在不依赖完整CSI的情况下,联合优化功率分配、基站波束成形以及STAR-RIS的传输和反射波束成形向量的方法,以最大化总可实现速率并确保每个用户的最低速率要求。仿真结果显示,该方案优于STAR-RIS辅助的OMA系统。 适合人群:具备一定无线通信理论基础、对智能反射面技术和非正交多址接入技术感兴趣的科研人员和工程师。 使用场景及目标:①适用于希望深入了解STAR-RIS与NOMA结合的研究者;②为解决无线通信中频谱资源紧张、提高系统性能提供新的思路和技术手段;③帮助理解PSO算法在无线通信优化问题中的应用。 其他说明:文中提供了详细的Python代码实现,涵盖系统参数设置、信道建模、速率计算、目标函数定义、约束条件设定、主优化函数设计及结果可视化等环节,便于读者理解和复现实验结果。此外,文章还对比了PSO与其他优化算法(如DDPG)的区别,强调了PSO在不需要显式CSI估计方面的优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值