观看几个程序片段,分析行为
1、
public static boolean fun(){
try{
return false;
}finally{
return true;
}
}
System.out.println(fun());
2、
public static boolean fun(){
try{
return false;
}fina...
分类:
其他好文 时间:
2015-04-14 16:43:54
阅读次数:
106
1、左移(>>)
符号位一起参加移位
对于int型,最大的移位数是31,当>=32时,对32取模然后移位;
对于long型,最大的移位数是62,当>=64时,对64取模然后移位;
观察一段代码:
import java.util.*;
public class Test{
public static void main(String[] args){...
分类:
其他好文 时间:
2015-04-14 11:14:58
阅读次数:
120
字符,从字面理解,就是一些char型的东东,然而放到程序里,就引申出了多种解读方式
1、转义字符
在程序中,转义字符何时被编译器解读呢?它的解读时刻可以理解成在编译之前,编译器先进行转义字符的替换。
比如下面的程序段:
(a)//\u0022是"
System.out.println("a\u0022.length()+\u0022b".length);
打印2
(b)...
分类:
其他好文 时间:
2015-04-14 10:00:41
阅读次数:
121
1、奇数性
这个谜题主要是提醒我们要注意如何来判断一个数是不是奇数
比如:
i % 2 == 1
这个是否可以成功判断?
如果i是负数呢?显然会是-1
所以我更喜欢:i % 2 != 0
还有一种看起来比较high的:i&1 != 0
2、找零时刻
这个谜题是货币计算的,由于浮点数在计算机中并不会精确保存,所以,有时候难免有误差,因此问题也就产生了
如:System.out.p...
分类:
其他好文 时间:
2015-04-14 08:38:02
阅读次数:
212
1、最后的笑声:
System.out.println('H' + "a");
System.out.println('H' + 'a');
结果:Ha169
这里需要注意到的是“+”运算符
在java里,参与“+”运算的两个操作数会被先提升到int型,然后运算。因此先'H'+'a'相当于 (int)('H'+'a')。
类似的:
short x = 1;
short y = 1;...
分类:
其他好文 时间:
2015-04-14 08:31:33
阅读次数:
120
下面的这段程序模拟了一个小车间。程序首先启动了一个工人线程,该线程在停止时间到来之前会一直工作(至少是假装在工作),然后程序安排了一个定时器任务(timer task)用来模拟一个恶毒的老板,他会试图阻止停止时间的到来。最后,主线程作为一个善良的老板会告诉工人停止时间到了,并且等待工人停止工作。那么这个程序会打印什么呢?...
分类:
编程语言 时间:
2015-04-08 10:59:16
阅读次数:
147
谜题66继承的问题。对于实例方法:命名同样时,子类会覆写父类的方法,且訪问权限至少和父类一样大。对于域:命名同样时,子类会隐藏父类的域,且訪问权限随意。谜题67不要重用库中的类名。谜题68命名的问题。类名应该以大写字母开头,形式为:MixedCase。变量以小写字母开头,形式为:mixedCase。...
分类:
编程语言 时间:
2015-03-16 12:25:56
阅读次数:
188
谜题一:数据运算的小问题 1)当问题需要精确答案的时候,要避免使用float 还有double类型,要使用int long BigDecimal类型。这是因为在java虚拟中运算的时候并不是所有的小数都可以表示成二进制的浮点数的精确表示。因此在做商业计算的时候(类似银行计算的时候)推荐使用BigD....
分类:
编程语言 时间:
2015-03-15 12:20:18
阅读次数:
147
写给自己:技术关注过于分散往往导致不能专注,长时间的浮躁、纠结最终的结果只是太多珍贵东西浪费,程序员拥有好奇心、求知欲本是件好事,但学会驾驭这些东西才是真正的成熟,坚持并抵住诱惑、潜心而无视喧闹,这是现在自己要做的。转入正文:此文起因是由于论坛中出现的这两个讨论贴:http://www.iteye....
分类:
编程语言 时间:
2015-03-10 18:54:07
阅读次数:
192