java常见小错误(五):数组的小总结

java常见小错误(五):数组的小总结

java常见错误系列文章
下一篇:java常见小错误(三):内部类的隐式“闭包”
往期文章推荐:
  java小技巧(三):JAVA 交集,差集,并集
  java小技巧(二):进制转换
  java常见小错误(一):变量类型自动转换与强制转换
  java常见小错误(二):Java迭代器iterator和for循环的区别
  java常见小错误(四):JAVA静态方法是否可以被继承


【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权);
本博客的内容来自于:;
学习、合作与交流联系q384660495;
本博客的内容仅供学习与参考,并非营利;



一、java和c语言数组上的区别

1、java定义方式和c语言定义方式不同:

int[] arr; //java更通用的方式
int arr[];
int a[];

这里有一个很大的不同,java里面没有初始化的时候,这样的方式变量本身只是一个声明,没有自己的地址空间。
而c语言这种方式会为变量开辟自己的地址空间,默认随机初始化。

2、初始化方式不同

均有俩种初始化方式:静态初始化和动态初始化

静态初始化:

int[] arr = {1,2,3};
int[] arr = new int[]{1,2,3};

动态初始化:

int[] arr = new int[10];

区别在于java并不能俩种初始化混用,而c语言可以

 int a[10] = { 1, 2, 3 };//初始化前三个成员,后面所有元素都设置为0

3、二维数组的小区别
java的方式

int[][] arr = new int[5][3];
int[][] arr = new int[5][]; //这种方式默认5个数组未定义,均为null
int[][] arr = {{1,2,3},{4,5}};
int[][] arr = new int[][]{{1,2,3},{4,5}};

c语言的方式则更加灵活

int arr[2][3] = {{1,2,3},{4,5}};
int arr[2][3] = {1,2,3,4,5};
int arr[][3] = {1,2,3,4,5} //这里很重要的一个区别!,c不能省略列下标,但是java不能省略行下标!

这主要是因为c语言底层都是连续内存存放,而高级语言底层是存放各个子数组的地址!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天的爱人是绿色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值