Java½â»ó3 33Ñ»·ÕßÓöµ½ÁËÀÇÈË
ÇëÌṩһ¸ö¶ÔiµÄÉùÃ÷£¬½«ÏÂÃæµÄÑ»·×ª±äΪһ¸öÎÞÏÞÑ»·¡£Õâ¸öÑ»·²»ÐèҪʹÓÃÈκÎ5.0°æµÄÌØÐÔ£º
while (i != 0 && i == -i) {
}
ÕâÈÔÈ»ÊÇÒ»¸öÑ»·¡£ÔÚ²¼¶û±í´ïʽ(i != 0 && i == -i)ÖУ¬Ò»Ôª¼õºÅ²Ù×÷·û×÷ÓÃÓÚi£¬ÕâÒâζ×ÅËüµÄÀàÐͱØÐëÊÇÊý×ÖÐ͵ģºÒ»Ôª¼õºÅ²Ù×÷·û×÷ÓÃÓÚÒ»¸ö·ÇÊý×ÖÐͲÙ×÷ÊýÊÇ·Ç·¨µÄ¡£Òò´Ë£¬ÎÒÃÇҪѰÕÒÒ»¸ö·Ç0µÄÊý×ÖÐÍÊýÖµ£¬ËüµÈÓÚËü×Ô¼ºµÄ¸ºÖµ¡£NaN²»ÄÜÂú×ãÕâ¸öÊôÐÔ£¬ÒòΪËü²»µÈÓÚÈκÎÊýÖµ£¬Òò´Ë£¬i±ØÐë±íʾһ¸öʵ¼ÊµÄÊý×Ö¡£¿Ï¶¨Ã»ÓÐÈκÎÊý×ÖÂú×ãÕâÑùµÄÊôÐÔÂð£¿
àÅ£¬Ã»ÓÐÈκÎʵÊý¾ßÓÐÕâÖÖÊôÐÔ£¬µ«ÊÇûÓÐÈκÎÒ»ÖÖJavaÊýÖµÀàÐÍÄܹ»¶ÔʵÊý½øÐÐÍêÃÀ½¨Ä£¡£¸¡µãÊýÖµÊÇÓÃÒ»¸ö·ûºÅλ¡¢Ò»¸ö±»Í¨Ë׵سÆΪβÊý£¨mantissa£©µÄÓÐЧÊý×ÖÒÔ¼°Ò»¸öÖ¸ÊýÀ´±íʾµÄ¡£³ýÁË0Ö®Í⣬ûÓÐÈκθ¡µãÊýµÈÓÚÆä·ûºÅλ·´×ªÖ®ºóµÄÖµ£¬Òò´ËiµÄÀàÐͱØÈ»ÊÇÕûÊýÐ͵ġ£
ÓзûºÅµÄÕûÊýÀàÐÍʹÓõÄÊÇ2µÄ²¹ÂëËãÊõÔËË㣺ΪÁ˶ÔÒ»¸öÊýֵȡÆ为ֵ£¬ÄãÒª·´×ªÆäÿһλ£¬È»ºó¼Ó1£¬´Ó¶øµÃµ½½á¹û[JLS 15.15.4]¡£2µÄ²¹ÂëËãÊõÔËËãµÄÒ»¸öºÜ´óµÄÓÅÊÆÊÇ£¬0¾ßÓÐΨһµÄ±íʾÐÎʽ¡£Èç¹ûÄãÒª¶ÔintÊýÖµ0È¡¸ºÖµ£¬Ä㽫µÃµ½0xffffffff+1£¬ËüÈÔÈ»ÊÇ0¡£
µ«ÊÇ£¬ÕâÒ²ÓÐÒ»¸öÏàÓ¦µÄ²»ÀûÖ®´¦£¬×ܹ²´æÔÚżÊý¸öintÊýÖµ——׼ȷµØ˵ÓÐ232¸ö——ÆäÖÐÒ»¸öÓÃÀ´±íʾ0£¬ÕâÑù¾ÍʣЩÆæÊý¸öintÊýÖµÀ´±íʾÕýÕûÊýºÍ¸ºÕûÊý£¬ÕâÒâζ×ÅÕýµÄºÍ¸ºµÄintÊýÖµµÄÊýÁ¿±ØÈ»²»ÏàµÈ¡£Õⰵʾ×ÅÖÁÉÙÓÐÒ»¸öintÊýÖµ£¬Æ为ֵ²»ÄÜÕýÈ·µØ±íʾ³ÉΪһ¸öintÊýÖµ¡£
ÊÂʵÉÏ£¬Ç¡Ç¡¾ÍÓÐÒ»¸öÕâÑùµÄintÊýÖµ£¬Ëü¾ÍÊÇInteger.MIN_VALUE£¬¼´-231¡£ËûµÄÊ®Áù½øÖƱíʾÊÇ0x80000000¡£Æä·ûºÅλΪ1£¬ÆäÓàËùÓеÄλ¶¼ÊÇ0¡£Èç¹ûÎÒÃǶÔÕâ¸öֵȡ¸ºÖµ£¬ÄÇôÎÒÃǽ«µÃµ½0x7fffffff+1£¬Ò²¾ÍÊÇ0x80000000£¬¼´Integer.MIN_VALUE£¡»»¾ä»°Ëµ£¬Integer.MIN_VALUEÊÇËü×Ô¼ºµÄ¸ºÖµ£¬Long.MIN_VALUEÒ²ÊÇÒ»Ñù¡£¶ÔÕâÁ½¸öֵȡ¸ºÖµ½«»á²úÉúÒç³ö£¬µ«ÊÇJavaÔÚÕûÊý¼ÆËãÖкöÂÔÁËÒç³ö¡£Æä½á¹ûÒѾ²ûÊöÇå³þÁË£¬¼´Ê¹ËüÃDz¢²»×ÜÊÇÄãËùÆÚÍûµÄ¡£
ÏÂÃæµÄÉùÃ÷½«Ê¹µÃ²¼¶û±í´ïʽ(i != 0 && i == -i)µÄ¼ÆËã½á¹ûΪtrue£¬´Ó¶øʹѻ·ÎÞÏÞ»·ÈÆÏÂÈ¥£º
int i = Integer.MIN_VALUE;
ÏÂÃæÕâ¸öÒ²¿ÉÒÔ£º
long i = Long.MIN_VALUE;
Èç¹ûÄã¶ÔÈ¡Ä£ÔËËãºÜÊìϤ£¬ÄÇôºÜÓбØÒªÖ¸³ö£¬Õâ¸öÃÕÌâÒ²¿ÉÒÔÓôúÊý·½·¨½â¾ö¡£JavaµÄintËãÊõÔËËãÊÇʵ¼ÊµÄËãÊõÔËËã¶Ô232È¡Ä£µÄÔËË㣬Òò´Ë±¾ÃÕÌâÐèÒªÒ»¸ö¶ÔÕâÖÖÏßÐÔÈ«µÈµÄ·Ç0½â¾ö·½°¸£º
i ≡ -i(mod 232)
½«i¼Óµ½ºãµ
Ïà¹ØÎĵµ£º
ÏÂÃæµÄ³ÌÐòËùÒª×öµÄÊÂÇéÕýÊÇÇ°Ò»¸öÃÕÌâËù×öµÄÊÂÇ飬µ«ÊÇËüûÓмÙÉèб¸Ü·ûºÅ¾ÍÊÇ·Ö¸ôÎļþÃû×é³É²¿·ÖµÄ·ûºÅ¡£Ïà·´£¬¸Ã³ÌÐòʹÓõÄÊÇjava.io.File.separator£¬Ëü±»Ö¸¶¨ÎªÒ»¸ö¹«¹²µÄStringÓò£¬°üº¬ÁËƽ̨Ïà¹ØµÄÎļþÃû·Ö¸ô·û¡£ÄÇô£¬Õâ¸ö³ÌÐò»á´òÓ¡³öÆäÕýÈ·µÄ¡¢Æ½Ì¨Ïà¹ØµÄÀàÎļþÃûÂð£¿
package com.javapuzzlers;
import java. ......
ÏÂÃæµÄ³ÌÐòÑ»·±éÀúbyteÊýÖµ£¬ÒÔ²éÕÒij¸öÌض¨Öµ¡£Õâ¸ö³ÌÐò»á´òÓ¡³öʲôÄØ£¿
public class BigDelight {
public static void main(String[] args) {
for (byte b = Byte.MIN_VALUE; b < Byte.MAX_VALUE; b++) {
if (b == 0x90)
System.out.print("Joy!");
}
......
ÇëÌṩһ¸ö¶ÔiµÄÉùÃ÷£¬½«ÏÂÃæµÄÑ»·×ª±äΪһ¸öÎÞÏÞÑ»·£º
while (i != 0) {
i >>>= 1;
}
»ØÏëһϣ¬>>>=ÊǶÔÓ¦ÓÚÎÞ·ûºÅÓÒÒƲÙ×÷·ûµÄ¸³Öµ²Ù×÷·û¡£0±»´Ó×óÒÆÈëµ½ÓÉÒÆλ²Ù×÷¶ø¿Õ³öÀ´µÄλÉÏ£¬¼´Ê¹±»ÒÆλµÄ¸ºÊýÒ²ÊÇÈç´Ë¡£
Õâ¸öÑ»·±ÈÇ°ÃæÈý¸öÑ»·ÒªÉÔ΢¸´ÔÓÒ»µã£¬ÒòΪÆäÑ»·Ìå·Ç¿Õ¡£ÔÚÆäÑ»·ÌâÖУ¬ ......
ÇëÌṩһ¸ö¶ÔiµÄÉùÃ÷£¬½«ÏÂÃæµÄÑ»·×ª±äΪһ¸öÎÞÏÞÑ»·£º
while (i <= j && j <= i && i != j) {
}
àÞ£¬²»£¬²»ÒªÔÙ¸øÎÒ¿´ÆðÀ´²»¿ÉÄܵÄÑ»·ÁË£¡Èç¹ûi <= j ²¢ÇÒ j <= i£¬i²»Êǿ϶¨µÈÓÚjÂð£¿ÕâÒ»ÊôÐÔ¶ÔʵÊý¿Ï¶¨ÓÐЧ¡£ÊÂʵÉÏ£¬ËüÊÇÈç´ËµØÖØÒª£¬ÒÔÖÁÓÚËüÓÐÕâÑùµÄ¶¨Ò壺ʵÊýÉϵÄ≤¹ØϵÊÇ·´¶Ô³ ......
×î½ü¹«Ë¾Åöµ½ÐèÒªÓÃͼ±íµÄÐÎʽÏÔʾһЩÊý¾Ý£¬ÎҾͿªÊ¼µ½ÍøÉϲéѯ£¬²éµ½ÁËjfreechartºÍamcharts,ÕâÁ½ÕßÎÒ¶¼ÊµÏÖ¹ýÁË£¬jfreechart×îºóÉú³ÉͼƬ£¬µ«ÊÇͼƬЧ¹û²»ÊÇÎÒÏëÒªµÄ£¬È»ºóÓÖÑо¿amcharts ËüµÄЧ¹ûȷʵºÜºÃ£¬¶øÇÒ¹Ù·½ÍøÕ¾ÉÏ»¹ÓкÃЩÀý×ӿɹ©ÏÂÔØ£¬ÍøÖ·ÊÇ:www.amcharts.com
£¨ÏëÒªÍê³ÉÒ»¸öamchartsͼÐÎÐèÒªswfobjects. ......