- 浏览: 471247 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
谜题22:URL的愚弄
执行结果:iexplore::maximize
因为http:被当做语句标号
谜题23:不劳而获
上面的程序目的是等概率的打印 Pain、Gain、Main 三个单词,但多次运行程序却发现永远只会打印 ain,这是为什么?
第一个问题在于:rnd.nextInt(2)只会返回0、1 两个数字,所以上面只会走case 1: 的分支语句,case 2: 按理是永远不会走的。
第二个问题在于:如果case语句不以break结束时,则一直会往向运行,即直到执行到break的case语句止,所以上面的的语句每次都会执行default分支语句。
第三个问题在于:StringBuffer的构造函数有两种可接受参数的,一个是StringBuffer(int capacity)、另一个是StringBuffer(String str),上面用的是StringBuffer(char)构造函数,实质上运行时将字符型转换成了int型,这样将字符当作StringBuffer的初始容量了,而不是字符本身。
不管什么时候,都要尽可能使用熟悉的惯用法和API,如果必须使用不熟悉的API,请仔细阅读其文档。
谜题24:尽情享受每一个字节
下面的程序循环遍历byte数值,以查找某个特定值,这个程序会打印什么呢?
运行程序,结果是不会打印出任何内容。
0x90是一个int型常量,超出了byte数值的范围。
((byte)0x90==0x90)结果为false。为了比较,java通过拓宽原生类型转换将byte提升为int,然后两个int比较。(byte)0x90转为int为-112,而0x90是144。
总之,要避免混合类型比较,因为它们内在地容易引起混乱。
谜题25:无情的增量操作
谜题26:在循环中
所有的int变量都小于或等于Integer.MAX_VALUE的。并且再次执行增量操作时,会绕回到
给出i的定义,是上面是一个死循环,
可以使用Double,float中的NaN,也可以使用String类型,不要惊讶哦 如String i = "a"
public class Main22 { public static void main(String[] args) { System.out.print("iexplore:"); http://www.google.com; System.out.println(":maximize"); } }
执行结果:iexplore::maximize
因为http:被当做语句标号
谜题23:不劳而获
import java.util.Random; public class Main23 { private static Random rnd = new Random(); public static void main(String[] args) { StringBuffer word = null; switch(rnd.nextInt(2)){ case 1:word = new StringBuffer('P'); case 2:word = new StringBuffer('G'); default:word = new StringBuffer('M'); } word.append('a'); word.append('i'); word.append('n'); System.out.println(word); } }
上面的程序目的是等概率的打印 Pain、Gain、Main 三个单词,但多次运行程序却发现永远只会打印 ain,这是为什么?
第一个问题在于:rnd.nextInt(2)只会返回0、1 两个数字,所以上面只会走case 1: 的分支语句,case 2: 按理是永远不会走的。
第二个问题在于:如果case语句不以break结束时,则一直会往向运行,即直到执行到break的case语句止,所以上面的的语句每次都会执行default分支语句。
第三个问题在于:StringBuffer的构造函数有两种可接受参数的,一个是StringBuffer(int capacity)、另一个是StringBuffer(String str),上面用的是StringBuffer(char)构造函数,实质上运行时将字符型转换成了int型,这样将字符当作StringBuffer的初始容量了,而不是字符本身。
不管什么时候,都要尽可能使用熟悉的惯用法和API,如果必须使用不熟悉的API,请仔细阅读其文档。
谜题24:尽情享受每一个字节
下面的程序循环遍历byte数值,以查找某个特定值,这个程序会打印什么呢?
public class Main24 { public static void main(String[] args) { for(byte b = Byte.MIN_VALUE;b<Byte.MAX_VALUE;b++){ if(b==0x90){ System.out.print("Joy!"); } } } }
运行程序,结果是不会打印出任何内容。
0x90是一个int型常量,超出了byte数值的范围。
((byte)0x90==0x90)结果为false。为了比较,java通过拓宽原生类型转换将byte提升为int,然后两个int比较。(byte)0x90转为int为-112,而0x90是144。
总之,要避免混合类型比较,因为它们内在地容易引起混乱。
谜题25:无情的增量操作
public class Main25 { public static void main(String[] args) { int j =0 ; for(int i=0;i<10;i++){ j=j++; } System.out.println(j); //0 } }
谜题26:在循环中
public class Main26 { public static final int END =Integer.MAX_VALUE; public static final int START = END-100; public static void main(String[] args) { int count =0; for(int i = START;i<=END;i++){ //无限循环,当到达int最大值,继续加时,就回到int最小值了 count++; }}}
所有的int变量都小于或等于Integer.MAX_VALUE的。并且再次执行增量操作时,会绕回到
Integer.MIN_VALUE. int start = Integer.MAX_VALUE-1; for(int i =start;i<=start+1;i++); //这是一个死循环
double i= Double.POSITIVE_INFINITY; //只要i足够大的浮点数即可 // double i = 1e56; while(i==i+1){ //死循环 }
double j = 0.0/0.0; //Double.NaN,float也有NaN System.out.println(j-j==0); //false ,只要一个操作数为NaN,结果就为NaN while(j!=j){ //死循环 }
while(i!=i+0){}
给出i的定义,是上面是一个死循环,
可以使用Double,float中的NaN,也可以使用String类型,不要惊讶哦 如String i = "a"
发表评论
-
数据库及struts面试题
2011-06-22 11:07 1070数据库部分 Q: What is SQL? ... -
EJB面试题
2011-06-22 10:54 1141Q: What are the different kinds ... -
java中的servlet面试题
2011-06-22 10:43 1120Q: Explain the life cycle metho ... -
java中JSP的面试题
2011-06-22 10:22 1557Q: What is a output comment? (可 ... -
java中的集合面试题
2011-06-22 10:12 729Q: What is the Collections API? ... -
彻底搞清楚java的内部类
2011-06-15 10:47 1522内部类允许在一个类中 ... -
细说java(java中的浮点数十六进制表示)
2011-06-12 16:48 3583java中浮点数不能用八进制表示,但可以用十六进制表示,只能用 ... -
SCJP试题
2011-06-09 16:14 1191package scjp; public class T ... -
java面试题解惑 之 继承、多态、重载、重写
2011-06-03 09:36 1311继承、多态、重载、重写 继承 java中有三种类:类,抽象类, ... -
java面试题解惑 之 多线程
2011-06-02 17:24 10051,多线程 线程或者说 ... -
java面试题解惑 之变量初始顺序,变量覆盖,字符串池,final,finally区别
2011-06-02 16:26 8111,变量初始化顺序 package com.qdu.sun; ... -
java解惑(Map的使用,静态导入方法,线程中断interrupted与线程死锁)
2011-05-17 12:38 1412Map的使用 package other; import ... -
java 继承的一个问题(想不明白)
2011-04-13 17:03 927java中的继承问题,以为是学会了java,结果最简单的一个j ... -
java解惑(谜题76。。)
2011-03-09 11:22 1239谜题76:乒乓public class PingPong { ... -
java解惑(谜题60,65)
2011-03-08 15:52 935一行以毙之 1,编写一个 ... -
java解惑(谜题66。。。)
2011-02-28 20:54 972谜题66:一件私事 class Base{ public ... -
java解惑(谜题61。。。)
2011-02-28 20:17 922谜题61:日期游戏 import java.util.Cal ... -
java解惑(谜题56到。。库之谜)
2011-02-28 19:41 873谜题56:大问题 import jav ... -
java解惑(谜题49。。)
2011-02-27 10:52 964谜题49:比生命更大 import java.util.Cal ... -
java解惑(谜题41到谜题)
2011-02-27 10:18 945谜题41:域和流 下面的 ...
相关推荐
Godot引擎开发:关卡设计与谜题实现_(10).交互式谜题设计.docx Godot引擎开发:关卡设计与谜题实现_(11).谜题难度设计与平衡.docx Godot引擎开发:关卡设计与谜题实现_(12).关卡与谜题的视觉表现.docx Godot...
Unity引擎开发:解谜元素与谜题设计_(10).游戏关卡设计.docx Unity引擎开发:解谜元素与谜题设计_(11).解谜游戏设计理论.docx Unity引擎开发:解谜元素与谜题设计_(12).谜题类型与设计原则.docx Unity引擎开发...
GameMaker Studio开发:关卡设计与谜题实现_(10).使用物体和实例进行谜题逻辑设计.docx GameMaker Studio开发:关卡设计与谜题实现_(11).谜题的难度曲线设计.docx GameMaker Studio开发:关卡设计与谜题实现_...
Phaser引擎开发:关卡设计与谜题实现_(10).关卡数据结构与存储.docx Phaser引擎开发:关卡设计与谜题实现_(11).动态关卡生成技术.docx Phaser引擎开发:关卡设计与谜题实现_(12).关卡布局与优化.docx Phaser...
CryEngine引擎开发:关卡设计与谜题实现_(10).谜题设计基础.docx CryEngine引擎开发:关卡设计与谜题实现_(11).谜题类型与实现方法.docx CryEngine引擎开发:关卡设计与谜题实现_(12).交互式谜题开发.docx ...
Unreal Engine开发:关卡设计与谜题实现_(10).关卡流与性能优化策略.docx Unreal Engine开发:关卡设计与谜题实现_(11).多平台发布与适配.docx Unreal Engine开发:关卡设计与谜题实现_(12).版本控制与团队...
- **谜题部分**(第2章):按照难度分级,包括了易于上手的谜题、中等难度的谜题以及较为复杂的谜题。 - **提示与解答**(第3章与第4章):为每个谜题提供了详尽的解题思路和答案,便于读者对照学习。 #### 三、...
根据提供的信息,“算法谜题.pdf”这一文档似乎包含了一些与算法相关的谜题或者挑战问题,这类资料对于学习和深入理解算法具有重要的价值。虽然提供的具体内容部分仅包含了“混混藏书阁”的链接,并未直接给出关于...
Unity引擎开发:谜题设计与逻辑_(10).谜题游戏的关卡设计.docx Unity引擎开发:谜题设计与逻辑_(11).谜题游戏的测试与优化.docx Unity引擎开发:谜题设计与逻辑_(12).谜题游戏的发布与上线准备.docx Unity引擎...
三壶谜题,广度优先遍历算法,python实现。 三壶谜题是一个经典的算法问题,通常使用广度优先遍历(BFS)算法来解决。以下是对三壶谜题及其广度优先遍历算法的详细介绍: 1. 基本概述 - 定义:三壶谜题是一个涉及...
Godot引擎开发:谜题设计与逻辑_(10).GDScript高级应用.docx Godot引擎开发:谜题设计与逻辑_(11).状态机与有限状态自动机.docx Godot引擎开发:谜题设计与逻辑_(12).谜题的测试与调试.docx Godot引擎开发:...
CryEngine引擎开发:谜题设计与逻辑_(10).物理引擎在谜题设计中的应用.docx CryEngine引擎开发:谜题设计与逻辑_(11).谜题测试与调试技巧.docx CryEngine引擎开发:谜题设计与逻辑_(12).谜题设计案例分析与...
Unreal Engine开发:谜题设计与逻辑_(10).谜题元素的交互设计.docx Unreal Engine开发:谜题设计与逻辑_(11).谜题解谜流程与逻辑优化.docx Unreal Engine开发:谜题设计与逻辑_(12).谜题故事背景与环境设定....
Java谜题1——表达式谜题 谜题1:奇数性 谜题2:找零时刻 谜题3:长整除 谜题4:初级问题 谜题5:十六进制的趣事 谜题6:多重转型 谜题7:互换内容 谜题8:Dos Equis 谜题9:半斤 谜题10:八两 Java谜题2...
- **主章节谜题**:分为三个难度等级,包括较易、中等难度和较难谜题。 - **引言谜题**:一个特别的谜题,旨在激发读者的兴趣。 - **提示部分**:提供了每个谜题的提示,帮助读者思考。 - **解答部分**:提供了每个...
算法谜题是结合了传统谜题和计算机算法知识的一种智力游戏,旨在通过谜题的求解过程训练和培养算法思维能力。 本书分为四个部分:概览、谜题、提示和答案。概览部分主要介绍算法设计的通用策略和算法分析技术。算法...
《C++与VS2019环境下的MFC应用程序:详解“四灯谜题”实现》 在IT领域,C++是一种广泛使用的编程语言,以其高效性和灵活性深受开发者喜爱。Visual Studio 2019(VS2019)作为微软推出的强大集成开发环境(IDE),为...
《算法谜题》一书是专门为那些热爱挑战和探索算法深度的读者准备的。它将算法与谜题相结合,旨在通过一系列有趣的问题,帮助读者深入理解并提升算法设计与分析的能力。书中涵盖的不仅仅是基础算法,还涉及了高级算法...