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 Listl = new ArrayList (); 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》第二章