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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 多多米   /  2015-1-22 18:53  /  4966 人查看  /  99 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

路过支持一下楼主,很好很强大啊
回复 使用道具 举报
jwl245322883 发表于 2015-1-23 10:33
路过支持一下楼主,很好很强大啊

3Q,你们的支持是我后面这一系列帖子更新的动力呀,马上更新第二题的答案
回复 使用道具 举报
这两个问题很简单,毕老师在视频里都讲过的,而且他说面试可能问到。再一次证明了毕老师的经验是多么的丰富。
回复 使用道具 举报
&与&&运算的区别:
示例:
public static boolean A1(){
System.out.printIn("A1执行!");
return false;
}

public static boolean A2(){
System.out printIn("A2执行!");
return true;
}

public static boolean A3(){
System.out.printIn("A3执行!");
return false;
}
使用&运算符执行上面三个方法,A1()&A2()&A3()表达式的结果,控制台输出结果为:
A1执行!
A2执行!
A3执行!
false
如果使用&&运算符执行以上三个方法,A1()&&A2()&&A3(),表达式的结果,控制台输出内容如下:
A1执行!
false
从上面大家可以看出&&比&运行效率要高,但是为什么会这么高,有一部分人直接归结为底层运算,这实在不是一个让人满意的答案。
与操作的特点是:只要参与运算中有一个false,那么最后整个表达式的运算结果都为false
&&运算符有一个称呼叫:短路与,而短路与的特点就是:在从左到右执行的时候,只要发现一个false,那么就会放弃剩下程序的执行,直接返回false
&运算符有一个称呼叫:逻辑与,而逻辑与的特点与短路与恰恰相反,逻辑与在计算表达式的操作数的时候,每个表达式都要求参与计算
以上,就是短路与效率高于逻辑与的真实面目,同样|和||运算符使用方法类似,称呼也类似

都是从书上看到的一些很零碎的知识点,欢迎大家的指点,不喜勿喷
我会持续更新这种小知识点
回复 使用道具 举报
fanshuai 发表于 2015-1-23 10:52
这两个问题很简单,毕老师在视频里都讲过的,而且他说面试可能问到。再一次证明了毕老师的经验是多么的丰富 ...

帮助大家再记忆
回复 使用道具 举报
jojo 中级黑马 2015-1-23 11:41:19
26#
来学习学习
回复 使用道具 举报

共同进步
回复 使用道具 举报
  1. class  yu2
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int a,b;
  6.                 a=b=1;
  7.                 //在&的情况下不管前一个条件是否为假都判断后边的条件
  8.                 if(1==2 & ++a==2);
  9.                 System.out.println("a="+a);
  10.                 System.out.println("Hello World!");
  11.                 //在&&时前一个条件为假则不运行后边的判断
  12.                 if(1==2 && ++b==2);
  13.                 System.out.println("b="+b);
  14.         }
  15. }
复制代码
回复 使用道具 举报
厉害!:lol
回复 使用道具 举报
这两个简单的问题,很基础的啊!!
回复 使用道具 举报
limxing 发表于 2015-1-23 23:16
这两个简单的问题,很基础的啊!!

没说这俩问题复杂嘞
回复 使用道具 举报
:handshake
回复 使用道具 举报
多多米 发表于 2015-1-23 09:28
本来是项目上需要移动端开发,在WP上开发的东西不太好,后来接触到同行业的IOS和安卓版本,然后决定从安 ...

公司帮你出钱你都不愿意?看来是个大神
回复 使用道具 举报
菜鸟一号 发表于 2015-1-24 09:26
公司帮你出钱你都不愿意?看来是个大神

兄弟,这个社会没有白吃的午餐,拿人手短,吃人嘴软,这钱自己还是能给的起,公司帮你出了这钱,到时候就等着签卖身契吧
回复 使用道具 举报
回复 使用道具 举报
sebastianai 来自手机 中级黑马 2015-1-24 12:07:47
36#
我是新瘦手来学习的,谢谢
回复 使用道具 举报
sebastianai 发表于 2015-1-24 12:07
我是新瘦手来学习的,谢谢

那这种帖子,我觉得对新手有帮助,细节决定成败
回复 使用道具 举报
原来没主意这点,谢谢楼主
回复 使用道具 举报
Hello_Boys 发表于 2015-1-24 12:18
原来没主意这点,谢谢楼主

相互学习,相互学习
回复 使用道具 举报
多多米 发表于 2015-1-22 21:18
第二个问题,你怎么看?

这个  老毕的视频里介绍过
& 和&&
举例来说吧
true   &  true  = true
true   &  false = false
false  &  true  = false
tfalse  & false =  false

true   &&  true  = true
true   &&  false = false
false  &&  true  = false
tfalse  && false =  false
相同点:
都是都是逻辑运算符     相当于“并且的意思”  当有两个表达式时   只有左右两边的结果都为“true”时   结果才为“true”  只有一边为“true” 结果则为“false”
区别:
一般来说  :当左边表达式的结果为“false”时  结果肯定是为“false”的      右边表达式就不会参与运算了   

& 却恰恰相反  无论左边是“true”还是 “false” 右边表达式都要参与运算  等于说多执行了一步
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马