&&和&的问题,求大神解答

来源:3-5 Java中的逻辑运算符

乱七八糟的代码

2017-07-07 22:13

public class yugongneng {
 public static void main(String[] args) {
  int n=10;
  boolean b=(n<8)&&((n=1)!=0);
  int m=20;
  boolean b1=(m<8)&((m=1)!=0);
  System.out.println(n);
  System.out.println(m);
  
 }
}

得到的结果为10和1   

为什么会得到m=1的结果???

百思不得其解呀,求大神帮忙解答

写回答 关注

1回答

  • 慕数据0981998
    2017-07-07 23:04:04

    单与和双与的区别m进行了位运算而不是逻辑运算

    成长中的小菜... 回复乱七八糟的代...

    双与称为“短路与”当表达式右边为false时,左边就不会在判断了所以n不会等于1.而是等于10 单与是不管左边还是右边的表达式为true或false,两边都要判断。所以m < 8为false,运行到左边为m=1;

    2017-07-13 11:36:34

    共 2 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165633 学习 · 17587 问题

查看课程

相似问题