a==1 和1==a有什么区别啊?????????????? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有区别不过,1==a没有错误,1=a可是有错误的。所以,这么做能防止把==误写成=好像C/C++挺提倡的个人觉得用处不大 13: if (a0 == 9)0040102F cmp dword ptr [ebp-4],900401033 jne main+32h (00401042)15: if (9 == a0)00401042 cmp dword ptr [ebp-4],900401046 jne main+45h (00401055) 防止把==误写成=------------------------------------java中不存在这个问题了,那是c/c++的 dddeee(dddeee) ( ) 信誉:89 Blog 2007-03-28 12:28:12 得分: 0 防止把==误写成=------------------------------------java中不存在这个问题了,那是c/c++的 ======请问为什么不存在了?java中不区别他们了么? dddeee(dddeee) ( ) 信誉:89 Blog 2007-03-28 12:28:12 得分: 0 防止把==误写成=------------------------------------java中不存在这个问题了,那是c/c++的 ======请问为什么不存在了?java中不区别他们了么?======java中好像真不用区别了,不然在某些条件下,编译会出错的 执行结果一致,是个好的习惯,为防止将“==”误写为“=”,在C中比较使用,Java的类型检查能发现此问题 dddeee(dddeee) ( ) 信誉:89 Blog 2007-03-28 12:28:12 得分: 0 防止把==误写成=------------------------------------java中不存在这个问题了,那是c/c++的->呵呵,是我有点想当然了。java中基本可以避免这个问题是因为java中的布尔类型(true OR false)定义比C(非0即真)严格了,所以在java中如果用1=a当作逻辑表达式来用,会产生一个从int到boolean类型不匹配的错误。那么所谓的“防止把==误写成= ” 只有在这时候才会有点作用了:boolean isProblem = false;....if(isProblem == false ) ....;不过这样也有点钻牛角尖了(很少有用布尔变量来做==的吧, 比如此处用!isProblem可以替代了) 把1=a写在判断里编译不过去的,所以java里很难写错 上上上楼的谁说=写在判断里会编译不过去?boolean a=false;if(a=true)//这里就可以编译过去吧{ ...} a==1 和1==a 从语法上讲是没什么区别的。上面提到的“防止 == 误写成 =”的确是一个不错的理由 :)另外,看看下面两段代码: if (someObject.someMethod(someParameter) == 1) { // ... } if (1 == someObject.someMethod(someParameter)) { // ... }从程序的清晰程度上比较,后者比较容易看清楚返回值的意义。 to 上上上楼的谁说=写在判断里会编译不过去?boolean a=false;if(a=true)//这里就可以编译过去吧{ ...}----------------------这个是能编译过去,这里的a=true的含义是把true赋值给a,然后判断a是否为true。不过一般谁会这样写呢? a==1 和1==a 没什么区别的==是判断两个是否相等,=是赋值,属于右操作符在Java中,如果写(1=a),编译时就不会通过,属于语法错误。如果在开发工具时写这句,就会直接出现波浪线了。 a==1 和1==a 没什么区别的==是判断两个是否相等一般用在if()之中 没区别.主要是源自C++的代码风格.一般==用于判断.如果书写错误成了=的话,1==a就会报错了.嘿..而用a==1则成了赋值,编译时不报错 本质上是没有的,但小区别是有的,起码他a==1和1==a,一个a在左边,一个a在右边,不能小看这个问题!! 主要是体现在编译的时候,假如把a == 1写成 a = 1了,编译器不会给报错,但是就不是应有的结果了,如果写成 1 = a,编译器会给你报错,常量不可赋值,体现到这样. 如何解决java.util.ConcurrentModificationException classpath问题 获取数据库内容时出现问题,望大侠们帮助!感激不尽 java程序员证书 简单的链表问题 关于The Class Class问题,望大虾们指教 万年历问题 java连接 oracle8 想做一个TicTacToe的游戏,怎么设计电脑的AI? 你们整天说java ,主要用来开发什么啊?我主要是:Desktop Application/applet. 请问如何做响应式窗口啊,急啊,谢谢!!!!!! 英雄赐教,关于API
所以,这么做能防止把==误写成=好像C/C++挺提倡的
个人觉得用处不大
0040102F cmp dword ptr [ebp-4],9
00401033 jne main+32h (00401042)15: if (9 == a0)
00401042 cmp dword ptr [ebp-4],9
00401046 jne main+45h (00401055)
------------------------------------
java中不存在这个问题了,那是c/c++的
防止把==误写成=
------------------------------------
java中不存在这个问题了,那是c/c++的
======
请问为什么不存在了?
java中不区别他们了么?
防止把==误写成=
------------------------------------
java中不存在这个问题了,那是c/c++的
======
请问为什么不存在了?
java中不区别他们了么?======
java中好像真不用区别了,不然在某些条件下,编译会出错的
防止把==误写成=
------------------------------------
java中不存在这个问题了,那是c/c++的->
呵呵,是我有点想当然了。
java中基本可以避免这个问题是因为java中的布尔类型(true OR false)定义比C(非0即真)严格了,所以在java中如果用1=a当作逻辑表达式来用,会产生一个从int到boolean类型不匹配的错误。
那么所谓的“防止把==误写成= ” 只有在这时候才会有点作用了:
boolean isProblem = false;
....
if(isProblem == false )
....;不过这样也有点钻牛角尖了(很少有用布尔变量来做==的吧, 比如此处用!isProblem可以替代了)
谁说=写在判断里会编译不过去?boolean a=false;
if(a=true)//这里就可以编译过去吧
{
...
}
// ...
} if (1 == someObject.someMethod(someParameter)) {
// ...
}从程序的清晰程度上比较,后者比较容易看清楚返回值的意义。
谁说=写在判断里会编译不过去?boolean a=false;
if(a=true)//这里就可以编译过去吧
{
...
}
----------------------
这个是能编译过去,这里的a=true的含义是把true赋值给a,然后判断a是否为true。不过一般谁会这样写呢?
==是判断两个是否相等,=是赋值,属于右操作符在Java中,如果写(1=a),编译时就不会通过,属于语法错误。
如果在开发工具时写这句,就会直接出现波浪线了。
==是判断两个是否相等
一般用在if()之中
主要是源自C++的代码风格.
一般==用于判断.如果书写错误成了=的话,1==a就会报错了.嘿..而用a==1则成了赋值,编译时不报错