传递机制
值传递:
? ? ? ? copy后,改变一个变量的值,其它变量的值不会被改变。因为其拷贝了值。
? ? ? ? 所有numeric类 & String
引用传递:
? ? ? ? copy后,改变一个变量的值,其它变量的值会随之改变。因为其指针指向原address。
? ? ? ? List等Collection?& 自己造的类。
public static void main(String[] args) {
String st1 = "AAA st1";
String st11 = st1;
System.out.println(st1.hashCode() + "\t" + st11.hashCode()); // -519811727 -519811727
System.out.print("Before change value, are they == ? \t--");
System.out.println(st1==st11); // true
st1 = st1.toLowerCase(Locale.ROOT);
System.out.println(st1+ "\t" +st11); // aaa st1 AAA st1
System.out.println(st1.hashCode() + "\t" + st11.hashCode()); // -1238779503 -519811727
System.out.print("After change value, are they == ? \t--");
System.out.println(st1==st11); // false
int in1 = 10;
int in11 = in1;
System.out.print("Before change value, are they == ? \t--");
System.out.println(in1==in11); // true
in1 += 1;
System.out.println(in1 + "\t" + in11); // 11 10
System.out.print("After change value, are they == ? \t--");
System.out.println(in1==in11); // false
String st2 = "AAA st1";
System.out.println("Initialize a same value String, see its hash code is: " + st2.hashCode()); // -519811727
}
Switch
- 没有进入任何case 则执行default
- 进入case但没有break 则无脑执行后面case&default 直到遇到break
List初始化
- 元素类型用原始数据类型(Double / Integer / ...),不能使用基本数据类型(double / int / ...)
- 元素可以是Object
- 元素可以是Exception
I/O 用到的类们&它们的param
?
|