虽然自己都能理解老师讲的静态,非静态,数值型的,字符串型的,引用类型的,传过来递过去各种头晕啊,脑子还是有思考慢啊,但学习的疑惑点有很多,老师现在将知识点都不联系内存的分配机制啦,是不是改为教授表面不教授原理的深解啦啊,真是不爽啊,不过这样也行,自己学习内核心的东西既提高自学能力也提高分析问题解决问题的能力,哈哈,生活就要想想自己拥有的快乐,在努力追求自己渴望的,做最好的自己吗。
除了自学疑惑知识点,加强敲代码实战洞悉也是很重要的,找出自己的理解盲点培养算法的优化,增强经验吧!
实践出真知,不过还不知道是不是真知,大家给鉴定一下。
public static void main(String[] args) {
boolean tt = true, ff = false;
if (ff || ff && ff) {// 0
System.out.print("1 ");
} else {
System.out.print("0 ");
}
if (ff || ff && tt) {// 0
System.out.print("1");
} else {
System.out.print("0 ");
}
if (ff || tt && ff) {// 0
System.out.print("1 ");
} else {
System.out.print("0 ");
}
if (ff || tt && tt) {// 1
System.out.print("1 ");
} else {
System.out.print("0 ");
}
if (tt || ff && ff) {// 1>>>>>>>>>>>>>>>>>>>>>证明&&优先级大于||????????????????????????????
System.out.print("1 ");
} else {
System.out.print("0 ");
}
if (tt || ff && tt) {// 1
System.out.print("1 ");
} else {
System.out.print("0 ");
}
if (tt || tt && ff) {// 1>>>>>>>>>>>>>>>>>>>>>证明&&优先级大于||????????????????????????????
System.out.print("1 ");
} else {
System.out.print("0 ");
}
if (tt || tt && tt) {// 1
System.out.println("1 ");
} else {
System.out.println("0 ");
}
//一下两段代码证明:由于&&优先级大于||,所以if()表达式的最终判断落在||两侧的逻辑值的或,而||前侧表达式“b++>1”为真,则只需判断||后侧表达式,又由于||后侧表达式
//为()&&(),所以若()&&为真须继续判断&&(),若()&&为假则不必判断&&()即可确定整个||后侧表达式为假。
//下面模块一:()||()&&()为 真||真&&真
// 模块二:()||()&&()为 真||假&&真
//执行结果表明,模块一的 b++ > 1执行了,而模块二的 b++ > 1未执行
{
int a = 1;
int b = 1;
if (b++ > 1 || a++ < 3 && b++ > 1) {// true,b=3,a=2》》》》》》》》执行执行执行
System.out.print("true ");
} else {
System.out.print("false ");
}
System.out.print("b=" + b);
System.out.println(" a=" + a);
}//执行结果为true b=3 a=2
{
int a = 1;
int b = 1;
if (b++ > 1 || a++ > 3 && b++ > 1) {// false,b=2,a=2》》》》》》》》执行执行不执行
System.out.print("true ");
} else {
System.out.print("false ");
}
System.out.print("b=" + b);
System.out.print(" a=" + a);
}//执行结果为false b=2 a=2
}