该笔记适合有一定程序语言基础的博友们看,主要是一些细节方面或者是容易失误的地方的总结。
1、标识符:是类、方法、变量的名字;
<1>可以包含字符、数字、下划线、美元符号;
<2>不能以数字作为开头,大小写敏感、关键字不能作为标识符。
2.String类型:
<1>求子串:在使用substring(begin, end)时注意参数是前闭后开的,也就是子串包括begin,不包括end对应的字符。
<2>比较字符串是否相等:
Object中的equals()方法是比较内存地址,而String中的equals()是比较的内容是否相等。
再看下图中的代码:
你会发现为啥都是true,而此时有涉及到另一个知识点,常量池,当在同一个类中声明两个内容为一模一样的String类型的s1、s2时,其实是一个引用,这就是为什么s1和s2的物理存储地址是一样的原因。
再看一段代码:
同样你也会感到奇怪,a不是常量么,为啥值还可以改变,其实这里a的值并未改变,而是a的引用变成了Hello world。
<3>与new出来的对象进行比较:
该例子主要是为了说明new出来的对象都是在堆内存中的,即使内容相同,也不是在同一个物理地址下。