java±àÂë¹æ·¶_ÉùÃ÷ºÍÓï¾ä
1. ÉùÃ÷(Declarations)
5.1 ÿÐÐÉùÃ÷±äÁ¿µÄÊýÁ¿(Number Per Line)
ÍÆ¼öÒ»ÐÐÒ»¸öÉùÃ÷£¬ÒòΪÕâÑùÒÔÀûÓÚдעÊÍ¡£Ò༴£¬
int level; // indentation level
int size; // size of table
ÒªÓÅÓÚ£¬
int level, size;
²»Òª½«²»Í¬ÀàÐͱäÁ¿µÄÉùÃ÷·ÅÔÚͬһÐУ¬ÀýÈ磺
int foo, fooarray[]; //WRONG!
×¢Ò⣺ÉÏÃæµÄÀý×ÓÖУ¬ÔÚÀàÐͺͱêʶ·ûÖ®¼ä·ÅÁËÒ»¸ö¿Õ¸ñ£¬ÁíÒ»ÖÖ±»ÔÊÐíµÄÌæ´ú·½Ê½ÊÇʹÓÃÖÆ±í·û£º
int level; // indentation level
int size; // size of table
Object currentEntry; // currently selected table entry
5.2 ³õʼ»¯(Initialization)
¾¡Á¿ÔÚÉùÃ÷¾Ö²¿±äÁ¿µÄͬʱ³õʼ»¯¡£Î¨Ò»²»Õâô×öµÄÀíÓÉÊDZäÁ¿µÄ³õʼֵÒÀÀµÓÚijЩÏÈǰ·¢ÉúµÄ¼ÆËã¡£
5.3 ²¼¾Ö(Placement)
Ö»ÔÚ´úÂë¿éµÄ¿ªÊ¼´¦ÉùÃ÷±äÁ¿¡££¨Ò»¸ö¿éÊÇÖ¸Èκα»°üº¬ÔÚ´óÀ¨ºÅ"{"ºÍ"}"ÖмäµÄ´úÂë¡££©²»ÒªÔÚÊ×´ÎÓõ½¸Ã±äÁ¿Ê±²ÅÉùÃ÷Ö®¡£Õâ»á°Ñ×¢ÒâÁ¦²»¼¯ÖеijÌÐòÔ±¸ãºýÍ¿£¬Í¬Ê±»á·Á°´úÂëÔÚÛò×÷ÓÃÓòÄڵĿÉÒÆÖ²ÐÔ¡£
void myMethod() {
int int1 = 0; // beginning of method block
if (condition) {
int int2 = 0; // beginning of "if" block
...
}
}
¸Ã¹æÔòµÄÒ»¸öÀýÍâÊÇforÑ»·µÄË÷Òý±äÁ¿
for (int i = 0; i < maxLoops; i++) { ... }
±ÜÃâÉùÃ÷µÄ¾Ö²¿±äÁ¿¸²¸ÇÉÏÒ»¼¶ÉùÃ÷µÄ±äÁ¿¡£ÀýÈ磬²»ÒªÔÚÄÚ²¿´úÂë¿éÖÐÉùÃ÷ÏàͬµÄ±äÁ¿Ãû£º
int count;
...
myMethod() {
if (condition) {
int count = 0; // AVOID!
...
}
...
}
5.4 ÀàºÍ½Ó¿ÚµÄÉùÃ÷(Class and Interface Declarations)
µ±±àдÀàºÍ½Ó¿ÚÊÇ£¬Ó¦¸Ã×ñÊØÒÔϸñʽ¹æÔò£º
·ÔÚ·½·¨ÃûÓëÆä²ÎÊýÁбí֮ǰµÄ×óÀ¨ºÅ“(”¼ä²»ÒªÓпոñ¡£
·×ó´óÀ¨ºÅ“{”λÓÚÉùÃ÷Óï¾äͬÐеÄĩβ¡£
·ÓÒ´óÀ¨ºÅ“}”ÁíÆðÒ»ÐУ¬ÓëÏàÓ¦µÄÉùÃ÷Óï¾ä¶ÔÆë£¬³ý·ÇÊÇÒ»¸ö¿ÕÓï¾ä£¬“{”Ó¦½ô¸úÔÚ“{”Ö®ºó¡£
class Sample extends Object {
int ivar1;
int ivar2;
Sample(int i, int j) {
ivar1 = i;
ivar2 = j;
}
int emptyMethod() {}
...
} //·½·¨Óë·½·¨Ö®¼äÒÔ¿ÕÐзָô¡£
}
2. Óï¾ä(Statements)
6.1 ¼òµ¥Óï¾ä(Simple Statements)
ÿÐÐÖÁ¶à°üº¬Ò»
Ïà¹ØÎĵµ£º
class Super { static int taxi = 1729; }
class Sub extends Super {
static { System.out.print("Sub "); }
}
class Test {
public static void main(String[] args) {
System.out.println(Sub.taxi);
}
}
Êä³ö£º1729
֪ʶҪµã£º
A reference to a class field causes initialization of ......
/************************************************
MD5 Ëã·¨µÄJava Bean
*************************************************/
package beartool;
import java.lang.reflect.*;
public class MD5 {
/* ÏÂÃæÕâЩS11-S44ʵ¼ÊÉÏÊÇÒ»¸ö4*4µÄ¾ ......
ÔÚDevoxx 2009£¨Ò»ÄêÒ»¶ÈµÄJavaÉçÇø´ó»á£¬½ñÄêÔÚ11ÔÂ16-20ÈÕ¾ÙÐУ©ÉÏ£¬SunÐû²¼½«ÔÚJDK 7ÖÐÔö¼Ó±Õ°ü¹¦ÄÜ¡£Õâ¸ö¹¦ÄܵÄÌí¼Ó½«´ÓFCM v0.5£¨First-Class Methods£¬µÚÒ»Àà·½·¨£©µÄÓï·¨ºÍÓïÒ⿪ʼ×ÅÊÖ¡£FCMÓëJCAÔ±¾Ò»Í¬±»Ìá½»£¬È»¶øSunÐû²¼JCA½«²»ÔÚJDK 7Öп¼ÂÇ¡£
ͬʱ£¬Sun±íʾJava 7µÄ·¢²¼Ê±¼ä½«±»ÍƳÙÖÁ2010Äêµ×¡£ ......
ÐòÁл¯µÄ¹ý³Ì¾ÍÊǽ«¶ÔÏóдÈë×Ö½ÚÁ÷ºÍ´Ó×Ö½ÚÁ÷ÖжÁÈ¡¶ÔÏó¡£½«¶ÔÏó״̬ת»»³É×Ö½ÚÁ÷Ö®ºó£¬¿ÉÒÔÓÃjava.io°üÖеĸ÷ÖÖ×Ö½ÚÁ÷ÀཫÆä±£´æµ½ÎļþÖУ¬¿ÉÒÔͨ¹ý¹ÜµÀ»òÏ̶߳ÁÈ¡£¬»òͨ¹ýÍøÂçÁ¬½Ó½«¶ÔÏóÊý¾Ý·¢Ë͵½ÁíÒ»Ö÷»ú¡£¶ÔÏóÐòÁл¯¹¦Äܷdz£¼òµ¥¡¢Ç¿´ó£¬ÔÚRMI¡¢Socket¡¢JMS¡¢EJB¶¼ÓÐÓ¦Ó᣶ÔÏóÐòÁл¯ÎÊÌâÔÚÍøÂç±à³ÌÖв¢²»ÊÇ×¶¯ÈË ......
1. Ëõ½øÅŰæ(Indentation)
4¸ö¿Õ¸ñ³£±»×÷ΪËõ½øÅŰæµÄÒ»¸öµ¥Î»¡£Ëõ½øµÄÈ·ÇнâÊͲ¢Î´Ïêϸָ¶¨(¿Õ¸ñ vs. ÖÆ±í·û)¡£Ò»¸öÖÆ±í·ûµÈÓÚn¸ö¿Õ¸ñ(ÊÓ¾ßÌåµÄ±à¼Æ÷¶ø¶¨£¬EclipseĬÈÏÒ»¸öÖÆ±í·ûΪ4¸ö×Ö·û)¡£
3.1 Ð㤶È(Line Length)
¾¡Á¿±ÜÃâÒ»Ðеij¤¶È³¬¹ý80¸ö×Ö·û£¬ÒòΪºÜ ......