`

Java Puzzlers

    博客分类:
  • java
 
阅读更多
package com.xjh.study;

public class IsOdd {
	// 判断  i 是否为奇数  (对于负数不生效)
	public static boolean isOdd(int i) {
		return i % 2 == 1;
	}
	// 判断 i 是否为奇数
	public static boolean isOdd2(int i) {
		return i % 2 != 0;
	}	

}



package com.xjh.study;

import javax.sound.midi.SysexMessage;

import junit.framework.TestCase;

import org.junit.Test;

public class IsOddTest extends TestCase {
	
	public void testIsOdd() {
		int a = 0;
		assertEquals(false, IsOdd.isOdd(a));
		int b = 1;
		assertEquals(true, IsOdd.isOdd(b));
		int c = 2;
		assertEquals(false, IsOdd.isOdd(c));
		int d = 3;
		assertEquals(true, IsOdd.isOdd(d));
//		int e = -1;
//		assertEquals(true, IsOdd.isOdd(e));
		int f = -2;
		assertEquals(false, IsOdd.isOdd(f));
//		int j = -3;
//		assertEquals(true, IsOdd.isOdd(j));
	}
	
	@Test
	public void testIsOdd2() {
		int a = 0;
		assertEquals(false, IsOdd.isOdd2(a));
		int b = 1;
		assertEquals(true, IsOdd.isOdd2(b));
		int c = 2;
		assertEquals(false, IsOdd.isOdd2(c));
		int d = 3;
		assertEquals(true, IsOdd.isOdd2(d));
		int e = -1;
		assertEquals(true, IsOdd.isOdd2(e));
		int f = -2;
		assertEquals(false, IsOdd.isOdd2(f));
		int j = -3;
		assertEquals(true, IsOdd.isOdd2(j));
		System.out.println("o");
		System.err.println("e");
	}

}



package com.xjh.study;

import java.math.BigDecimal;

public class Change {
	public static void main(String args[]) {
		System.out.println(2.00 - 1.10); // 0.8999999999999999
		System.out.printf("%.2f%n", 2.00 - 1.10); // 0.90
		System.out.println((200 - 110) + " cents"); // 90 cents
		System.out.println(new BigDecimal("2.00").
				subtract(new BigDecimal("1.10"))); // 0.90
	}
}



package com.xjh.study;

import java.util.ArrayList;
import java.util.List;

public class Elementary {
	public static void main(String[] args) {
		System.out.println(12345 + 5432l); // 17777
		System.out.println(12345 + 5432L); // 17777
		// Bad code-uses el(l)as a variable name
		List<String> l = new ArrayList<String>();
		l.add("Foo");
		System.out.println(l); // [Foo]
	}

}



package com.xjh.study;

public class JoyOfHex {
	public static void main(String[] args) {
		System.out.println(
				Long.toHexString(0x100000000L + 0xcafebabe));
	}

}




package com.xjh.study;

public class LongDivision {
	public static void main(String[] args) {
		final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;
		final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;
		System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY); // 5
		System.out.println(24 * 60 * 60 * 1000 * 1000); // 500654080   已经溢出了
		System.out.println(MICROS_PER_DAY); // 500654080  已经溢出了
		System.out.println(MILLIS_PER_DAY); // 86400000
		System.out.println(24 * 60 * 60); // 86400
		
		System.out.println("------------------------");
		
		final long MICROS_PER_DAY_2 = 24L * 60 * 60 * 1000 * 1000;
		final long MILLIS_PER_DAY_2 = 24L * 60 * 60 * 1000;
		System.out.println(MICROS_PER_DAY_2 / MILLIS_PER_DAY_2); // 1000
		
		System.out.println("hello");
		
		System.err.println("a");
	}

}



来源 《Java Puzzlers》第二章
分享到:
评论

相关推荐

    JAVA PUZZLERS(JAVA 解惑)中英文

    《JAVA PUZZLERS》是一本深受欢迎的Java编程书籍,旨在揭示编程语言中的微妙陷阱和易犯错误,帮助开发者提升编程技能和理解。这本书以其独特的“谜题”形式,通过一系列精心设计的问题,引导读者探索Java语言的深奥...

    Java Puzzlers 中文版(Java解惑)

    Java Puzzlers 中文版(Java解惑) Java 谜题 1——表达式谜题 谜题 1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转 吗? public static boolean isOdd(int i){ return i % 2 == 1...

    Java Puzzlers完整中文版

    谜题 40:不情愿的构造器 尽管在一个方法声明中看到一个 throws 子句是很常见的,但是在构造器的声明 中看到一个 throws 子句就很少见了。下面的程序就有这样的一个声明。那么, 它将打印出什么呢?...

    Java puzzlers(java 解惑)附源码

    《Java Puzzlers》是一本深受Java开发者喜爱的书籍,由Joshua Bloch和Neal Gafter合著。这本书专门探讨了Java编程语言中容易让人迷惑的陷阱和常见误解,通过一系列精心设计的“puzzlers”(谜题)来揭示这些陷阱,并...

    java Puzzlers 中文版带完整目录

    本書包含了Java程式語言和核心函式庫中的各種謎題,任何具備使用Java經驗的讀者都可以看得懂,但是書裡有不少謎題的難度頗高,即便是對經驗豐富的Java程式設計師而言,都是一項挑戰,所以如果你解不出來,別覺得難過...

    Java Puzzlers(韩语版)

    Java Puzzlers(韩语版) 讲述了java中容易混淆的问题。 值得一看!

    java puzzlers 中文版.doc

    java puzzlers 中文版

    java puzzlers code

    《Java Puzzlers Code:揭示编程之谜》 Java Puzzlers 是一套经典的Java编程难题集,由Joshua Bloch和Neal Gafter合著,旨在帮助开发者深化对Java语言特性的理解和避免常见的陷阱。这些“puzzlers”通过一系列精心...

    <好书>java解惑(java puzzlers),过来挑战吧

    在书中,作者会提出一些看似简单但实际上可能引发错误的代码示例,这些示例被称为“puzzlers”。每个puzzler都会引导读者思考为什么这段代码会以某种意想不到的方式运行,然后提供详细的解答,解释背后的语言原理。...

    java puzzlers

    JAVA解惑 中文和英文 Like many books, this one had a long gestation period. We've collected Java puzzles for as long as we've worked with the platform: since mid-1996, in case you're curious. In early...

    java-puzzlers-sampler_java_Joshua_

    《Java Puzzlers Sampler》是由Java领域的权威专家Joshua Bloch和Neal Gafter共同编著的一本书,书中收录了一系列令人困惑、出乎意料的Java编程问题,旨在帮助开发者更好地理解和避免这些潜在的陷阱。书中的...

    Java解惑 清晰版带书签

    根据提供的文件信息,“Java解惑 清晰版带书签”这一标题暗示这是一本深入探讨Java编程语言中常见问题及解决方案的专业书籍。该书由《Effective Java》的作者所著,因此我们可以推断出这本书将包含许多实用的Java...

    java谜题中文版

    在探讨`java_puzzlers`中的第一个谜题时,我们遇到了一个看似简单却充满陷阱的场景。方法`isOdd`的目标是判断一个整数是否为奇数。原始实现如下: ```java public static boolean isOdd(int i) { return i % 2 == ...

    JavaSIG-Puzzlers.pdf

    ### Java Puzzlers知识点解析 #### 一、Java Puzzlers概述 《JavaSIG-Puzzlers.pdf》是一本由Joshua Bloch与Neal Gafter共同编写的书籍,该书主要探讨了Java编程语言中的一些非常规问题。这些问题是开发者在日常...

    Addison.Wesley.Java.Puzzlers.Jun.2005

    《Addison.Wesley.Java.Puzzlers.Jun.2005》一书由Joshua Bloch和Neal Gafter联合编著,由Pearson Education, Inc.于2005年出版。这本书的标题《Java Puzzlers: Traps, Pitfalls, and Corner Cases》揭示了其内容...

    Javapuzzler+JAVA解惑 中英双语 完整源代码

    《Javapuzzler+JAVA解惑 中英双语 完整源代码》是一份集学习与实践于一体的Java编程资源,包含《Java Puzzlers》和《JAVA解惑》两部分,以及对应的完整源代码。这份资料对于深入理解Java语言的特性和陷阱,提升编程...

    java爱好者必备JAVA解惑(pdf格式)

    《JAVA解惑》是一本专为Java爱好者设计的书籍,旨在帮助读者解决在学习和使用Java过程中遇到的各种问题。这本书以PDF格式提供,方便电子阅读和保存。在深入探讨Java编程语言的过程中,它覆盖了从基础概念到高级特性...

    Android代码-kotlin-puzzlers

    Kotlin is a pragmatic programming languages that was designed to avoid many well-known Java Puzzlers. This is a collection that I have found so far. What is a puzzler? A puzzler is some code that ...

    JavaPuzzlers

    《JavaPuzzlers》这本书由Josh Bloch和Bob Lee共同编写,是一本深入探讨Java编程语言中各种陷阱、怪癖及未被广泛认知特性的书籍。书中通过一系列精心设计的编程谜题,揭示了Java中那些容易导致错误或令人困惑的行为...

Global site tag (gtag.js) - Google Analytics