黑马程序员技术交流社区
标题:
各位帮忙看一些这里为什么用==而不是=?
[打印本页]
作者:
king2042
时间:
2014-3-1 22:33
标题:
各位帮忙看一些这里为什么用==而不是=?
为什么if语句中不用=,而是用了比较运算符==?:dizzy:
E7)P(UZ}B91)$3HA%0{(8(R.jpg
(107.71 KB, 下载次数: 3)
下载附件
2014-3-1 22:31 上传
有点不懂
作者:
asvsass
时间:
2014-3-1 22:44
=号是 赋值哦。 if () 里的返回值 要是true or false 所以用==才可以
作者:
zjf
时间:
2014-3-1 22:49
要分清 = 和==的意思。=可以赋值,==是作判断,
在你的例子里,假设是 num=1,代表的是把1赋值给num,也就是说num的值为1;
假设是 num==1,意思是 num相等于1,有作出判断:等不等于。
另外,if 后面跟的语句也要是判断语句,结果为布尔类型 ture或false
作者:
李先洋
时间:
2014-3-1 23:16
=是个赋值符号,==是个条件判断的符号,if(条件判断相等结果为true,不相等结果为false)。
作者:
fenzheng
时间:
2014-3-1 23:46
"="是直接赋值,“==”是比较运算符,是一种关系运算符,if 语句中括号里装的是判断的条件所以是用比较运算符
作者:
戚兴海
时间:
2014-3-2 00:15
楼主只要搞明白if后面跟的那个括号里,无论怎么运算,最终的值必须是一个boolean类型的才可以。
普通的比较需要用“==”,
引用类型的比较可以用“equals”
用“=”号在有些情况下也是可以的,比如下面的这种
boolean flag = false;
if(flag=true)
flag赋值之后,还是一个boolean类型,符合if的规定,所以是可以的。
作者:
l939
时间:
2014-3-2 10:17
感谢楼主的问题,我对这块也是有点模糊的。。现在一下思路清晰了~~·
作者:
king2042
时间:
2014-3-2 15:42
谢谢各位的热心解答。。。
作者:
hdsjsql
时间:
2014-3-2 16:12
if后面的括号中,是一个条件表达式,值为true或false,
“==”是一个比较运算符,返回值为true或false,
“=”是一个赋值语句,返回值为左值,如 If(b=true)就相当于if(true)
所以“=”和“==”都可使用, 其中"="只有在给变量赋boolean值是可用。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2