java 数组的创建 与 赋值

article/2025/11/9 0:47:20

1.2.2 数组类型

       基本类型的数组有3种赋值形式,如下所示:

在这里插入图片描述

       第1种和第2种都是预先知道数组的内容,而第3种是先分配长度, 然后再给每个元素赋值第3种形式中,即使没有给每个元素赋值,每个元素也都有一个默认值,这个默认值跟数组类型有关,数值类型的值 为0,boolean为false,char为空字符

       数组长度可以动态确定,如下所示:

在这里插入图片描述
       数组长度虽然可以动态确定,但定了之后就不可以变数组有一个 length属性,但只能读,不能改。还有一个小细节,不能在给定初始值 的同时给定长度,即如下格式是不允许的:

在这里插入图片描述
       可以这么理解,因为初始值已经决定了长度,再给个长度,如果还 不一致,计算机将无所适从。

       数组类型和基本类型是有明显不同的,一个基本类型变量,内存中 只会有一块对应的内存空间。但数组有两块:一块用于存储数组内容本身,另一块用于存储内容的位置。用一个例子来说明,有一个int变量 a,以及一个int数组变量arr,其代码、变量对应的内存地址和内存内容 如表1-3所示。

在这里插入图片描述

       基本类型a的内存地址是1000,这个位置存储的就是它的值100数组类型arr的内存地址是2000,这个位置存储的值是一个位置3000,3000 开始的位置存储的才是实际的数据“1,2,3”

       为什么数组要用两块空间? 不能只用一块空间吗?我们来看下面 这段代码:

在这里插入图片描述

       这段代码中,arrA初始的长度是3,arrB的长度是4,后来将arrB的 值赋给了arrA。如果arrA对应的内存空间是直接存储的数组内容,那么 它将没有足够的空间去容纳arrB的所有元素。

       用两块空间存储就简单得多,arrA存储的值就变成了和arrB的一 样,存储的都是数组内容{4,5,6,7}的地址,此后访问arrA就和arrB 是一样的了,而arrA{1,2,3}的内存空间由于不再被引用会进行垃圾回收,如下所示:

在这里插入图片描述

       由上也可以看出,给数组变量赋值和给数组中元素赋值是两回事给数组中元素赋值是改变数组内容,而给数组变量赋值则会让变量指向 一个不同的位置

       上面我们说数组的长度是不可以变的,不可变指的是数组的内容空间,一经分配,长度就不能再变了,但可以改变数组变量的值,让它指向一个长度不同的空间,就像上例中arrA后来指向了arrB一样。

       给变量赋值就是将变量对应的内存空间设置为一个明确的值,有了 值之后,变量可以被加载到CPU,CPU可以对这些值进行各种运算,运 算后的结果又可以被赋值给变量,保存到内存中。数据可以进行哪些运 算?如何进行运算呢?我们下节介绍。

参考目录

绝大多数内容来自于:Java编程的逻辑 作者: 马俊昌(1.2 赋值)

Java官方文档
https://docs.oracle.com/javase/specs/index.html


http://chatgpt.dhexx.cn/article/sDZv584U.shtml

相关文章

java 数组批量赋值_「数组赋值」java编程-定义数组并赋值 - seo实验室

数组赋值 package day03; public class TestArray { public static void main(String [] args) { int [] b; b new int[] {88,99,66}; //分步定义数组,先定义数组名,然后再为数组赋值 int [] d {88,99,100}; //直接定义数组,同时赋值 Syste…

java数组循环动态赋值_Java数组

Java语言数组遍历教程 Java语言数组遍历详解 语法 for(int i = 0;i< 数组名称.length;i++){数组名称[i]; } 说明 我们在程序中,定义了一个变量 i,用 i 的值和数组的长度值比较,因为数组的索引是从 0 开始的,所以我们遍历的数值只能够小于 数组名称.length。 数组存储的结…

Java数组的赋值机制

数组的两种赋值的方式 引用传递&#xff0c;赋的是地址 数组的值是放在JVM的堆里&#xff0c;当定义一个数组时会在JVM里的栈中&#xff0c;放置堆的地址&#xff0c;来指向JVM对应的 堆 。在对数组进行赋值的时候&#xff0c;默认情况下是引用传递&#xff0c;即把堆的地址给…

Java二维数组赋值

Java二维数组是指由多个一维数组组成的数组结构。它可以看作是一个表格&#xff0c;其中行表示数组中的第一个维度&#xff0c;列表示第二个维度。 可以使用两个方括号&#xff08;[ ] [ ]&#xff09;来声明和访问Java二维数组中的元素。 例如&#xff0c;以下代码声明了一个包…

java数组赋值_java中给数组赋值的方法

1、数组操作中&#xff0c;可以使用等于()赋值 注意&#xff1a;此时新数组只是指向原数组的存储空间&#xff0c;并没有重新申请新的空间。 实例&#xff1a;public class ArrayTest{ public static void main(String args[]){ // 1 int[] anew int[4]; a[0]1; a[1]2; a[2]3; …

Java数组变量赋值

一、问题&#xff1a;Java数组变量赋值是值传递还是址传递&#xff1f; 1.1 结论&#xff1a;java变量赋值是址传递 1.2 验证过程&#xff1a; ​ public class Test {public static void main(String[] args) {int[] arryA {1, 2, 3};int[] arryB {4, 5, 6, 7};arryA ar…

java 数组赋值_java中为数组赋值的方法

java中为数组赋值的方法 发布时间&#xff1a;2020-06-25 14:31:36 来源&#xff1a;亿速云 阅读&#xff1a;184 作者&#xff1a;Leah 这期内容当中小编将会给大家带来有关java中为数组赋值的方法&#xff0c;文章内容丰富且以专业的角度为大家分析和叙述&#xff0c;阅读完这…

【自学Java】Java语言数组赋值

Java语言数组赋值 Java数组赋值教程 在 Java 语言 中&#xff0c;给 数组 赋值&#xff0c;就相当于给每个位置上的对应的位置填充数据。 Java语言数组赋值详解 Java 中的数据赋值分为动态化赋值和静态化赋值两种赋值方式。动态化赋值指的是先定义数组&#xff0c;然后指定…

Java数组赋值数组复制(拷贝)

Java数组赋值&数组复制(拷贝) 数组赋值数组复制 1⃣️数组赋值 值传递(基本数据类型)与引用传递(数组)区别 值传递&#xff1a;基本数据类型赋值&#xff0c;赋给变量的值就是具体的数据&#xff0c;而且相互不受影响&#xff1b; int a 10; int b a; // b的变化不会影…

LATEX换行

LATEX 换行 \ newpage \maketitle 表示 begin{document} 前面的标题在这里显示 begin{document} 中的文本才显示

latex换行后(\\)如何继续缩进两格?

LaTeX 中正常换行不要使用 \&#xff0c;直接回bai车两下&#xff0c;即du在两段中间空一行&#xff0c;这样就会自动另zhi起一段并且缩dao进了。 也可以在段落前面加上 \par &#xff0c;例如 \par 第一段。\par 第二段。 就可以将它们分段了&#xff0c;如果想要在强制换行…

Latex: 表格中 自动换行居中

1、在导言区添加宏包&#xff1a; \usepackage{makecell}2、环境&#xff1a;tabular 命令&#xff1a; \makecell[居中情况]{第1行内容 \\ 第2行内容 \\ 第3行内容 ...} \makecell [c]{ResNet101\\ (11.7M)}参数说明&#xff1a; [c]是水平居中&#xff0c;[l]水平左居中&am…

.tex文件中通过空行实现LaTeX换行输出

【LaTeX换行输出代码示例】 \documentclass{article} \begin{document}Happy \TeX ing. Hello \LaTeX.Happy \TeX ing.Hello \LaTeX. \end{document} 【输出结果】

latex multirow 内换行

latex 多行合并要用到 \multirow&#xff0c; 若合并后的内容还想换行&#xff0c;就要用到其他命令了&#xff1a; 方法一&#xff1a; 使用 \shortstack 举例&#xff1a; \usepackage{booktabs} \usepackage{multirow} \begin{table}[!ht] \begin{tabular}{clrrrrrr} \…

Latex公式换行与对齐

Latex公式换行与对齐 1、引用amsmath包&#xff1a; \usepackage{amsmath}2、公式中用aligned&#xff1a; \begin{equation} \begin{aligned} ...... \end{aligned} \end{equation}或者直接用align&#xff1a; \begin{align} ...... \end{align}3、换行时用“\”换行符 …

Latex长公式换行符号对齐

实现如图效果&#xff1a; Latex如下&#xff1a; \begin{equation} \begin{cases} \begin{aligned} x&12345 \\ &\quad 67 \\ y&123 \\ z&92 \end{aligned} \end{cases} \end{equation}\begin{equation} ... \end{equation} 创建公式环境\begin{cases} ... \…

LaTex公式换行以及括号匹配问题

效果&#xff1a; 注意&#xff1a;换行之后&#xff0c;下一行有几个需要匹配的括号&#xff0c;就应该有几个相应的\left.和\right. 上面的写法&#xff0c;有可能左右括号大小不同&#xff0c;可以使用下面写法&#xff1a; 效果&#xff1a;

LaTeX 段落和换行

LaTeX 段落和换行 目录 LaTeX 段落和换行第一个例子开始一个新段落段落对齐flushleft and flushright environments\raggedright和\raggedleft 段落缩进缩进相关命令注意事项 本文介绍了基本的 LaTeX 段落格式&#xff0c;包括如何更改文本对齐方式。可以在文章文本对齐和段落格…

latex 公式如何换行

参考latex 公式如何换行 - 云社区 - 腾讯云 1、如图所示&#xff0c;我们先写个长公式。 2、可以看到&#xff0c;公式没有自动换行&#xff0c;而是跨过了一栏。 3、如图所示&#xff0c;在公式上下两端加上split。同时使用\\指明换行的位置。 4、如图所示&#xff0c;公式实…

Latex 如何换行,分段,换页

Latex 如何换行&#xff0c;分段&#xff0c;换页 1.换行&#xff08;三个方法&#xff09; \newline 另起一段是空一行 \ 2.分段 \par 3.换页 \newpage 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#xff0c;除了标准的Markdown编辑器功能&#xff0c;…