暑期学习:自学java第四天

在今天的学习内容中我发现,Java 的数组和 C/C++ 里的完全不一样,感觉 Java 在安全和方便上考虑得更多。
首先,Java 的数组被当做一个对象,它自己就带一个 length 属性,能直接知道长度,不像 C/C++ 里数组名就是个指针,还得自己算。而且 Java 定义数组时不能指定长度,得先定义再初始化,这点也挺特别的。
其次,Java 的内存管理让我很省心。数组对象存在堆里,我们用的只是个引用。更棒的是,如果数组没人用了,Java 会自动回收,不像 C/C++ 还得手动释放,很容易忘记。
还有就是 Java 的安全检查很严格。访问数组时如果下标越界了,程序会直接报错,防止出现更严重的问题。而 C/C++ 就不管这些,越界访问后果很危险。
我还知道了,Java 里其实没有真正的多维数组,它所谓的二维数组,其实就是个一维数组,只不过每个元素又是一个一维数组。所以每一行的长度还可以不一样,挺灵活的。
另外,我还学到了 Java 数组的初始化方式。如果是动态初始化,比如只指定了长度,Java 会自动给元素赋默认值,整数是 0,小数是 0.0,布尔值是 false,对象则是 null。这点比 C/C++ 友好多了,C/C++ 里如果忘了初始化,里面的值都是随机的垃圾值,很容易出 bug。
还有,Java 提供了一个 Arrays 工具类,里面有很多现成的方法可以直接用,比如排序、二分查找等。这比 C/C++ 里需要自己写或者找库函数要方便很多,感觉开发效率确实高了不少。
总的来说,虽然 Java 牺牲了一些底层的灵活性,但换来的是更高的安全性和开发效率,我觉得这个取舍还是挺值得的。

今天下午要出去玩,程序验证明天写。

posted @ 2026-07-19 11:05  hxzzzzzzz  阅读(2)  评论(0)    收藏  举报