《疯狂Java讲义》 4-流程控制与数组

总结

1、流程控制

  和C++类似。

  switch用的较少,留意一下:Java7后expression还可以是字符串类型。

  switch与if不同,起始点非常清晰,故每个case的花括号可以省略。

  break不能少,否则一旦匹配则不再判断之后,都会输出。

  

  while,do while,for Java也有,而且用法一致

  

  break,continue,return亦同。

  break还可以结束外层循环,这时break后紧跟标签(一个紧跟冒号的标识符,放在循环语句前)。continue也是。

  

  return结束整个方法。

2、数组

2.1  Java的数组

  存储同种类型数据的一种数据结构。

  

  注意:Java定义数组时,不能指定长度。得在初始化中指定以分配内存空间。

  

  其中 new type[]可省略,直接与定义同时进行。

  

  type应是定义的子类,此时初始值根据类型确定,为0或null等。

  !不要同时使用静态和动态初始化。

  Java数组索引从0开始!Java数组有.length属性,可用于循环。

    

  该形式无需获得数组长度。

2.2  深入数组

  数组引用变量指向有效内存。

    

 

  实际数组对象存储在堆内存中,引用变量如果是局部变量,存储在栈内存中。

  定义并初始化数组后,内存中分配了两个空间,引用变量&数组本身。故引用变量可以随时指向同类型的其它数组,造成长度可变的假象。emmm,C++中动态数组又是什么呢?

    

  如果从数组底层运行机制来看,没有多维数组,只是数组元素为引用类型。

    

    同时初始化为0;

  

  Java的Arrays类有很多应用于数组的方法。如equals,fill,sort,toString等,见P128.

  

  及一些并发支持方法,如parallelSort()。

问题

1、C++的数组实现原理和Java一样吗,它的动态数组是怎么实现的?

 

转载于:https://www.cnblogs.com/iamwlx/p/9745233.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值