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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 廉伟 中级黑马   /  2012-9-4 18:56  /  1554 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 廉伟 于 2012-9-4 22:27 编辑

public class Test {
        static boolean isTrue() {
                System.out.println("isTrue");
                return true;
        }

        static boolean isFalse() {
                System.out.println("isFalse");
                return false;
        }

        public static void main(String[] args) {
                if (isTrue() || isFalse()) {
                        System.out.println(" || operate return true");
                }
                if (isFalse() & isTrue()) {
                        System.out.println(" & operate return true");
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 杨卫腾 于 2012-9-4 19:12 编辑

结果是:
        istrue
        || operate return true

        isfalse
        istrue
        
楼主的问题应该是 运算符:|| 和 &  的用法吧!
if(isFalse() & isTrue())  是假所以不输出结果。  

                &和&&的区别和联系:
                1. 这两者的左右两边都是boolean类型。

                2. &的左边为false时,还要对右边进行判断。而&&的左边为false时,右边的不用进行判断。

                3. &用于位运算。


                |和||的区别和联系:
                1. |和||的左右两边都要使用boolean类型。

                2. |的左边为true时,还要对右边进行判断。而||的左边为true时,右边的表达式将不再进行运算。

                3. |用于位运算。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
||是逻辑运算符或有一个真即为真,如果第一个为真则不执行后面的代码而直接执行{}中的代码,&是位运算符与二进制下运算两边同时为1则结果为1否则为0,Java里假为0所以二进制都为0,所以不执行{}里的语句。
所以结果是
isTrue
|| operate return true
isFalse
isTrue

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
&与&&区别
        &&如果可以通过第一表达式的值判断出整个式子的结果,那么后面的运算不会在运行。
        & 无论怎样,会将整个式子运算完成后求出结果
       
        按位&  |  可以操作数字
        断路&& || 只能操作boolean类型数据
       
        &&还是& 原则就是如果有一个为false,结果就为false
        || 还是| 原则就是如果有一个为真,结果就为真


   结果是:
     isTrue
       isFalse
       || operate return true
       isFalse
       isTrue

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
楼上的结果好像错了吧||运算原则就是如果有一个为真,结果就为真结果应该是isTrue
|| operate return true不会isFalse了吧
回复 使用道具 举报
这个题真好,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马