Effective Java¶ÁÊé±Ê¼Ç
package chape8;
import java.math.BigDecimal;
/**
* 8-48
* Èç¹ûÏëÒªÖªµÀ¾«È·µÄ´ð°¸£¬¾ÍÒª±ÜÃâʹÓÃdoubleºÍfloat
¶ÔÓÚ½ðÈÚÐÐÒµÀ´Ëµ£¬¶ÔÊý¾ÝµÄÑÏÕûÐÔÒªÇóÊǺܸߵ쬲»ÈݰëµãÂí»¢£¬
ÄÇ´ó¼Ò¶¼ÖªµÀÔÙÎÒÃǵÄJavaÓïÑÔÀïÃæÓÐÁ½¸ö¸¡µãÊýÀàÐ͵ıäÁ¿floatºÍdouble£¬
¿ÉÄÜ´ó¼Ò»áÈÏΪËûÃǵľ«¶È¶ÔÓÚ½ðÈÚÐÐÒµÕâÑù¶ÔÊý×ÖÃô¸ÐµÄÐÐÒµÀ´Ëµ£¬ÒѾ¹»ÓÃÁË£¬
µ«ÊÇÔÚ¿ª·¢µ±ÖУ¬ÎÒÃÇÒª¾¡Á¿ÉÙʹÓÃdoubleºÍfloat£¬ÒòΪÈÃËûÃǾ«È·µÄ±í´ï0.1ÊDz»¿ÉÄܵġ£
ÄÇÎÒÃÇÈçºÎ½â¾öÕâ¸öÎÊÌâÄØ£¬
´ð°¸ÊÇʹÓÃBigDecimal,int»òÕßlong½øÐлõ±Ò¼ÆËã¡£
ÔÚÕâÀï¶Ô´ó¼ÒµÄÖÒ¸æÊÇ£º
floatºÍdouble ÀàÐÍÓÈÆä²»ÊʺÏÓÃÓÚ»õ±Ò¼ÆË㣻ÒòΪÈÃÒ»¸öfloat»òÕßdouble
¾«È·µØ±íʾ0.1»òÕß10µÄÈÎºÎÆäËû¸ºÊý´Î·½Öµ£¬¶¼ÊDz»¿ÉÄܵģ»
* @author lee
*
*/
public class Chape48 {
/**
* @param args
*/
public static void main(String[] args) {
/**
* À´¿´Ò»¸öÀý×Ó
* Äã¿Ú´üÀïÓÐ1ÃÀÔª£¨100ÃÀ·Ö£©£¬Äã´òËãÂòÌÇ£¬Ìǵļ۸ñΪ10ÃÀ·Ö20ÃÀ·Ö
* 30ÃÀ·ÖµÈµÈ Ò»Ö±µ½1ÃÀ·Ö Äã´òËã´Ó10ÃÀ·ÖµÄ¿ªÊ¼Âò£¬Ã¿ÖÖ¼Û¸ñÖ»ÂòÒ»¸ö
* ÄÇÄãÄÜÂò¼¸¸öÌÇÄØ£¿ÄÜÕһضàÉÙÄØ£¿
*/
/* double sum = 1;
int count = 0 ;
for(double x = .10;x<sum;x+=.10)
{
sum-=x;
count++;
}
System.out.println(sum);
System.out.println(count);*/
/**
* Êä³ö½á¹ûÊÇ
* 0.3999999999999999ºÍ3
* ÎÒÃÇÓÃÊÖËãһϠ100-10-20-30=40
* ÄǾÍÊÇ˵ÎÒÃÇ»¹¿ÉÒÔÂòÒ»¸ö.40µÄÌÇ ÄÇô³ÌÐòÄÇÀï´íÁË£¿
* ´íÎó¾ÍÔÚÓÚÎÒÃÇÓÃÁËdouble
* ½â¾ö°ì·¨¾ÍÊÇÓÃBigDecimal »òÕßint »òÕßlong ½øÐлõ±ÒµÄ¼ÆËã
*/
BigDecimal sum1 = new BigDecimal("1");
BigDecimal price = new BigDecimal(".10");
int count1 = 0 ;
for(BigDecimal b = price;sum1.compareTo(b) >=0 ;b=b.add(price))
{
sum1 = sum1.subtract(b);
count1++;
}
System.out.println(sum1);
System.out.println(count1);
/**
* Êä³ö½á¹û0.00ºÍ4 ÕâÑù¾ÍÕýÈ·ÁË
* ¹ØÓÚBigDecimalµÄ·½·¨ÎÒÃÇÏÂÈ¥ÔÙ×Ðϸ¿´¿´£»
* ÕâÀïҪ˵µÄÊÇBigDecimalÊÇÒýÓÃÊý¾ÝÀàÐÍ
*/
/**
* ×ܶøÑÔÖ®£º ¶ÔÓÚÈκÎÒª¾«È·´ð°¸µÄ¼ÆËãÈÎÎñ£¬Çë²»ÒªÓÃdoubleºÍfloat£¬Èç¹ûÄãÏë
* ¼ÆËãÊ®½øÖÆÐ¡Êýµã£¬²¢ÇÒ²»½éÒâ·Ç»ù±¾ÀàÐÍ´øÀ´µÄ²»±ã£¬ÄǾÍÓÃBigDecimal£»Ê¹ÓÃ
* BigDecimal»¹Óиö¶îÍâµÄºÃ´¦¾ÍÊÇËûÔÊÐíÄãÍêÈ«¿ØÖÆÉáÈ룬ÿµ±Ò»¸ö²Ù×÷Éæ¼°
Ïà¹ØÎĵµ£º
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ ......
3.package com.ncs.opts.tools;
import java.util.HashMap;
import java.util.Map;
import com.ncs.opts.common.icp.dao.po.audit.IcpMainHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpModifyHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpSiteAccessHistory;
import com.ncs.opts.common.i ......
×ܽáÒ»£º
Java IOµÄÒ»°ãʹÓÃÔÔò£º
Ò»¡¢°´Êý¾ÝÀ´Ô´£¨È¥Ïò£©·ÖÀࣺ
1¡¢ÊÇÎļþ£º FileInputStream, FileOutputStream, FileReader, FileWriter
2¡¢ÊÇbyte[]£ºByteArrayInputStream, ByteArrayOutputStream
3¡¢ÊÇChar[]: CharArrayReader, CharArrayWriter
4¡¢ÊÇString: StringBufferInputStream, StringReader, StringW ......
ÔÚJavaÓïÑÔÖУ¬Ò»°ã²»ÐèÒª×Ô¶¨Òåequals()ºÍhashCode()ÕâÁ½¸ö·½·¨£¬µ±ÐèÒª¶Ô¶ÔÏóµÄÄÚÈݽøÐбȽϵÄʱºò£¬²ÅÐèÒªÕâÑùÁ½¸ö·½·¨¡£ÀýÈ磬ÐèÒª°Ñ¶ÔÏó·ÅÈëHashSet»òÕ߰ѶÔÏó×÷Ϊkey·ÅÈëHashMap¡¢ Hashtableʱ£¬Èç¹û²»Ïë°Ñ¾ßÓÐÏàͬÄÚÈݵÄÁ½¸ö¶ÔÏó×÷ΪÁ½¸ö¶ÔÏóÀ´¿´´ý£¬¾ÍÐèÒªÖØ¶¨ÒåÕâÁ½¸ö·½·¨¡£ÕâÁ½¸ö·½·¨µÄʹÓÃÊÇ ......
Îļþ´ò¿ªÊ±ºòÊÇͨ¹ýÎļþÍ·À´È·¶¨ÎļþµÄ±àÂë
StreamReader sr=new StreamReader(@"F:\cym\temp\1.txt");
sr.CurrentEncoding //·µ»Ø±àÂë
ÊÀ½çÉϵĸ÷µØÇø¶¼Óб¾µØµÄÓïÑÔ¡£µØÇø²îÒìÖ±½Óµ¼ÖÂÁËÓïÑÔ»·¾³µÄ²îÒì¡£ÔÚ¿ª·¢Ò»¸ö¹ú¼Ê»¯³ÌÐòµÄ¹ý³ÌÖУ¬´¦ÀíÓïÑÔÎ ......