引言
- 在记录自己自学java过程中,首先声明关于学习顺序可能并不很科学,即使我也是通过一些公开的资料来进行学习,但不会是完全无基础的教学,更像是比对着python(本人平时编程使用的是python)比较实现方法的异同学习,请酌情参考学习,有理解不对的地方欢迎指正。
java基础 - 11
数组 3
- 本篇章详细介绍数组"指向"问题(注意区别字符串的指向:数组的指向变换后不是随机的)
public class Main {
public static void main(String[] args) {
int[] ns;
ns = new int[] { 1, 2, 3, 4, 5 };
System.out.println(ns.length);
ns = new int[] { 1, 2, 3 };
System.out.println(ns.length);
}
}

- 同样的问题ns的长度变化了,但是前面说到数组的长度一旦定义了就无法改变,这不是矛盾了吗?其实这个与前面字符串赋值远离类似,只是改变了"指向"

- 那么如果数组中的元素是字符串,同样是引用变量,比如我们定义以下嵌套引用变量,如果对其进行索引赋值,那么指向是怎么变化呢?
String[] names = {
"ABC", "XYZ", "zoo"
};

public class Main {
public static void main(String[] args) {
String[] names = {
"ABC", "XYZ", "zoo"
};
System.out.println(names[1]);
names[1] = "cat";
System.out.println(names[1]);
}
}

- 具体流程如下,只是每个字符串中的元素变成了一个整体都指向某个字符串对象,但是这个指向不再是随机的了

结尾
- 关于Java基础部分学习暂时到此为止,掌握了基础工具包,接下来就到具体的流程控制部分了,也算是正式写代码实战阶段了
- 写在最后,个人感觉Java应该也有python那种使用黑窗口或者ipthon或者另一个idea这种轻量级的测试程序,只是我发现了更好用的还是网页版在线生成Java程序结果,相比较于idea速度更快,也不用那么麻烦,附上个人上述图片中所用的网页地址:在线java