一. 表达式之谜二. 字符之谜三. 循环之谜谜题24byte是有符号的,范围是-128 - 127。而0x90是int类型。比較的时候。不相等。假设想让其相等,须要进行类型转换:(byte & 0xff) 或者 (byte)0x99。谜题25自增运算符对循环的影响。j = j++。先赋值。谜题26I...
分类:
编程语言 时间:
2015-12-28 10:30:47
阅读次数:
269
字符,从字面理解,就是一些char型的东东,然而放到程序里,就引申出了多种解读方式
1、转义字符
在程序中,转义字符何时被编译器解读呢?它的解读时刻可以理解成在编译之前,编译器先进行转义字符的替换。
比如下面的程序段:
(a)//\u0022是"
System.out.println("a\u0022.length()+\u0022b".length);
打印2
(b)...
分类:
其他好文 时间:
2015-04-14 10:00:41
阅读次数:
121
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
谜题22:URL的愚弄
本谜题利用了一个java编程语言中一个鲜为人知的特性。请考虑下面的程序将会做什么?
public class BrowerTest{
public static void main(String[] args){
System.out.ptintln("iexplore");
http://www.google.com;
System.out...
分类:
编程语言 时间:
2015-01-16 22:27:04
阅读次数:
304
谜题21:我的类是什么?镜头2
下面的程序所要做的事情正是前一个谜题所做的事情,但是它没有假设斜杠符号就是分隔文件名组成部分的符号。相反,该程序使用的是java.io.File.separetor,它被指定为一个公共的String域,包含了平台相关的文件名分隔符。这个程序会打印正确的、平台相关的类文件名吗?该程序是从这个类文件中被加载的。
package com.javapuz...
分类:
编程语言 时间:
2015-01-15 16:14:34
阅读次数:
163
谜题20:我的类是什么
来看一个打印其类文件名称的程序:
package com.javapuzzlers;
public class Me{
public static void main(String[] args){
System.out.println(Me.class.getName().replaceAll(".","/") + ".class");
}
}...
分类:
编程语言 时间:
2015-01-14 15:42:40
阅读次数:
197
谜题18:字符串奶酪
下面这个程序从一个字节序列创建一个字符串,然后迭代遍历字符串中的字符,并将它们作为数字打印。请描述程序打印的数字序列:
public class StringCheese{
public static void mian(String[] args){
byte bytes[] new byte[256];
for(int i = 0; i < ...
分类:
编程语言 时间:
2015-01-12 14:45:30
阅读次数:
157
谜题16:行打印程序
行分隔符是为分割文本行的字符或字符串而起的名字,并且在不同平台上它是存在差异的。在windows平台上,它由CR字符(回车)和紧随其后的LR(换行)字符组成。在UNIX平台上,通常引用单独的LF字符作为换行字符。那么,这次的谜题也就由行分隔符引出,来看看下面这个将LF字符传递给println方法的程序会打印什么,它的行为是否依赖于平台?
public class Line...
分类:
编程语言 时间:
2015-01-10 13:58:20
阅读次数:
141
表达式之谜
字符之谜
循环之谜
异常之谜
类之谜...
分类:
编程语言 时间:
2014-06-22 20:13:21
阅读次数:
257