while(stopFlag == false) 好 还是 while(!topFlag)
解决方案 »
- java反射 获取类里的一个静态类
- 基础算法之一----主要元素
- 关于JAVA NIO 中的select
- 有应用服务器还要http服务器干什么?
- 求助??为什么不能赋值??
- main线程如何在其内部的所有执行完后在执行接下来的步骤
- 请问java怎么取得上个月的函数?已经得到今天
- 由try-catch-finally语句捕获异常时,是否finally所指定的代码都要被执行?即使try语句所指定的不产生异常?
- 如何利用JAVA的输入流接从键盘上的float数据
- applet页面不支持中文,怎么办?
- 终于分要空了 ,还是要问个问题
- 提问 在线等 把Connetion关闭了,在Connetion上创建的Statemt和ResulSet会自动关闭吗?
结果是一样的,编译器会把这两个条件判断转换成
iload_<n> //从局部变量区的第n个参数把stopFlag读出来,压入java栈
ifne m //如果不等于0,则跳转到标号为m的语句但是,如果是 while(stopFlag == true) 和 while(topFlag)就不一样了
对于while(topFlag),编译后对应
iload_<n>
ifeq m
对于while(stopFlag == true),编译后对应
iload_<n>
iconst_1 // int常量1入栈,就是true
if_icmpne m //如果这两个int不相等则跳转到m. 可以看出,演变成了两个int进行比较值得一提的是,由于虚拟机并不直接支持boolean, 所以编译器总是会用int表示boolean