一.数组的语法:定义数组,初始化数组[x][]
1.数组类型:保存一组其他类型的数据,元素类型
int[] /double[]
int[] intArray;//=int intArray[]//规则允许,规范不建议使用
2.数组的初始化//数组长度固定
2.1:静态 int[] array={1,2,3,4,5};//用到已知数组所有元素,不支持修改
int[] array=new int[]{1,2,3,4,5};//给方法传参。构造匿名数组
2.2:动态 int[] array=new int[数组的长度];
//array=new int[10] 存放了10个
2.3:不初始化 int[] array=null;//null 是空引用
3.数组的下标访问[]
3.1 下标类型一定是jint
3.2 取值范围 [0,array.length-1]// 注意下标取异常 ⽣"java.lang.ArrayIndexOutOfBoundsException"异常信息。
4.数组本质也是对象(objiect类的派生类)
4.1属性 对象.属性 array.length
int[] array=...;//传了一组数
array.length;//数组中元素个数就自己知道了;
二.数组模型(引用):可以形象的比喻为通过小盒子里的信息)找到真实数据存放的位置;//就是引导调用的栈中的元素找到真实存放的堆区位置(只有一份)
1.引用类型的变量: 无论引用变量保存在栈上还是堆上,背后的数据(对象)一定是在堆上
模型:
2.解析空间不同:
基本数据类型
引用数据类型
引⽤传递空间:同⼀块堆内存空间可以被不同的栈内存所指向。
3.方法传递:
3.1 无论是基本类型还是引用类型,都是简单的值传递。相当于拷贝了一份实参 到调用的函数(将实参赋给形参)。所以,形参的改变不影响实参
3.2 引用传递时,通过形参引用、修改真实对象(存放在堆中)的值,实参可以感受到变化
3.3 局部变量和参数保存在栈中://参数指的是形参
void main(){
int[] array={1,2,3,4,5};
method1();//调用完后,1,2,3,4,5
method2();//调用完后,1,2,200,4,5
}
void method1(int[] array){
array=new int[10];//引用了另一个数组,没有引用原来的主函数中的数组,
//执行完后,新引用的会被撤销,还是只留下最先引用的主函数
//通过动态方式,将array指向新的数组,不会改变
}
void method2(int[] array){
array[2]=200;//改变了引用函数的值
}
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
新闻名称:JAVA学习笔记3_数组-创新互联
标题来源:https://www.cdcxhl.com/article40/ddcoho.html
成都网站建设公司_创新互联,为您提供网站设计、外贸建站、网站设计公司、网站改版、微信小程序、网站内链
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联