Java °æ (¾«»ªÇø)
·¢ÐÅÈË: wazy (·Ø), ÐÅÇø: Java
±ê Ìâ: JavaÓïÑÔ¹æ¸ñ˵Ã÷(1)
·¢ÐÅÕ¾: ×϶¡Ïã (Tue Sep 16 16:02:11 1997)
JavaÓïÑÔ¹æ¸ñ˵Ã÷(Òë×ÔJava language specification, ÂÔ¼ÓÏêÊö)
1.³ÌÐò½á¹¹
JavaÓïÑÔµÄÔ´³ÌÐò´úÂëÓÉÒ»¸ö»ò¶à¸ö±àÒëµ¥Ôª(compilation unit)×é
³É£¬Ã¿¸ö±àÒëµ¥ÔªÖ»ÄÜ°üº¬ÏÂÁÐÄÚÈÝ(¿Õ¸ñºÍ×¢ÊͳýÍâ)£º
* Ò»¸ö³ÌÐò°üÓï¾ä(package statement )
* ÒýÈëÓï¾ä(import statements)
* ÀàµÄÉùÃ÷(class declarations)
* ½çÃæÉùÃ÷(interface declarations)
ÿ¸öJavaµÄ±àÒëµ¥Ôª¿É°üº¬¶à¸öÀà»ò½çÃ棬µ«ÊÇÿ¸ö±àÒ뵥ԪȴÖÁ
¶àÓÐÒ»¸öÀà»òÕß½çÃæÊǹ«¹²µÄ¡£
Java µÄÔ´³ÌÐò´úÂë±»±àÒëÖ®ºó£¬±ã²úÉúÁËJava×Ö½Ú´úÂë(bytecode)¡£
JavaµÄ×Ö½Ú´úÂëÓÉһЩ²»ÒÀÀµÓÚ»úÆ÷µÄÖ¸Áî×é³É£¬ÕâЩָÁîÄܱ»JavaµÄ
ÔËÐÐϵͳ(runtime system)ÓÐЧµØ½âÊÍ¡£JavaµÄÔËÐÐϵͳ¹¤×÷ÆðÀ´Èçͬһ
̨ÐéÄâ»ú¡£
ÔÚµ±Ç°µÄJavaʵÏÖÖУ¬Ã¿¸ö±àÒëµ¥Ôª¾ÍÊÇÒ»¸öÒÔ.javaΪºó׺µÄÎļþ¡£
ÿ¸ö±àÒëµ¥ÔªÓÐÈô¸É¸öÀ࣬±àÒëºó£¬Ã¿¸öÀàÉú³ÉÒ»¸ö.classÎļþ¡£.class
ÎļþÊÇJavaÐé»úÆ÷Âë¡£
2. ´Ê·¨ÎÊÌâ
ÔÚ±àÒëµÄ¹ý³ÌÖУ¬JavaÔ´³ÌÐò´úÂëÖеÄ×Ö·û±»»®·ÖΪһϵÁеıê¼Ç
(token)¡£Java±àÒëÆ÷¿ÉÒÔʶ±ðÎåÖÖ±ê¼Ç: ±êʶ·û¡¢¹Ø¼ü×Ö¡¢×ÖÃæÁ¿¡¢ÔË
Ëã·ûÒÔ¼°ÌØÊâ·Ö¸ô·û¡£×¢ÊÍÒÔ¼°ÖîÈç¿Õ¸ñ¡¢ÖƱí·û¡¢»»ÐзûµÈ×Ö·û £¬¶¼
²»ÊôÓÚ±êʶ֮ÁУ¬µ«ËûÃÇÈ´³£±»ÓÃÀ´·Ö¸ô±ê¼Ç¡£
Java³ÌÐòµÄ±àд²ÉÓ÷º´úÂëUnicode×Ö·û¼¯£¬Èô²ÉÓÃÆäËüµÄ×Ö·û¼¯£¬
ÔòÐèÔÚ±àÒëǰת»»³ÉUnicode¡£
2.1 ×¢ÊÍ
JavaÓïÑÔÌṩÁË3ÖÖÐÎʽµÄ×¢ÊÍ£º
//text ´Ó//µ½±¾ÐнáÊøµÄËùÓÐ×Ö·û¾ù×÷ΪעÊͶø±»±àÒëÆ÷ºöÂÔ¡£
/* text */ ´Ó/*µ½*/ ¼äµÄËùÓÐ×Ö·û»á±»±àÒëÆ÷ºöÂÔ¡£
/** text */
µ±ÕâÀà×¢ÊͳöÏÖÔÚÈκÎÉùÃ÷֮ǰʱ½«»á×÷ÌØÊâ´¦Àí£¬ËüÃDz»ÄÜÔÙÓÃ
ÔÚ´úÂëµÄÈκεط½¡£ÕâÀà×¢ÊÍÒâζ×ű»À¨ÆðÀ´µÄÕýÎIJ¿·Ö£¬Ó¦¸Ã×÷ΪÉù
Ã÷ÏîÄ¿µÄÃèÊö£¬¶ø±»°üº¬ÔÚ×Ô¶¯²úÉúµÄÎĵµÖС£
2.2 ±êʶ·û
±êʶ·ûµÄÊ××Ö·û±ØÐëÊÇÒ»¸ö×Öĸ£¬Ï»®Ïß("_")»òÃÀÔª·ûºÅ("$")¡£ ºó
ÃæµÄ×Ö·ûÒ²¿ÉÊÇÊý×Ö0-9¡£ JavaʹÓ÷º´úÂë×Ö·û¼¯£¬ÎªÁ˱ãÓÚʶ±ðºÃÒ»
ºÏ·¨±êʶ·û£¬ÏÂÃæÁгöËüµÄ¡°×Öĸ¡±£º
* ´óд×Öĸ¡°A¡±¡«¡°Z¡±
* Сд×Öĸ¡°a¡±¡«¡°z¡±
* ·º´úÂ루Unicode£©ÖÐËùÓÐ×Ö·û±àÂëÔÚÊ®Áù½øÖÆÊý00C0֮ǰµÄ×Ö
·û¡£±êʶ·ûÖУ¬Ê××ÖĸºóµÄ×Ö·û¿ÉÒÔÊÇÈÎÒâµÄ¡£µ±È»£¬UnicodeÇø¶ÎÖÐ
ÄÇЩ±»±£Áô×÷ÌØÊâ×Ö·ûµÄ³ýÍâ¡£
ÓÉ´Ë£¬¡°garton¡±¼°¡°Mj¦µlner¡±¶¼ÊǺϷ¨±êʶ·û£¬µ«ÊÇ£¬°üÀ¨
ÖîÈç¡°¦Ð¡±µÄ×Ö·û´®È´²»ÊǺϷ¨µÄ¡£
ΪÁËÈ¡µÃ¸ü¶àµÄÓйطº´úÂë±ê×¼µÄÐÅÏ¢£¬Çë²ÎÔÄ¡°The Unicode
Standard¡±£¬¡°World Wide Character Encoding version 1.0£¬volumes 1 £¦
2¡±£¬Unicode¹«Ë¾µÄFTPµØÖ·ÊÇunicode.org¡£
2.3 ¹Ø¼ü×Ö
ÏÂÃæµÄ±êʶ·û±»±£ÁôÓÃ×÷¹Ø¼ü×Ö£¬ËûÃDz»ÄÜ×÷ÈκÎÆäËüµÄÓÃ;¡£
abstract default goto* null synchronized
boolean do if package this
break double implements private threadsafe
byte else import protected throw
byvalve * extends instanceof public transient
case false int return true
catch final interface short try
char finally long static void
class float native super while
const * for new switch
continue
ÆäÖУ¬¼Ó*±ê¼ÇºóÊDZ»±£Áôµ«µ±Ç°È´Î´Ê¹Óõġ£
2.4 ×ÖÃæÁ¿
×ÖÃæÁ¿(literal)ÊÇijЩÀàÐÍÖµµÄ»ù±¾±íÊö£¬ÕâЩÀàÐÍ°üÀ¨ÕûÐÍ£¬¸¡µã
ÐÍ£¬²¼¶ûÁ¿£¬×Ö·û¼°×Ö·û´®¡£
2.4.1 ÕûÐÍ×ÖÃæÁ¿
ÕûÊý¿ÉÓÐÈýÖÖ±íʾÐÎʽ£º Ê®½øÖÆ£¬°Ë½øÖƺÍÊ®Áù½øÖÆ¡£Ò»¸öÊ®½øÖÆ
ÕûÐÍ×ÖÃæÁ¿ÓÉһϵÁеÄÊý×Ö×é³É£¬µ«ËüµÄµÚÒ»¸öÊý×Ö²»ÄÜÊÇ0(ÓÐʱʮ½ø
ÖÆÊý×ÖÒ²¿ÉÏóÏÂÃæ½²µÄÄÇÑù¼Óºó׺)¡£ÕûÊýÒ²¿É±í´ï³É°Ë½øÖÆ»òÊ®Áù½øÖÆ
ÐÎʽ¡£ÒÔ0¿ªÍ·µÄÕûÐÍ×ÖÃæÁ¿£¬Òâζ×ÅËüÊÇÒ»¸öÊ®Áù½øÖƵġ£Ê®Áù½øÖÆ
ÕûÊý¿ÉÒÔ°üÀ¨Êý×Ö0-9ÒÔ¼°×Öĸa-f¼°A-F¡£°Ë½øÖÆÕûÊýÖÐÔòÖ»ÄÜÊdzöÏÖ
Êý×Ö0-7¡£ÔÚ³¬¹ý32λËùÄܱíʾµÄ·¶Î§Ö®Ç°£¬ÕûÐÍ×ÖÃæÁ¿µÄÀàÐͼ´Îªint£¬
·ñÔòΪlongÐÍ¡£Ò»¸öÕûÐÍ×ÖÃæÁ¿¿Éͨ¹ý¼Óºó׺L»òl¶øÇ¿ÆȳÉlongÐÍ¡£
ÏÂÃæµÄ¾ùΪºÏ·¨µÄÕûÐÍ×ÖÃæÁ¿¡£
2 2L 0777
2.4.2 ¸¡µã×ÖÃæÁ¿
Ò»¸ö¸¡µã×ÖÃæÁ¿¿É°üÀ¨ÒÔϲ¿·Ö: Ò»¸öÊ®½øÖÆÕûÊý£¬Ò»¸öСÊýµã¡°.¡±£¬
СÊý²¿·Ö(ÁíÍâÒ»¸öÊ®½øÖÆÕûÊý)£¬Ö¸Êý²¿·Ö£¬Ò»¸öÀàÐͺó׺¡£Ö¸Êý²¿·Ö
ÊÇÒ»¸öe»òEºó¸úÒ»¸öÕûÊý¡£¸¡µã×ÖÃæÁ¿ÖÁÉÙ°üº¬ÓÐÒ»¸öÊý×Ö£¬Íâ¼Ó»ò
ÕßÒ»¸öСÊýµã»òÕßÒ»¸öe(»òE)£¬ÏÂÃæ¾ÙһЩ¸¡µã×ÖÃæÁ¿µÄÀý×Ó£º
3.1415 3.1E12 .1e12 2E12
¾ÍÏóÔÚºóÃæÃèÊöµÄÄÇÑù£¬JavaÓïÑÔÓÐÁ½ÖÖ¸¡µãÀàÐÍ£º float ¼°
double£¬Óû§¿É°´ÒÔÏÂд·¨Çø·Ö£º
2.0d»ò2.0D double ÐÍ
2.0f»ò2.0F»ò2.0 floatÐÍ
2.4.3 ²¼¶û×ÖÃæÁ¿
²¼¶û(boolean)×ÖÃæÁ¿ÓÐÁ½¸öÖµ£º true¼°false¡£
2.4.4 ×Ö·û×ÖÃæÁ¿
×Ö·û×ÖÃæÁ¿ÊÇÒ»¸öÓɵ¥ÒýºÅÀ¨ÆðµÄ×Ö·û(»òÕßÊÇÓÉÒ»×é×Ö·ûÀ´±íÊö
Ò»¸ö×Ö·û)¡£×Ö·ûÊôÓÚcharÀàÐÍ£¬²¢ÇÒ¾ù´Ó·º´úÂë×Ö·û¼¯ÖеÃÀ´¡£¶øÏÂÃæ
ÁгöµÄתÒåÐòÁÐÔòÓÃÀ´ÃèÊöһЩ·ÇͼÐÎ×Ö·û£¬ËüÃÇÒÔ·´Ð±¸Ü¡°\¡±¿ªÊ¼ÒÔ
×÷תÒåÓá£
ÐøÐзûÍ· <newline> \
»»ÐÐ NL(LF) \n
´¹Ö±ÖƱí·û HT \t
Í˸ñ BS \b
»Ø³µ CR \r
×ßÖ½»»Ò³ FF \f
·´Ð±¸Ü \ \\
µ¥ÒýºÅ ' \'
Ë«ÒýºÅ " \"
°Ë½øÖÆÊý 0ddd \ddd
Ê®Áù½øÖÆÊý 0xdd \xdd
·º´úÂë×Ö·û 0xdddd \udddd
2.4.5 ´®×ÖÃæÁ¿
´®×ÖÃæÁ¿ÊÇË«ÒýºÅÒýÆðµÄÁã¸ö»ò¶à¸ö×Ö·ûµÄÐòÁС£Ã¿¸ö´®×ÖÃæÁ¿±»
¿´×÷ÊÇÒ»¸ö´®¶ÔÏ󣬶ø²¢·ÇÊÇÒ»¸ö×Ö·ûµÄÊý×飬ÀýÈç¡°abc¡±´´½¨ÁËÒ»
¸öеĴ®ÀàµÄʵÀý¡£ÏÂÃæµÄ¶¼ÊǺϷ¨µÄ´®×ÖÃæÁ¿£º
" " \\¿Õ´®
"\" " \\Ö»°üº¬Ò»¸öË«ÒýºÅµÄ´®
"This is a string"
"This is a \
two-line string"
2.5 ÔËËã·û¼°ÌØÊâ·Ö¸ô·û
ÏÂÃæÕâЩ×Ö·ûÔÚJavaÔ´³ÌÐòÖÐ×÷ÔËËã·û»ò·Ö¸ô·ûÓãº
+ ¡ª ! % ^ & * £ü ¡« / > <
( ) { } [ ] ; ? : £¬¡¤ =
ÁíÍ⣬ÏÂÃæÕâЩ¸´ºÏ×Ö·û±»ÓÃ×÷ÔËËã·û£º
++ -- == <= >= != << >>
>>> += -= *= /= &= /=
^= %= <<= >>= >>>= ¡¬ &&
ºóÃ滹ҪÔÚÔËËã·ûÒ»½ÚÖÐ×÷Ïêϸ½éÉÜ¡£
3. ÀàÐÍ
ÈκÎÒ»¸ö±äÁ¿»ò±í´ïʽ¶¼ÓÐÒ»¸öÀàÐÍ£¬ÀàÐ;ö¶¨±äÁ¿¿ÉÄܵÄÈ¡Öµ·¶
Χ£¬¾ö¶¨¶ÔÕâЩֵÔÊÐíµÄ²Ù×÷£¬ÒÔ¼°ÕâЩ²Ù×÷µÄÒâÒåÊÇʲô¡£JavaÓïÑÔ
ÖÐÌṩÁËÄÚÖö¨ÒåÀàÐÍ£¬³ÌÐòÔ±Ò²¿ÉÒÔÀûÓÃÀ༰½çÃæ(interface)»úÖƹ¹Ôì
ÐÂÀàÐÍ¡£
JavaÓïÑÔÓÐÁ½ÖÖÀàÐÍ£º ¼òµ¥ÀàÐͺ͸´ºÏÀàÐÍ¡£¼òµ¥ÀàÐÍÖ¸ÄÇЩ²»ÄÜ
ÔÙ·Ö¸îµÄÔ×ÓÀàÐÍ¡£È磺ÕûÐÍ¡¢¸¡µãÐÍ¡¢²¼¶ûÐÍ¡¢×Ö·ûÐ;ùΪ¼òµ¥ÀàÐÍ¡£
¸´ºÏÀàÐͽ¨Á¢ÔÚ¼òµ¥ÀàÐ͵Ļù´¡ÉÏ¡£JavaÓïÑÔÓÐÈýÖÖ¸´ºÏÀàÐÍ£ºÊý×é¡¢
À༰½çÃæ¡£ÔÚ±¾½ÚÖУ¬ÎÒÃÇÖ÷ÒªÌÖÂÛ¼òµ¥ÀàÐͼ°Êý×é¡£
3.1 ÊýÖµÀàÐÍ
3.1.1 ÕûÊýÀàÐÍ
ÕûÊýÓëC¼°C++ÖÐÏàËÆ£¬µ«ÓÐÁ½µãÇø±ð£º ÆäÒ»£¬ËùÓеÄÕûÊýÀàÐÍ
¾ùÊǶÀÁ¢ÓÚ»úÆ÷µÄ£»Æä¶þ£¬¶ÔijЩ´«Í³µÄ¶¨Òå×÷³ö¸Ä±ä£¬ÒÔ·´Ó³×ÔCÎÊ
ÊÀÒÔÀ´Ëù´øÀ´µÄ±ä»¯£¬ËÄÖÖÕûÊýÀàÐÍ·Ö±ð¾ßÓÐ8λ¡¢16λ¡¢32λ¼°64
λµÄ¿í¶È£¬²¢ÇÒ¾ùÊÇÓзûºÅµÄ(signed)¡£ÈçÏÂËùʾ£º
¿í¶È
ÀàÐÍÃû
8
byte
16
short
32
int
64
long
Ò»¸ö±äÁ¿µÄÀàÐͲ»»áÖ±½ÓÓ°ÏìËüµÄ´æ´¢µÄ·ÖÅ䣬ÀàÐͽö½ö¾ö¶¨±äÁ¿
µÄËãÊõÐÔÖÊÒÔ¼°ºÏ·¨µÄÈ¡Öµ·¶Î§¡£Èç¹û°ÑÒ»¸ö³¬³öºÏ·¨·¶Î§µÄÖµ¸³¸øÒ»
±äÁ¿£¬ÄÇôÕâ¸öÖµ½«ÊǶԺϷ¨ÖµÓòÈ¡Ä£ºóµÄÖµ¡£
3.1.2 ¸¡µãÀàÐÍ
¹Ø¼ü×Öfloat±íʾµ¥¾«¶È(32λ)£¬¶ødoubleÔò±íʾ˫¾«¶È(64λ)£¬Á½
¸öfloatÐÍÊýÔËËãµÄ½á¹ûÈÔÊÇfloatÐÍ£¬ÈôÓÐÆäÖÐ֮һΪdoubleÐÍ£¬Ôò½á
¹ûΪdoubleÐÍ¡£¸¡µãÔËËã¼°Êý¾Ý¸ñʽ°´IEEE754ÖеĶ¨Ò壬ϸ½ÚÎÊÌâÇë
²ÎÔÄ ¡°¸½Â¼A£º ¸¡µã¡±ÖÐÓйظ¡µãʵÏÖµÄϸ½Ú¡£
3.1.3 ×Ö·ûÀàÐÍ
JavaÈ«²¿Ê¹Ó÷º´úÂë×Ö·û¼¯£¬Òò´ËcharÀàÐÍÊý¾Ý±»¶¨Òå³ÉÒ»¸ö16
λµÄÎÞ·ûºÅÕûÊý¡£
3.2 ²¼¶ûÀàÐÍ
µ±Ò»¸ö±äÁ¿µÄÈ¡Öµ»òΪture»òΪfalse£¬»òÕßÊǵ±Ò»¸ö·½·¨µÄ·µ»ØֵΪture»òfalseʱ£¬ËüÃ
Ƕ¼ÊDz¼¶ûÀàÐ͵ġ£ÁíÍ⣬¹ØϵÔËËãµÄ½á¹ûÒàÊDz¼
¶ûÐ͵ġ£
²¼¶ûÖµ²»ÊÇÊýÖµÐÍ£¬Òò´Ë²»ÄÜÓÃÇ¿ÖÆÀàÐÍת»»°ÑËüÃÇת»¯³ÉÊýÖµ¡£
3.3 Êý×é
Êý×éÔÚJavaÓïÑÔÖÐÊôµÚÒ»Àà¶ÔÏó¡£ÓÉËüÃÇ´úÌæÁËÖ¸ÕëÔËË㣬ËùÓеÄ
¶ÔÏó(°üÀ¨Êý×é)¶¼¿Éͨ¹ý±êʶÀ´ÒýÓ᣼´Ê¹±»µ±×÷ÊýÔËË㣬±êʶµÄÖµÒ²
²»Ó¦±»ÆÆ»µ¡£Í¨¹ýnewÔËËã·û¿É´´½¨Ò»¸öÊý×é¡£
char s[]=new char[30];
Êý×éµÚÒ»ÔªËصÄϱêΪ0£¬ÔÚÉùÃ÷ÖÐÖ¸¶¨Î¬ÊýÊDz»ÔÊÐíµÄ¡£Ã¿´Î¶¼
±ØÐëÏÔʽµØÓÃnew·ÖÅäÊý×飺
int i [] =new int [3];
JavaÓïÑÔ²»Ö§³Ö¶àάÊý×飬µ«ÊÇ£¬³ÌÐòԱȴ¿ÉÒÔ´´½¨Êý×éµÄÊý×é¡£
int i [ ] [ ]=new int [3][4];
ÖÁÉÙÓÐһάҪÃ÷È·¸ø¶¨£¬¶øÆäËüάÔò¿ÉÔÚÒÔºóÔÙÈ·¶¨¡£ÀýÈ磺
int i[] []=new int [3] [ ]
ÊÇÒ»¸öºÏ·¨µÄÉùÃ÷¡£
³ýÁËÔÚ±äÁ¿Ãû¼°·½·¨Ãûºó¸ú·½À¨ºÅÕâÖÖC·ç¸ñµÄÉùÃ÷Ö®Í⣬JavaÓï
ÑÔÔÊÐí·½À¨ºÅ¸úÔÚÊý×éÀàÐÍÖ®ºó£¬ÏÂÃæÁ½ÐÐÊǵȼ۵ģº
int iarray[ ];
int [ ] iarray;
ͬÑùµØ£¬·½·¨ÉùÃ÷Ò²Ò»Ñù£º
byte f(int n)[ ];
byte [ ] f(int n);
ÔËÐÐʱ¼ì²éϱ걣֤ËüÃÇÊǺϷ¨µÄ£º
int a[ ]=new int [10];
a[5]=1;
a[1]=a[0]+a[2];
a[-1]=4; // ÔËÐÐʱÒý·¢Ò»¸öArrayIndexOutOfBoundsException(Êý×éÏÂ
±êÔ½½ç)Òì³£
a[10]=2; //ÔËÐÐʱÒý·¢Ò»¸öArrayIndexOutOfBoundsException(Êý×éÏÂ
±êÔ½½ç)Òì³£
Êý×éµÄ´óС±ØÐëʹÓÃÕûÊý±í´ïʽ£º
int n;
float arr[ ]=new float[n+1]
Êý×éµÄ³¤¶È¿Éͨ¹ý.length ²éÕÒ£º
int a[] []=new int [10][3];
println (a.length) //´òÓ¡³ö10
println (a[0].length) //´òÓ¡³ö3¡£
3.3.1 Êý×éϸ½Ú
ÎÒÃÇËù¶¨ÒåµÄÊý×鶼ÊÇObjectÀàµÄÒ»¸ö×ÓÀàµÄʵÀý£¬ÔÚÀàµÄ²ã´Î½á
¹¹ÖÐÓÐÒ»¸ö±»³ÆΪArrayµÄ×ÓÀ࣬ËüÓÐÒ»¸öʵÀý±äÁ¿¡°length¡±¡£¶Ôÿ
Ò»¸ö»ù±¾ÀàÐÍ£¬¶¼ÓÐÒ»¸öÏàÓ¦µÄArrayµÄ×ÓÀࡣͬÀí£¬Ã¿Ò»¸öÀàÒ²¶¼ÓÐ
Ò»¸öÏàÓ¦µÄArray×ÓÀà´æÔÚ¡£ÀýÈ磺 new Thread[n] ´´½¨Ò»¸öThread[ ]
µÄʵÀý¡£Èç¹ûÀàAÊÇÀàBµÄ³¬À࣬ÄÇô£¬A[]ÊÇB[]µÄ³¬À࣬¼ûÏÂͼ£º
Object
Array A
int[] float[] A[] B
B[]
Òò´Ë£¬¿ÉÒÔ°ÑÊý×鸳¸øÒ»¸öObject±äÁ¿¡£
Object o;
int a[]=new int [10];
o=a;
²¢ÇÒ¿Éͨ¹ýÇ¿ÖÆÀàÐÍת»»°Ñobject±äÁ¿¸³¸øÒ»Êý×é±äÁ¿¡£
a=(int [])o;
ArrayÀà±¾Éí²»ÄÜÏÔʽµØ²úÉú×ÓÀà¡£
--
¡ù À´Ô´:£®×϶¡Ïã pclinux.hit.edu.cn£®[FROM: zzz.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º3.464ºÁÃë