您的位置:首页 > 编程语言 > Java开发

java & 和 && 和 II 和 I 区别

2012-07-09 20:25 211 查看
&& 是条件与。

&&在检查两边的BOOLEAN时,当左边的为假时是不会检测右边的值的。
表示一个一个执行下去,当全部为true才打印true,如果有一个结果是false则停止执行,打印false。

例1:false && ... = false

public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a>10 && (a++)>10){
System.out.println("true");
}
System.out.println(a); // 10
}
}


结果:
10

例2:true && false = false

public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a==10 && (a++)>10){
System.out.println("true");
}
System.out.println(a); // 11
}
}


结果:
11

例3:true && true = true

public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a==10 && (a++)==10){
System.out.println("true");
}
System.out.println(a); // 11
}
}


结果:
true
11

====================================================================================================

& 是布尔与。&不论左边的是真是假右边的表达式都会进行检测。
无论第一个操作元是true还是false,都要对第二个操作元计值。
全部执行完毕,都为true,则为true,否则为false。

例1:false & true = false

public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a>10 & (++a)>10){
System.out.println("true");
}
System.out.println(a); // 11
}
}


结果:

11

例2:true & false = false

public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a==10 & (a++)>10){
System.out.println("true");
}
System.out.println(a); // 11
}
}


结果:

11

例3:true & true = true

public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a==10 & (++a)>10){
System.out.println("true");
}
System.out.println(a); // 11
}
}


结果:

true
11

例4:false & false = false

public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a<10 & (a++)<10){
System.out.println("true");
}
System.out.println(a); // 11
}
}


结果:

11

====================================================================================================

|| 表示一个一个执行下去,遇到true则不继续执行,打印ture,当全部为false,则打印false

// true || false || false
public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a==10 || (a++)>10 || (++a)<10){
System.out.println("true");
}
System.out.println(a);
}
}


结果:

true
10

// false || true || false
public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a!=10 || (a++)==10 || (++a)<10){
System.out.println("true");
}
System.out.println(a);
}
}


结果:

true
11

// false || false || false
public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a!=10 || (a++)>10 || (++a)<10){
System.out.println("true");
}
System.out.println(a);
}
}


结果:

12

====================================================================================================

| 全部执行完毕后,如果全部为false,则结果为false。有一个结果为true,则结果为true。

// true | false | false
public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a==10 | (a++)>10 | (++a)<10){
System.out.println("true");
}
System.out.println(a); // 12
}
}


结果:

true
12

// false | true | false
public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a!=10 | a==10 | (++a)<10){
System.out.println("true");
}
System.out.println(a); // 12
}
}


结果:

true
12

// false | false | false
public class TestLogical {
public static void main(String[] args) {
int a = 10;
if(a!=10 | (a++)>10 | (++a)<10){
System.out.println("true");
}
System.out.println(a); // 12
}
}


结果:

12
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: