首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

赋值语句的1点疑问

2013-11-19 
赋值语句的一点疑问在C++的循环语句中,推荐的代码风格是这样的:int a 3while(3 a) {//do something,

赋值语句的一点疑问
在C++的循环语句中,推荐的代码风格是这样的:


int a = 3;
while(3 == a) {
  //do something,在某个时候会改变a的值,退出循环
}


或者这样的:

string s = "hello";
while("h" == s) {
  //do something,在某个时候会改变s的值,退出循环
}


上面的代码很简单,本质就是:防止我们将“==”手误携程“=”

最近看了JAVA编程思想后,知道JAVA和C++在这点上有区别:JAVA不允许使用while(a = 0)这样的表达式

但是我有个疑问:C++中的while(a = 0)和JAVA的while(a = 0)有什么不同?我的理解是a = 0完成后得到的是a的值,都相当于while(int)或者while(bool)或者while(string),在C++中可以将这些类型转换成boolean,但是在JAVA中不能转换成bool,所以C++推荐使用while(0 == a)这样的形式,而JAVA出现while(a = 0)会在编译的时候检测出错误(JAVA可能认为这种形式绝大多数是程序员的手误,所以才不逊于这样做)。

上面是我的理解,不知道是不是正确,如果有人能给出更合理的答案就好了。谢谢~ JAVA
[解决办法]
你的理解是正确的。
[解决办法]
理解是正确的,java中判断bool值只有true 和 false,其他什么0, null ""都不行

热点排行