[java基础揉碎]数组 值拷贝和引用拷贝的赋值方式

目录

数组的介绍

为什么有数组

数组的三种使用方式

动态初始化:

静态初始化:

数组使用注意事项和细节

值拷贝和引用拷贝的赋值方式

数组反转:

数组拷贝:


数组的介绍

数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。 即:数组就是一组数据

为什么有数组

假如有100只鸡, 需要计算它的体重和平均体重, 就需要定义100个变量, 然后在进行相加和平均计算. 如果这个鸡的数量是不定的, 后面会增加到102, 103那么不管需要定义新的变量, 计算部分也需要相应的改代码. 

如果使用数组, 只需要改数组类型的值即可.

数组的三种使用方式

动态初始化:

数组的定义:

数据类型 数组名[]=new数据类型[大小]

int a[]=new int[5];//创建了一个数组,名字a,存放5个int

                                                                                                     两者等价, 下面更常用
 

数据类型[] 数组名=new数据类型[大小]

int[] a=new int[5];//创建了一个数组,名字a,存放5个int

数组的使用:

数组名[下标/索引] 比如:你要使用a数组的第3个数  // a[2]

静态初始化:

语法:数据类型 数组名[]={元素值,元素值...}

int a[]={2,5,6,7,8,89,90,34,56}

上面的用法相当于:int a[]=new int[9];

a[0]=2;a[1]=5;a[2]=6;a[3]=7;a[4]=8; a[5]=89;a[6]=90;a[7]=34;a[8]=56; 

数组使用注意事项和细节

1.数组是多个相同类型数据的组合,实现对这些数据的统一管理

2.数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用

3.数组创建后,如果没有赋值,有默认值 int 0, short 0, byte 0, long 0, float 0.0,double 0.0, char \u0000, boolean false, String null

4.使用数组的步骤 1.声明数组并开辟空间 2.给数组各个元素赋值 3.使用数组

5.数组的下标是从0开始的。

6.数组下标必须在指定范围内使用,否则报:下标越界异常,比如 int[]arr=new int[5];则有效下标为0-4

7.数组属引用类型,数组型数据是对象(object)

值拷贝和引用拷贝的赋值方式

值拷贝(值传递):

引用拷贝(引用传递):

在虚拟机内存中: 

例子,要求引用传递数据空间独立的: 新new开辟一个空间

数组反转:

规律实现反转:

 逆序实现反转:

数组拷贝:

创建一个容量的更大的数组, 遍历赋值给新数组, 原数组在引用新数组:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决ubuntu登录密码问题

解决ubuntu登录密码问题 不要随便删除密码,不要随便改密码,很容导致密码过期,或者密码无效。参考了很多人的做法,都没有得到解决。下面的过程,够详细了,我就是这么搞好的。 1、重启虚拟机,不停…

Ubuntu忘记登录密码重置步骤

Ubuntu忘记登录密码重置步骤 1.开机界面长按shitf键,进入grub,并选择Advanced options for ubuntu,按下回车 2.选择一个较新版本的recovery mode,按下回车 3.会跑一些数据,等待跑完后会出现下面的界面,选择…

SG7050VEN(晶体振荡器SPXO)输出:LVDS低相位抖动

SG7050VEN 提供了从25 MHz到500 MHz的宽广频率范围,2.5V和3.3V供电电压,可以轻松集成到各种电源中,7.0 5.0 1.5 mm 的封装,LVDS输出已成为高速数据传输的首选,它提供了低功耗和高速率的优势,同时还能最小化电磁干扰。…

基于BP算法的SAR成像matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 BP算法的基本原理 4.2 BP算法的优点与局限性 5.完整工程文件 1.课题概述 基于BP算法的SAR成像。合成孔径雷达(SAR)是一种高分辨率的雷达系统,能够在各种天气和光…

幻兽帕鲁服务器创建私服教程(新版教程更简单)

幻兽帕鲁官方服务器不稳定?自己搭建幻兽帕鲁服务器,低延迟、稳定不卡,目前阿里云和腾讯云均推出幻兽帕鲁专用服务器,腾讯云直接提供幻兽帕鲁镜像系统,阿里云通过计算巢服务,均可以一键部署,鼠标…

Linux第58步_备份busybox生成rootfs根文件系统

备份busybox生成rootfs根文件系统 打开终端 输入“ls回车” 输入“cd linux/回车” 输入“ls回车”,产看“linux”目录下的文件和文件夹 输入“cd nfs/回车”,切换到“nfs”目录 输入“ls回车”,产看“nfs”目录下的文件和文件夹 输入…

大模型专题:大模型赋能智慧办公评测报告

今天分享的是大模型系列深度研究报告:《大模型专题:大模型赋能智慧办公评测报告》。 (报告出品方:国家工业信息安全发展研究中心人工智能所) 报告共计:34页 来源:人工智能学派 评测背景 当…

Deep learning学习笔记

lec 1:Regression 1.5 Linear neural networks for regression线性神经网络的回归 I parameterizing output layer, I handling data, I specifying loss function, I training model. 浅层网络包括线性模型,其中包含了许多经典的统计预测方法&…

javaweb学习day03(JS+DOM)

一、javascript入门 1 官方文档 地址: https://www.w3school.com.cn/js/index.asp离线文档: W3School 离线手册(2017.03.11 版).chm 2 基本说明 JavaScript 能改变 HTML 内容,能改变 HTML 属性,能改变 HTML 样式 (CSS),能完成 页面的数据…

阿里云服务器租用价格2024年新版活动报价和租用收费标准

2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年61元,折合5元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器165元一年,2核4G服务器30元3…

macOS 安装 conda

macOS 安装 conda 安装 conda参考 Conda是一个开源的软件包管理系统和环境管理系统,用于安装和管理软件包和其依赖项。 安装 conda mkdir miniconda3 cd miniconda3 bash Miniconda3-latest-MacOSX-x86_64.sh$ conda list参考 macOS 安装 conda开始使用conda

XSS数据接收平台

一.使用xss数据接收平台的好处: 正常执行反射型xss和存储型xss,反射型xss在执行poc时,会直接在页面弹出执行注入的poc代码;存储型则是,在将poc代码注入用户的系统中后,用户访问有存储型xss的地方&#xff…

前端工程化面试题 | 12.精选前端工程化高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

51单片机项目(31)——基于51单片机篮球计分器的proteus仿真

1.功能设计 可以通过两组按键,控制两个队伍的加减分,加分设置有+1分按键,+2分按键,+3分按键。减分设置有-1分按键。 设置有开始/暂停按键,按下开始,数码管便开…

LeetCode Python - 20.有效的括号

目录 题目答案运行结果 题目 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正…

php基础学习之作用域和静态变量

作用域 变量(常量)能够被访问的区域,变量可以在常规代码中定义,也可以在函数内部定义 变量的作用域 在 PHP 中作用域严格来说分为两种,但是 PHP内部还定义一些在严格意义之外的一种,所以总共算三种—— 局部…

人工智能专题:2024亚太地区生成式人工智能应用与监管报告

今天分享的是人工智能系列深度研究报告:《人工智能专题:2024亚太地区生成式人工智能应用与监管报告》。 (报告出品方:德勤) 报告共计:20页 来源:人工智能学派 知识更新:了解传统…

交通管理|交通管理在线服务系统|基于Springboot的交通管理系统设计与实现(源码+数据库+文档)

交通管理在线服务系统目录 目录 基于Springboot的交通管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、驾驶证业务管理 3、机动车业务管理 4、机动车业务类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计…

Python setattr函数

在Python编程中,setattr()函数是一个有用且灵活的内置函数,用于设置对象的属性值。它可以在运行时动态地设置对象的属性,无论是新建对象还是已有对象。本文将深入探讨setattr()函数的用法、语法、示例代码,并探讨其在实际编程中的…

Windows 连接共享文件夹 切换/退出账号操作

工作中遇到个问题,登录公司内部共享文件夹,使用自己的账号,但需要切换别人账号找东西时,没有发现登出的地方。在网上找了两种方法:通过命令行登出账号的方法 (1)打开cmd命令提示符,…
最新文章