首页 > 分享 > Java基础知识三——数组

Java基础知识三——数组

最新推荐文章于 2022-05-18 21:19:23 发布

Moo_Lavender 于 2019-05-22 10:48:53 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

1.语法

定义数组,初始化数组

类型数组,保存一组其他类型的数据,元素类型
int[] int Array
和C语言兼容方式
int intArray[];数组的初始化(数组的长度是固定的
(1)静态方式:用到已知数组中的所有元素
int[] array = {1,2,3,4,5}; 不用声明长度,不支持修改
int[] array = new int[]{1,2,3,4,5};
(2)动态初始化:
int[ ] array = new int[数组长度]
(3)不初始化数组,指定一个null字面量
int[] array = null; //null是空引用数组的下标访问,用中括号[]指定下标
(1)下标的类型一定是int
(2)数组的长度是n个,则下标的取值范围是:[0,n-1]数组本质上也是一个对象(Object 类的派生类)
1.属性
int[] array =…
array.length
2.方法

2.内存模型

数组是遇到的第一个引用类型
数组本质上是引用类型,是对象,和基本数据类型有很大的区别
1.
空间存储的位置
(1)内存
(2)栈(Stack) 堆(Heap)
在栈内:1.局部变量 2.形参(paramaters)
【注】在子函数中不可以修改主函数的变量值,传参数时是值传递,传递参数是一份拷贝内容
2.
数组类型(引用类型 reference)

void main(){ int[] array(栈区) = {1,2,3,4,5}(堆区) method1(); //数组不变 method2(); // 数组变为{1,2,200,4,5} } void method1(int[] array){ array = new int[10]; //array 变成1-10 //引用传递也是值传递 } void method2(int[] array){ array[2] = 200; } * 1234567891011121314

【注】通过动态方式,将array指向新的数组,引用指向的新位置的改变不会影响实参

默认值: 0的各个类型的表示
byte、short、int、log —— 0
float、double —— 0.0
char —— 0x0000
boolean —— false
reference —— null
【注】
1.局部变量不可以享用默认值
2.不初始化数组每个元素都是默认值
3.类中的属性、静态属性都可以享受默认值

【总结】
1. 方法调用过程中,无论是基本数据类型还是引用数据类型,实参到形参都是值传递,在栈里拷贝了一份。
2. 但引用传递如果改的是对象内部的值,实参 可以感受到变化
3. 引用类型变量:无论引用变量保存在栈上还是堆上,背后的数据(对象)一定是在堆上

相关知识

Java语言基础知识
用int[] arr=new int[]创建数组
Java程序设计在线作业解析
Java整合支付宝支付接口
Java内存区域
《JAVA语言程序设计》期末考试试题及答案
数组退化
从select查询中将强制转换的值提取到数组中
破解菜鸟算法题:新手必看的高效解题技巧与实战案例
Java编程,揭秘那些鲜为人知的“花指令”:效率提升还是隐藏风险?

网址: Java基础知识三——数组 https://m.huajiangbk.com/newsview1259283.html

所属分类:花卉
上一篇: 一本书写的是关于古诗的风花雪月该
下一篇: 求一则有关鸟类知识的资料????