1-表达式谜题
import java.math.BigDecimal;/** * 1、表达式谜题 * * @author admin * */public class TestExp {/** * @param args */public static void main(String[] args) {int i = 1;/** 判断是否为奇数 **/System.out.print(i++ + " ** 判断是否为奇数 ** ");System.out.println((5 & 1) != 0);/** 小数减法 **/System.out.print(i++ + " ** 小数减法 ** ");System.out.println(2.00 - 1.10);BigDecimal num1 = new BigDecimal("2.00");BigDecimal num2 = new BigDecimal("1.10");System.out.print(" ** 小数减法 改进 ** ");System.out.println(num1.subtract(num2));/** 计算日期是要在数字后加L,防止int溢出 **/System.out.println(i++ + " ** 计算日期是要在数字后加L,防止int溢出 ** ");/** 一定要大写L **/System.out.print(i++ + " ** 一定要大写L 12345 + 5432l ** ");System.out.println(12345 + 5432l);/** 十六进制数 **/System.out.print(i++ + " ** 十六进制数 ** ");System.out.println(Long.toHexString(0x100000000L + 0xcafebabe));System.out.print(" ** 十六进制数改进 ** ");System.out.println(Long.toHexString(0x100000000L + 0xcafebabeL));/** 类型转换 **/System.out.print(i++ + " ** 类型转换 ** ");System.out.println((int) (char) (byte) -1);System.out.print(" ** 类型转换 ** ");System.out.println('c' & 0xffff);System.out.print(" ** 类型转换 ** ");System.out.println(((short) (char) (byte) -1) & 1);/** 互换内容 **/int x = 1984;int y = 2001;x ^= y ^= x ^= y;System.out.print(i++ + " ** 互换内容 ** ");System.out.println("x = " + x + "; y = " + y);/** 问号,感叹号 **/char c = 'X';int nMH = 1;System.out.print(i++ + " ** 问号,感叹号 ** ");System.out.println(true ? c : 0);System.out.print(" ** 问号,感叹号 ** ");System.out.println(false ? nMH : c);/** 复合表达式 **/short sh = 0;int in = 123456;sh += in;// sh = sh + in; //非法System.out.print(i++ + " ** 复合表达式 ** ");System.out.println(sh);Object obj = "buy";String str = "effective java";obj = obj + str;// obj += str; // 非法}}