这一阵子上课听的东西也就那样,于是买了一个编程思想看看
在里面学到了好多东西,好多新东西,也理解了好多,在网上做一个简单的笔记,其实是很简单的东西
习惯性的把他记载下来,以后慢慢复习,也是习惯性的把自己对着书上做的程序粘贴过来
不过看的好慢,慢慢的总结,从第一篇开始总结自己每天的收获
package com.halberd.operator;
public class ShortCircuit {
/**
* @param args
*/
static boolean test1(int val) {
System.out.println("test1(" + val + ")");
System.out.println("result:" + (val < 1));
return val < 1;
}
static boolean test2(int val) {
System.out.println("test2(" + val + ")");
System.out.println("result:" + (val < 2));
return val < 2;
}
static boolean test3(int val) {
System.out.println("test3(" + val + ")");
System.out.println("result:" + (val < 3));
return val < 3;
}
public static void main(String[] args) {
boolean b = test1(0) && test2(2) && test3(2);
System.out.println("expression is " + b);
boolean c = test1(0) & test2(2) & test3(2);
System.out.println("expression is " + c);
}
}
/*
output
test1(0)
result:true
test2(2)
result:false
expression is false
test1(0)
result:true
test2(2)
result:false
test3(2)
result:true
expression is false
*/
对于&&来说就是短路,在第二个测试的时候,已经知道的是false,并且&&的意思有false就false那么短路了就不用判断了
但是&的话无论怎么样都会直接往下面判断的