A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Ak-47   /  2016-3-23 23:06  /  15261 人查看  /  66 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

Ak-47 中级黑马 2016-3-27 00:39:44
41#
楼上的意思基本表达都一样,但是if(b=false)赋值语句出了,这句话执行完毕,到了下面的else  if  ,这个赋值还管用吗?
回复 使用道具 举报
if(b==false)
就b 和false相等

if(b=false)
就是把false 赋值给b啦


谢谢,不知道,这样回答可以理解吗?
回复 使用道具 举报
Ak-47 中级黑马 2016-3-27 01:11:19
43#
我知道是
if(b=false)
就是把false 赋值给b啦,但是找个if执行完毕之后,到了else  if (b),找个b是开始的那个b,还是if(b=false)的b?
回复 使用道具 举报
if(b=false)这里面这个赋值动作,直接就将前面的b的值修改了,你第二份代码就相当于下面这个代码,除非你后面再给b赋值,否则后面一直就是false.
  1. boolean b = true;
  2. b =false;
  3.                 if(b)
  4.                         System.out.println("a");
  5.                 else if(b)
  6.                         System.out.println("b");
  7.                 else if(!b)
  8.                         System.out.println("c");
  9.                 else
  10.                         System.out.println("d");
复制代码
回复 使用道具 举报
Ak-47 发表于 2016-3-24 00:03
if(b=false),作用域多大啊,能管几句话啊

这个是把false赋值给b,是永远正确的,执行完这一句就不会执行下面的判断了
回复 使用道具 举报
=是赋值运算符,是把
回复 使用道具 举报
=是赋值运算符 ; == 是比较运算符.
回复 使用道具 举报
=此是赋值语句,比如a=2,是把2赋值给a;而==是比较运算符,用于对象引用的比较常见
回复 使用道具 举报
yc01 中级黑马 2016-3-30 23:57:20
49#
这多人 回复 还没解决?
回复 使用道具 举报
Ak-47 中级黑马 2016-3-31 01:12:06
50#
听楼上的大婶们都说=是赋值运算符,==是比较运算符,那这if(b=false)为撒就能执行到第三句呢?有谁知道,为撒=赋值就能一直匹配下去啊,而不是第一句执行就完毕啊
{:2_30:}
回复 使用道具 举报
赋值和判断
回复 使用道具 举报
if小括号里放的是判断语句,不是赋值语句
回复 使用道具 举报
==是判断符,结果是布尔型,true或者false;=是赋值运算符,即把一个值赋给一个变量。
回复 使用道具 举报
ckm666666 发表于 2016-3-26 23:25
活捉同班同学一枚

牛啊,都22 积分了
回复 使用道具 举报
不是这样的,因为 b= false 是进行赋值的,此时就是if(false),肯定不会进来的,会向后执行
回复 使用道具 举报
=是赋值,==是比较是boolean类型相等是ture不等为false
回复 使用道具 举报
=是赋值运算符,让左边的值变成右边的
==是判断运算符,是真正的等于,判断左右是否相等
回复 使用道具 举报
=是赋值运算符,==是逻辑判断运算符
b=false是把false赋值给b,    而b==false则是判断b是否等于false,是则返回true,否则返回false.
回复 使用道具 举报
b==false这个是关系运算符,它是判断b等不等于false,如果等于,这表明它是真的,则输出下面的语句,但现在的b是true,所以它应该输出 b 。b=false是赋值运算符,本来b是true,现在赋false给它,那么b的值就是false而不是true,所以它应该是输出 c 。
回复 使用道具 举报
b==false这个是关系运算符,它是判断b等不等于false,如果等于,这表明它是真的,则输出下面的语句,但现在的b是true,所以它应该输出 b 。b=false是赋值运算符,本来b是true,现在赋false给它,那么b的值就是false而不是true,所以它应该是输出 c 。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马