把以前看的内容笔记补起来,保存哈在《Java编程思想》这本书中自己需要了解到的一些问题;从2020这一年开始到现在感觉自己都没有什么长进,无论是算法还是Java或者c;不想颓废,大一上的目标并未实现并且有点惨兮兮,所以现在开始需要好好调整哈了,每天坚持学Java。
在一般都是采用
System.out.println(.....);
在这里引入一个静态导入(static import),创建一个小类库来简化打印语句的编写:
import java.util.*;
import static net.mindview.util.Print.*;
.....
print(...);
3.2 对象当中的“赋值”
对一个对象操作时,实际上就是对对象的引用,所以倘若“将一个对象赋值给另一个对象”,实际上是将“引用”从一个地方复制到另一个地方;
class Tank{
int level;
}
Tank t1=new Tank();
Tank t2=new Tank();
t1.level=9;
t2.level=47;
System.out.println("1:t1.level: "+t1.level+" t2.level "+t2.level);
t1=t2;//t1.level=t2.level;(后者主要避免别名)
System.out.println("1:t1.level: "+t1.level+" t2.level "+t2.level);
t2=t1;
System.out.println("1:t1.level :"+t1.level+" t2.level "+t2.level);
输出:
1:t1.level: 9 t2.level 47
2:t1.level: 47 t2.level 47
3:t1.level :47 t2.level 47
(2).方法调用当中的别名:
class letter{
float a;
}
static void f(letter y)
{
y.a=(float) 45.3;
}
letter x=new letter();
x.a=(float) 63.2;
System.out.println("1:x.a "+x.a);
f(x);
System.out.print("2:x.a "+x.a );
输出:
1:x.a 63.2
2:x.a 45.3
3.3 关系运算符
1."=="与"equals()":
Integer n1=new Integer(47);
Integer n2=new Integer(47);
System.out.println(n1==n2);//false
System.out.println(n1==n2);//true
对应上述的结果:虽然对象的内容相同,但是对象的引用却是不相同的,而上述这两个运算符比较的就是对象的引用;所以此时我们的equals()就出场了。
System.out.println(n1.equals(n2));//true
3.4 短路(以为回到了物理,害)
boolean b=test1(0)&&test2(2)&&teat3(3);
当遇到结果是true则继续执行下一个test2(2),如果test2(2)是false则将不会继续执行test3(3);一错全错,惨兮兮,我不要一错再错啦;
原文:https://www.cnblogs.com/lwyy1223-/p/12730748.html