public class e1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double i1=2.0;
double i2=1.1;
//小数相减的精度问题
System.out.println(Double.toString(1.1)+Double.toString(2.0)+Double.toString(2.0-1.1));
//先按int计算在提升为long型
final long micros=24*60*60*1000*1000;
final long millis=24*60*60*1000;
System.out.println(micros/millis);
//正确的处理
final long micros1=24L*60*60*1000*1000;
final long millis1=24L*60*60*1000;
System.out.println(micros1/millis1);
//恶心的题5432l最后一位是L的小写而不是数字1
System.out.println(12345+5432l);
//十六进制的计算:0x1cafebabe(正确的结果)
// 1111111
// 0xffffffffcafebabeL
// +)0x0000000100000000L
//-----------------------------
// 0x00000000cafebabeL
System.out.println(Long.toHexString(0x100000000L+0xcafebabe));
//多重转换 int:32位 char:16位 byte:8位
System.out.println((int)(char)(byte)(-1));
//
System.out.println("H"+"a");
System.out.println('H'+'a');
//字符数组调用toString()返回:类名+@+对象散列码的十六进制数
char[] numbers={'1','2','3'};
System.out.println("charArray:"+numbers);
//“==”比较两个变量本身的值,即两个对象在内存中的首地址。
//“equals()”比较字符串中所包含的内容是否相同。
final String pig="length: 10";
final String dog="length: "+pig.length();
//the error example
System.out.println("is it equal:"+(pig==dog));
//the right output
System.out.println("is it equal:"+pig.equals(dog));
//Unicode 转义字符 注意:注视中也尽量避免出现Unicode 转义字符
System.out.println("a\u0022.length()+\u0022b".length());
System.out.println("a".length()+"b".length());
//转义字符
String str2="a\u0022+"b";
char c=0x000a;
System.out.println(c);
System.out.println("a\".length()+\"b".length());
//
}
}
《Effective Java》学习心得
最新推荐文章于 2024-06-20 17:55:58 发布