博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 数组
阅读量:6268 次
发布时间:2019-06-22

本文共 1139 字,大约阅读时间需要 3 分钟。

申明及初始化

  • 申明方式及初始化方式
数组的申明及初始化 int[] arr = new int[5]; int arr[1] = 3; int[] arr = {1,2,3,4}; /*不允许分开写,下面是错误的        int[] arr;    arr={1,2,3,4}*/ int[] arr = new int[]{1,2,3,4}; //注意右边不需要指明长度 //允许这样写 int[] arr;arr = new int[]{1,2,3,4}
  • 注意点
    • 数组是不能指定长度的
int[] nums = new int[4];  其中 int[] nums里的[]里面不能填入数字 所谓的数组长度其实是一个误区,new int[4]开辟了一个 4*4的内存块,这里才是长度,但这是内存的长度 nums所做的只是获取这个内存的引用,即获取这块内存的位置 所以说数组是无法指定长度的
  • 数组会自动初始化

        整型为0,boolean为false,字符型&字符串型为""(unicode的0),object为null

  • 引用数组元素会初始化为null,所以在使用之前要创建对象并将引用赋值给元素,否则会出现空指向异常
Integer[]  integers = new Integer[10];这时候nums里面的元素指向是null一旦元素进行运算就会发生java.lang.NullPointerException错误eg:System.out.println(integers[0]+1);需要重新给元素赋值 eg:a[0] = new Integer(1);但如果只对其进行访问并不报错 eg:System.out.println(integers[0]);结果:null注意:这里因为integer[0]是integer包装类,所以如果里面有值,可以直接如上例输出     但如果引用数组里面的是普通类,就会如普通类一般输出引用地址eg:            Test[] tests = new Test[10];		tests[0] = new Test(null);		System.out.println(tests[0]);结果:Day06.Test@383534aa此外,引用数组如果只申明没有进行赋值,该元素(对象)因为指向为null,没有获取到内存的引用,所以是不会执行析构函数的。Object[] object =  new Object[5];object.num = 4;//这是错误的object[0]里面是null的,会出现空指针异常

 

转载于:https://www.cnblogs.com/jeasion/p/10758343.html

你可能感兴趣的文章
Aptana插件在eclipse中安装
查看>>
jQuery-数据管理-删除事件
查看>>
下载器简单实例
查看>>
java实现分页工具类(JDBC)
查看>>
欧几里德算法与扩展欧几里德算法
查看>>
Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)
查看>>
通过kafka提供的命令来查看offset消费情况
查看>>
oracle数据库从入门到精通之四
查看>>
自定义圆形图片控件
查看>>
sharepoint 2013 补丁升级步骤
查看>>
asp.net core 2.0 web api基于JWT自定义策略授权
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
第12章代码《跟老男孩学习Linux运维:Shell编程实战》
查看>>
我们为什么从Python转到go?
查看>>
5.Azure负载均衡(上)
查看>>
轻松精通awk数组企业问题案例
查看>>
26.Azure备份服务器(下)
查看>>
从“网上说的能信么”说开去---学习的思考
查看>>
DHCP 日志分析
查看>>
.NET Micro Framework动态调用C/C++底层代码(原理篇)
查看>>