`

java陷阱-观北风网视屏有感

    博客分类:
  • Java
 
阅读更多
package test;

import java.math.BigDecimal;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		int j=0;
		for (int i=0;i<100;i++) {
			j=j++;
		}
		System.out.println(j);// 输出结果竟然不是100
		
		System.out.println(2.00-1.10);//输出结果竟然不是0.90
		System.out.println(new BigDecimal("2.00").subtract(new BigDecimal("1.10")));//正确写法
		
		long a = 24*60*60*1000*1000;//微妙
		long b = 24*60*60*1000;//毫秒
		System.out.println(a/b);//输出结果竟然不是1000
		
		//交换值运算
		int x = 12;
		int y = 45;
		//x^=y^=x^=y//错误写法,但在c语言中使用时是正确的,因此在c编程中常用
		y = (x^=(y^=x))^y;//虽然正确,但不推荐使用,杀鸡焉用牛刀,它是一高级运算
		System.out.println("x="+x+";"+"y="+y);
		
		System.out.println("H"+"a");
		System.out.println('H'+'a');//输出结果竟然是数字
		
		String let = "ABC";
		char[] num = {'1','2','3'};
		System.out.println(num);
		System.out.println(let+"ease as" +num);

		// \u0022是双引号的unicode转移字符
		System.out.println("a\u0022.length() +\u0022b".length());
		//上面一行代码等价于下面一行代码
		System.out.println("a".length()+"b".length());

		//System.out.println(Test.class.getName().replaceAll(".", "/")+".class");//错误写法
		System.out.println(Test.class.getName().replaceAll("\\.", "/")+".class");//必须使用转移字符

	}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics