论坛首页 Java企业应用论坛

Java容易搞错的知识点-觉得基础扎实的来看

浏览 61883 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-08-31  
好长好长阿。 没耐心看。。。。。。阿弥陀佛
0 请登录后投票
   发表时间:2011-08-31  
看完都第14页了,呵呵,不过学习了
0 请登录后投票
   发表时间:2011-10-17  
是有点绕,第一眼不仔细看是会错。不过个人感觉对于加强理解可以,不过对于实际应用关系不大。毕竟代码越多越容易糊涂,写成这样时间久了自己也会搞混的。
0 请登录后投票
   发表时间:2011-10-17  
引用


4.那么(a == (x + y))为什么是false呢?这点暂点有点不大清楚。初步认为是x+y是引用相加,不能放入常量池。



我觉得是这样:X+Y得到的是一个String对象,不是一个常量,a是常量,所以==是false,equals就是true了。
0 请登录后投票
   发表时间:2011-10-17  
很给力的帖子。
0 请登录后投票
   发表时间:2011-11-07  
对于初学者来说,楼主的这几个例子,都很典型,也很容易出错,感谢楼主与大家分享,并且我也学到了不少东西
0 请登录后投票
   发表时间:2011-11-22  
第一题硬是没弄明白。谁能讲一下switch这个语句的原理
0 请登录后投票
   发表时间:2011-11-22  
case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上break语句,以便结束switch语句。 找到第一题原因了
0 请登录后投票
   发表时间:2011-11-24  

关于最后一题,java中是值传递,方法可以改变对象参数的状态但是不能让对象参数引用一个新的对象。

 

0 请登录后投票
   发表时间:2011-11-24  
ljw714 写道
第一题硬是没弄明白。谁能讲一下switch这个语句的原理

switch case的处理是这样的,
如果不加入break,那么他会顺着那个找到的case顺序执行下去,知道遇到break,或者return才跳出。
至于不满足下边的case判断条件为什么会执行,这是中文名为“贯穿”的特性。是在语言设计时就是这么规定的。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics