J2SEï¼Java 2 Platformï¼Standard Edittion(Java 2 平å°ï¼æ åçæ¬)ï¼å å«javaæ ¸å¿ç±»åGUIç±»
J2EEï¼Java 2 Platformï¼Enterprise Edition(Java 2 平å°ï¼ä¼ä¸çæ¬)ï¼å å«å¼ååºäºwebçåºç¨ç¨åºçç±»åæ¥å£ï¼å¦ServletãJava Server Pages以åEnterprise JavaBeansçã
J2MEï¼Java 2 Plateformï¼Micro Edition(Java 2 平å°ï¼å¾®è§ç)ï¼å å«å¯¹ä¼ å¼æºï¼ç§»å¨çµè¯ï¼æä¸çµèï¼æ±½è½¦å¯¼èªç³»ç»æå ¶ä»æ 线设å¤ç产åæä¾ä¼åçè¿è¡æ¶ç¯å¢ã
Â
JRE(Java Runtime Environment)ï¼JavaèææºåAPIã
java.lang:è¿ä¸ªæ¯ç³»ç»çåºç¡ç±»ï¼æ¯å¦Stringçé½æ¯è¿éé¢çï¼è¿ä¸ªå æ¯å¯ä¸ä¸ä¸ªå¯ä»¥ä¸ç¨å¼å ¥(import)å°±å¯ä»¥ä½¿ç¨çå ã
java.io:è¿éé¢æ¯ææè¾å ¥è¾åºæå ³çç±»ï¼æ¯å¦æ件æä½çã
java.nio:为äºå®åioå ä¸çåè½ï¼æé«ioå ä¸æ§è½èåçä¸ä¸ªæ°å ï¼ä¾å¦NIOéå µå¡åºç¨ã
java.net:è¿éé¢æ¯ä¸ç½ç»æå ³çç±»ï¼æ¯å¦URLï¼URLConnectionçã
java.util:è¿ä¸ªæ¯ç³»ç»è¾ å©ç±»ï¼ç¹å«æ¯éåç±»Collectionï¼Listï¼Mapçã
java.sql:è¿ä¸ªæ¯æ°æ®åºæä½çç±»ï¼Connectionï¼Â Statementï¼ResultSetçã
javax.servlet:è¿ä¸ªæ¯JSPï¼Servletç使ç¨å°çç±»ã
java.awt: å å«ç¨äºå建ç¨æ·çé¢åç»å¶å¾å½¢å¾åçææç±»ã
java.awt.event:æä¾å¤çç±Â AWT ç»ä»¶ææ¿åçåç±»äºä»¶çæ¥å£åç±»ã
java.applet:ç¨äºå®ç°è¿è¡äºInternetæµè§å¨ä¸çJava Appletçå·¥å ·ç±»åºã
Â
Sunå ¬å¸ï¼Appletå°åºç¨ç¨åºæ¯éç¨Javaç¼ç¨è¯è¨ç¼åçç¨åºï¼è¯¥ç¨åºå¯ä»¥å å«å¨HTMLï¼æ åéç¨æ è®°è¯è¨çä¸ä¸ªåºç¨ï¼é¡µä¸ï¼ä¸å¨é¡µä¸å å«å¾åçæ¹å¼å¤§è´ç¸åã
Â
Microsoftå ¬å¸ï¼ActiveX æ¯ä¸ä¸ªå¼æ¾çéæå¹³å°ï¼ä¸ºå¼å人åãç¨æ·å Webç产åæä¾äºä¸ä¸ªå¿«éèç®ä¾¿çå¨Â Internet å Intranet å建ç¨åºéæåå 容çæ¹æ³ã 使ç¨Â ActiveX, å¯è½»æ¾æ¹ä¾¿çå¨Â Web页ä¸æå ¥ å¤åªä½ææã 交äºå¼å¯¹è±¡ã以åå¤æç¨åºï¼å建ç¨æ·ä½éªç¸å½çé«è´¨éå¤åªä½CD-ROM ã
Â
Javaç¼è¯å¨javac.exeï¼java解éå¨java.exeã
Â
Javaç¨åºæ3ç§æ§è¡ç¯å¢ï¼
a.è½å¤åç¬è¿è¡çç¨åºï¼ç§°ä¸ºJava Application(Javaåºç¨ç¨åº)
b.å¨Internetæµè§å¨ä¸è¿è¡çç¨åºï¼ç§°ä¸ºJava Applet(Javaå°åºç¨ç¨åº)ã
c.å¨Webæå¡å¨ç«¯è¿è¡çç¨åºï¼ç§°ä¸ºJava ServletãServletå®é ä¸æ¯è¿è¡å¨Webæå¡å¨ä¸çåºç¨ç¨åºï¼å®ä¸åè®®åå¹³å°æ å ³ã
Â
以ä¸å 容æ¯è¾JavaåC#çå·®å«ï¼
1ã Java 使ç¨Â importå¯¼å ¥å½å空é´ãåC#çusingå ³é®åã
Â
2ã extendsæ¯ç¨äºç»§æ¿ç±»çå ³é®åï¼implementsæ¯ç¨äºå®ç°æ¥å£çå ³é®åãC#é½æ¯ç¨åå·ã
   Â
3ã Iãclassç±»ç访é®æ§å¶ç¬¦ï¼publicãprotectedãprivateãfriendly(é»è®¤)
é»è®¤å¯ä»¥ç§°ä¸ºfriendlyä½æ¯ï¼javaè¯è¨ä¸æ¯æ²¡æfriendlyè¿ä¸ªä¿®é¥°ç¬¦çï¼è¿æ ·ç§°å¼åºè¯¥æ¯æ¥æºäºc++ãé»è®¤ç访é®æéæ¯å 级访é®æéãå³å¦æåäºä¸ä¸ªç±»æ²¡æå访é®æé修饰符ï¼é£ä¹å°±æ¯é»è®¤ç访é®æéï¼åä¸ä¸ªå ä¸çç±»é½å¯ä»¥è®¿é®å°ï¼å³ä½¿å¯ä»¥å®ä¾å该类ï¼å½ç¶å¦æè¿ä¸ªç±»ä¸å ·æå®ä¾åçè½åé¤å¤ï¼æ¯å¦è¯¥ç±»æ²¡ææä¾publicçæé å½æ°ï¼ã
Â
publicï¼å¯ä»¥ä¾ææç类访é®ã
说æï¼
aãæ¯ä¸ªç¼è¯åå ï¼ç±»æ件ï¼é½ä» è½æä¸ä¸ªpublic class ã
bãpublic classçå称ï¼å å«å¤§å°åï¼å¿ é¡»åå ¶ç±»æ件ååã
cãä¸ä¸ªç±»æ件(*.java)ä¸å¯ä»¥ä¸åå¨public classãè¿ç§å½¢å¼çåå¨çåºæ¯ï¼å¦ææ们å¨æ个å å æ°åä¸ä¸ªclassï¼ä» ä» æ¯ä¸ºäºé ååå å çå ¶ä»ç±»å·¥ä½ã
dãclassä¸å¯ä»¥æ¯privateåprotectedã
eãå¦æä¸å¸æé£ä¸ªä»»ä½äº§çæ个classç对象ï¼å¯ä»¥å°è¯¥ç±»å¾æææé å½æ°è®¾ç½®æprivateãä½æ¯å³ä½¿è¿æ ·ä¹å¯ä»¥çæ该类ç对象ï¼å°±æ¯classç staticçæåï¼å±æ§åæ¹æ³ï¼å¯ä»¥åå°ã
protectedï¼ä¿®é¥°ç类为ä¿æ¤ç±»ï¼å¯ä»¥åå ç±»åå¼å 类访é®ã
privateï¼ä¿®é¥°ç类为ç§æç±»ï¼å¤çæ æ³è®¿é®ã
Â
IIãclassçé访é®æ§å¶ç¬¦ï¼abstractï¼final(修饰çç±»å称æç»ç±»)ï¼
C#çå¯å°ç±»ä½¿ç¨sealedå ³é®åã
Â
java ä¸çéæç±»è½å¦å®ä¾åï¼åè§å¦ä¸ä»£ç ï¼
public class A { public class B{}} å®ä¾åBï¼A a = new A(); B b = a.new B();
public class A { public static class B{}} å®ä¾åBï¼B b = new A.B();
Â
4ã æ½è±¡ç±»ä¸ä¸ä¸å®å å«æ½è±¡æ¹æ³ï¼ä½æ¯ä¸æ¦æ个类ä¸è¯´æäºæ½è±¡æ¹æ³ï¼è¯¥ç±»å¿ 须说æ为æ½è±¡ç±»ãåC#ä¸æ ·ã
5ã C#æ¥å£æ¹æ³é»è®¤æ¯publicçï¼å£°æä¸ä¸éè¦å使ç¨public 修饰符ï¼å¦åç¼è¯ä¼æ¥éï¼ä½æ¯javaé»è®¤ä¹æ¯publicçï¼ä½æ¯å³ä½¿æ·»å 修饰符ä¹ä¸æ¥éã
Â
6ã 类æååéç访é®æéï¼
访é®æ§å¶ç¬¦ï¼publicãprotectedãprivate
publicï¼ç´§æ¥publicçå±æ§ä»»ä½ç±»é½å¯ä»¥è®¿é®å°ãä½æ¯ä»ç±»çå°è£ æ§ä¸æ¥èèå°ä¸ä¸ªç±»çå±æ§å®ä¹æpublicä¸è¬å¾å°ä½¿ç¨ï¼ å¨å®ä¹éæ常éçæ¶åéç ä¼è¿æ ·å®ä¹ã
å¦ï¼public static final int PAGE_SIZE=10;
privateï¼åªæç±»æ¬èº«å é¨çæ¹æ³å¯ä»¥è®¿é®ç±»çprivateå±æ§ï¼å½ç¶å é¨ç±»ä¹å¯ä»¥è®¿é®å ¶å¤é¨ç±»çprivateæåçãï¼å±æ§åæ¹æ³ï¼
é»è®¤ï¼friendlyï¼ï¼å 级å¯è§ï¼åä¸ä¸ªå å çç±»å¯ä»¥è®¿é®å°è¿ä¸ªå±æ§ä½æ¯ä»ç±»çå°è£ æ§ç¹æ§æ¥è¯´å¾å°è¿æ ·ä½¿ç¨ç±»çå±æ§çã
protectedï¼å ³é®åæå¤ççæ¯æè°â继æ¿âçè§å¿µã对äºåä¸å çå ¶ä»ç±»ï¼protectedï¼é»è®¤ï¼å¯¹äºä¸åå çç±»ï¼å¦æåå¨ç»§æ¿å ³ç³»ï¼ èbaseClassåå¨protectedå±æ§ï¼åå¯ä»¥è¢«å ¶èªç»§æ¿ï¼èä¸åå çå ¶ä»ç±»åä¸è½è®¿é®ç±»çprotectedå±æ§ã
é访é®æ§å¶ç¬¦ï¼staticåfinalã
使ç¨å ³é®åfinal声æçæååéæ为æç»åéï¼æ´ç¡®åå°è¯´æ¯å¸¸éãåC#çconstã
ç¨final修饰符声æ常éæ¶ï¼éè¦è¯´æ常éçæ°æ®ç±»å并è¦åå§åå ·ä½çæ°å¼ãå¦å¤å 为ææ类对象ç常éæ°æ®æåæ°å¼é½ä¸æ ·ï¼ä¸ºäºèçå å空é´ï¼å¸¸éé常声æ为staticã
C#注æconståstatic readonlyçåºå«ï¼constçå¼æ¯å¨ç¼è¯æé´ç¡®å®çï¼å æ¤åªè½å¨å£°ææ¶éè¿å¸¸é表达å¼æå®å ¶å¼ãèstatic readonlyæ¯å¨è¿è¡æ¶è®¡ç®åºå ¶å¼çï¼æ以è¿å¯ä»¥éè¿éææé å½æ°æ¥èµå¼ã
Â
7ã javaä¸æ²¡æéææé å½æ°ï¼javaä¸æ²¡æå±æ§ä¹æ²¡æç¹æ§ï¼javaä¸æ²¡æå§æã
Â
8ã 类æåæ¹æ³ç访é®æéï¼
访é®æ§å¶ç¬¦publicãprotectedåprivate
é访é®æ§å¶ç¬¦staticãabstractãfinalãnativeãsynchronizedã
final:æç»æ¹æ³ä½¿å¾åç±»ä¸è½éæ°å®ä¹ä¸ç¶ç±»ååçæ¹æ³ã
native:å 为nativeæ¹æ³çæ¹æ³ä½æ¯ç¨å ¶ä»è¯è¨å¨javaç¨åºå¤é¨å®ç°çï¼æ以nativeæ¹æ³æ²¡ææ¹æ³ä½ï¼ç¨ä¸ä¸ªåå·ç»æã
ä¾ï¼public static native void nativeMessage();å®é ä¸è¯¥æ¹æ³æ¯ç¨å ¶ä»è¯è¨ç¼åçã类似C#çæ¯ç¨DllImportï¼
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr CallWindowProc(IntPtr wndProc, IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
synchronizedï¼è¯¥æ¹æ³ä¸»è¦ç¨äºå¤çº¿ç¨ç¨åºä¸ç线ç¨åè°ååæ¥ã
Â
9ã Javaçæ°ç»è½å¤æç §ä»¥ä¸æ¹å¼å®ä¹ï¼
int[] list = new int[6];
int list[] = new int[6];
C#åªè½è¿æ ·å®ä¹ï¼int[] list = new int[6];
Â
10ãå ³äºå¼å¸¸å¤çï¼å¦æä¸ä¸ªjavaæ¹æ³éè¦æåºå¼å¸¸ï¼åå¿ é¡»å¨æ¹æ³å£°æä¸ä½¿ç¨throwså ³é®åãå ¶è¯æ³å½¢å¼ä¸ºï¼
return-type methodName(parameterList) throws exceptionList{ ⦠}
Javaæåºçå¼å¸¸ä¼æ²¿çæ¹æ³è°ç¨çå±æ¬¡ç»æä¸ç´ä¼ éå°å ·å¤å¤çè½åçè°ç¨æ¹æ³ï¼æé«å±æ¬¡å°main()æ¹æ³ä¸ºæ¢ãå¦æå¼å¸¸ä¼ éå°main()æ¹æ³ï¼èmain()ä¸å ·å¤å¤çè½åï¼ä¹æ²¡æéè¿throws声ææåºè¯¥å¼å¸¸ï¼å°å¯è½åºç°ç¼è¯é误ï¼æè 导è´ç¨åºå¼å¸¸ç»æ¢ã
Â
C#åä¸ç¨å¨æ¹æ³å£°æä¸ä½¿ç¨ä»»ä½å ³é®åï¼æåºåå¦æè°ç¨çæ¹æ³æå¼å¸¸æè·åè¿è¡æè·ï¼å¦ååä¸ç»§ç»æåºã
Â
11ãå ³äºå°å ¶ä»ç±»å(éå符串类å)转å为å符串ï¼
java使ç¨å¦ä¸éææ¹æ³ï¼public static String valueOf(type variable)
C#åç´æ¥ä½¿ç¨ToString()æ¹å¼ã
Â
12ãå ³äºè°ç¨ç¶ç±»æ¹æ³åæé å½æ°ï¼java使ç¨superï¼C#使ç¨baseå ³é®åã
Â
13ãjavaä¸æ¥å£çå®ä¹å¯ä»¥ä½¿ç¨publicå abstract修饰符ï¼å¦ï¼
interface Pet {Â Â public abstract void speak();Â Â }
C#ä¸ä¸è½è¿ä¹å®ä¹ï¼åªè½æä¸åæ¹å¼ï¼interface Pet{  void speak();  }
Â
14ãå ³äºObjectç±»ï¼
javaå æ¬7个publicç±»åçï¼2个protectedç±»åçã
objectç±»ä¸ç7个publicç±»åçæ¹æ³åå«æ¯toString()ãequals()ãgetClass()ã
hashCode()ãnotify()ãnofifyAll()åwait()æ¹æ³ã
2个protectedæ¹æ³clone()ãfinalize()æ¹æ³ã
éè¦æ³¨æçæ¯ï¼getClass()ãnotify()ãnotifyAll()ãwait()æ¹æ³å¨Objectç±»ä¸å·²ç»å®ä¹æ为finalç±»åï¼å³è¿4个æ¹æ³é½æ¯æç»æ¹æ³ï¼æ以å¨ç¨æ·èªå·±å®ä¹çç±»ä¸ä¸è½éåè¿4个æ¹æ³ã
C#ä¸çobjectç±»:å å«ä¸¤ä¸ªéææ¹æ³ï¼Equalsï¼ReferenceEqualsï¼å 个å®ä¾æ¹æ³ï¼å ¶ä¸æ4个publicç±»åçæ¹æ³åå«æ¯ToString()ãEquals()ãGetType()ãGetHashCode()æ¹æ³ã2个protectedæ¹æ³MemberwiseClone()ãFinalize()æ¹æ³ã
Â
15ãjavaä¸çå¤çº¿ç¨ä½¿ç¨ï¼
aã继æ¿Threadç±»:extending the class Thread.
bãå®ç°Runnableæ¥å£:implementing the interface Runnable.
     C#ä¸å¤çº¿ç¨ç使ç¨ï¼
Thread thread = new Thread(new ThreadStart(MethodName));
thread.Start();
Â
16ãjavaä¸çº¿ç¨åæ¥ä½¿ç¨synchronizedï¼
     以ä¸æ¹æ³çåï¼
(1)ãpublic synchronized void methodName(){ }
(2)ãpublic void methodName(){ synchronized (this){ } }Â Â Â Â Â Â Â
     C#ä¸çº¿ç¨åæ¥ä½¿ç¨lockå ³é®åã
Â
17ãjavaä¸ç线ç¨é信使ç¨Â wait()ãnotify()ånotifyAll()æ¹æ³ï¼è¿ä¸ä¸ªæ¹æ³ç¨äºåè°å¤ä¸ªçº¿ç¨å¯¹å ±äº«æ°æ®çååï¼æä»¥å¿ é¡»å¨synchronizedè¯å¥åå 使ç¨ã
C#ä¸ç线ç¨é信使ç¨Wait()ãPulse()ãPulseAll()æ¹æ³ï¼åjavaï¼è¿ä¸ä¸ªæ¹æ³å¿ é¡»ä»åæ¥ç代ç åå è°ç¨ã
Â
18ãjavaä¸Threadç±»çyield()æ¹æ³å¯ä»¥ç¨æ¥ä½¿å ·æç¸åä¼å 级ç线ç¨è·åæ§è¡çæºä¼ãå¦æå ·æç¸åä¼å 级ç线ç¨æ¯å¯è¿è¡çï¼yield()å°æè°ç¨çº¿ç¨æ¾å°å¯è¿è¡éå并使å¦ä¸ä¸ªçº¿ç¨è¿è¡ãå¦æ没æç¸åä¼å 级çå¯è¿è¡è¿ç¨ï¼yield()ä»ä¹é½ä¸åã注æï¼sleep()è°ç¨ä¼ç»è¾ä½ä¼å 级线ç¨ä¸ä¸ªè¿è¡æºä¼ãyield()æ¹æ³åªä¼ç»ç¸åä¼å 级线ç¨ä¸ä¸ªæ§è¡çæºä¼ã
    C#没ææ¤æ¹æ³ã
    javaä¸çjoin()æ¹æ³åC#çJoin()æ¹æ³ã
19ãjavaçå¾å½¢çé¢ï¼
    (1)ãTextField(åè¡ææ¬)ãTextArea(å¤è¡ææ¬)继æ¿èªTextComponentï¼å继æ¿äºComponentï¼ååºäºä»¶ActionListenerã
   (2)ãButtonç´æ¥æ´¾çè³Componentï¼æé®çäºä»¶ç¸åºActionListenerã
   (3)ãCheckboxç´æ¥æ´¾çè³Componentï¼å°å¤ä¸ªCheckboxæ¾å ¥CheckboxGroupä¸è¡¨ç°ä¸ºåéçè¡ä¸ºï¼ç¸åºäºä»¶ä¸ºItemListenerã
   (4)ãContaineræ¯ä¸ä¸ªå®¹å¨ç±»ï¼æ´¾çè³Component
   (5)ãé¢æ¿Panelæ¯javaä¸æéç¨ç容å¨ï¼å®ç´æ¥ç»§æ¿äºContainer
   (6)ãç»å¸Canvasç±»æ¯ä¸ä¸ªæ²¡æç¹æ®åè½çç»ä»¶ï¼ç»§æ¿äºComponent
   (7)ãçªå£Windowæ¯ä¸ªéç¨å®¹å¨ç±»ï¼æ´¾çè³Containerï¼ä¸Panelä¸åçæ¯ï¼Windowæä¸ä¸ªç¬ç«äºWebæµè§å¨æappletviewerçªå£ççªå£ãWindowç常ç¨åç±»ï¼FrameãDialogãFileDialogã
   (8)ãFrameæ¯ä¸ä¸ªå¸¦ææ é¢å缩æ¾è§ççªå£ï¼æèªå·±çå¤è¾¹æ¡åæ é¢ï¼å建Frameæ¶å¯ä»¥æå®å ¶çªå£æ é¢ãçªå£äºä»¶WindowListenerã
   (9)ãèåæ¡MenuBar æ¯ä¸ç§æ°´å¹³èåï¼å®åªè½è¢«æ·»å å°Frame对象ä¸ï¼ä½ä¸ºæ´ä¸ªèåæ çæ ¹åºãå ¶ä¸»è¦åè½æ¯è¢«ç¨æ¥æ¾ç½®Menuç»ä»¶ã
        èåMenuç±»ç主è¦åè½æ¯è¢«ç¨æ¥æ¾ç½®MenuItemãMenuShortCutçç»ä»¶ï¼å®å¯ä»¥è¢«æ·»å å°MenuBarä¸æå ¶ä»Menuä¸ã
        èå项MenuItemæ¯èåæ çææ¬å¶åï¼èå项é常被添å å°ä¸ä¸ªèåä¸ã对äºMenuItem对象å¯ä»¥æ·»å ActionListenerï¼ä½¿å ¶è½å¤å®æç¸åºçæä½ã
        MenuBaråMenué½æ²¡æå¿ è¦æ³¨åçå¬å¨ï¼åªéè¦å¯¹MenuItemæ·»å çå¬å¨ActionListenerã
   (10)ãå¸å±è®¾è®¡ï¼FlowLayout,BorderLayout,CardLayout,GridLayout
         FlowLayoutæ¯PanelãAppletçé»è®¤å¸å±ç®¡çå¨ã
         BorderLayoutæ¯WindowãFrameåDialogçé»è®¤å¸å±ç®¡çå¨ã
 Â
20ãjavaçäºä»¶å¤ç模å
   äºä»¶ç±»å |    æ¥å£å |              æ¹æ³ |
ActionEvent | ActionListener | actionPerformed(ActionEvent e) |
ItemEvent | ItemListener | itemStateChange(ItemEvent e) |
MouseEvent | MouseMotionListener | mouseDragged(MouseEvent e) |
mouseMoved(MouseEvent e) | ||
MouseListener | mouseClicked(MouseEvent e) | |
mouseEntered(MouseEvent e) | ||
mouseExited(MouseEvent e) | ||
mousePressed(MouseEvent e) | ||
mouseReleased(MouseEvent e) | ||
KeyEvent | KeyListener | keyPressed(KeyEvent e) |
keyReleased(KeyEvent e) | ||
keyTyped(KeyEvent e) | ||
FocusEvent | FocusListener | focusGained(FocusEvent e) |
focusLost(FocusEvent e) | ||
AdjustmentEvent | AdjustmentListener | adjustmentValueChanged(AdjustmentEvent e) |
WindowEvent | WindowListener | windowActivated(WindowEvent e) |
windowClosed(WindowEvent e) | ||
windowClosing(WindowEvent e) | ||
windowDeactivated (WindowEvent e) | ||
windowDeiconified(WindowEvent e) | ||
windowIconified(WindowEvent e) | ||
windowOpened(WindowEvent e) | ||
TextEvent | TextListener | textValueChanged(TextEvent  e) |
Â
21ãå ³äºjavaä¸çéå主è¦æï¼ListãSetãMapæ¯è¿ä¸ªéåä½ç³»ä¸æ主è¦çä¸ä¸ªæ¥å£ã
Â Â Â å ¶ä¸ListåSet继æ¿èªCollectionæ¥å£ã
   Setä¸å 许å ç´ éå¤ãHashSetåTreeSetæ¯ä¸¤ä¸ªä¸»è¦çå®ç°ç±»ã
   Listæåºä¸å 许å ç´ éå¤ãArrayListãLinkedListåVectoræ¯ä¸ä¸ªä¸»è¦çå®ç°ç±»ã
   Mapä¹å±äºéåç³»ç»ï¼ä½åCollectionæ¥å£ä¸åãMapæ¯key对valueçæ å°éåï¼
Â Â å ¶ä¸keyåå°±æ¯ä¸ä¸ªéåãkeyä¸è½éå¤ï¼ä½æ¯valueå¯ä»¥éå¤ãHashMapãTreeMapå
  Hashtableæ¯ä¸ä¸ªä¸»è¦çå®ç°ç±»ã
   SortedSetåSortedMapæ¥å£å¯¹å ç´ ææå®è§åæåºï¼SortedMapæ¯å¯¹keyåè¿è¡æåºã  Â
   .Net常ç¨ççéåæï¼List<T>, Dictionary<TKey,TValue>, Hashtable, ArrayList,          Â
   SortedList, SortedDictionary<TKey,TValue>
Â
22ãå ³äºforåforeachï¼
   å¨javaä¸foreachæ¯JAVA 5æ¨åºçç¹æ§ã
主è¦ç¨äºarrayåcollectionç±»åã
1.ç¨äºarray:
for (type var : arr) {
        body-of-loop
}
//çä»·äº
for (int i = 0; i < arr.length(); i++) {
        body-of-loop
}
2.ç¨äºcolloection:
for (type var : coll) {
        body-of-loop
}
//çä»·äº
for (Iterator<TYPE> iter = coll.iterator(); iter.hasNext();) {
        type arr = iter.next();
        body-of-loop
}
å¨.netä¸ï¼forä¸javaä¸æ ·ï¼foreach使ç¨inå ³é®åã
for (type var in arr) {
        body-of-loop
}
Â
23.javaä¸æ2个æ°æ®ç±»åçåæ³ä¸.netä¸ä¸æ ·ï¼ä¸ä¸ªæ¯å符类åï¼ä¸ä¸ªæ¯å¸å°ç±»åã
  Javaä¸ä½¿ç¨Stringåbooleanï¼
.net使ç¨Stringæstring(stringæ¯Stringçå«åï¼å¤§å°åé½å¯ä»¥)åboolã
Â
24.å ³äºè¿ä»£å¨ï¼javaä¸ä½¿ç¨Iteratorï¼.Net使ç¨IEnumeratorã
  java使ç¨å¦ä¸æ¹å¼éå:
HashMap<String, String> hmTest = new HashMap<String, String>();
Iterator<Entry<String, String>> iterator = hmTest.entrySet().iterator();
while (iterator.hasNext())
{
Map.Entry<String, String> entry = (Map.Entry<String, String>) iterator
                     .next();
            String key = entry.getKey();
            String val = entry.getValue();
            System.out.println(key + "::" + val);
}
.net使ç¨å¦ä¸æ¹å¼è¿è¡éåï¼
Dictionary<string, string> dicTest = new Dictionary<string, string>();
foreach (KeyValuePair<string, string> kv in dicTest){}
Â
25.å ³äºåéå½åï¼javaä¸å¯ä»¥$符å·ï¼èc#ä¸ä¸å 许使ç¨ã
26.å ³äºæ³¨éï¼javaæ¯c#å°ä¸ç§â///âæ档注éã
27.å ³äºswitchï¼c#ä¸çswitchå¦æcaseåé¢æå å®¹å¿ é¡»è¦æbreak;
javaå¯ä»¥æ²¡æbreakï¼
28.å ³äºå¤æï¼æ½è±¡ç±»åæ½è±¡æ¹æ³ä¸¤ç§è¯è¨é½ç¨abstractå ³é®åãJavaä¸å¦å¤ä¸ä¸ªç±»å¦æ继æ¿äºå®ï¼å®ç°ç´æ¥éåæ¤æ¹æ³å°±å¯ä»¥äºï¼èc#å¿ é¡»å ä¸å ³é®åoverrideå®ç°ãC#è¿æ¯Javaå¤ä¸ç§èæ¹æ³(virtual)æ¥å®ç°å¤æã
29. C#ä¸çisæä½ç¬¦ä¸Javaä¸çinstanceofæä½ç¬¦ä¸æ ·ï¼ä¸¤è é½å¯ä»¥ç¨æ¥æµè¯æ个对象çå®ä¾æ¯å¦å±äºç¹å®çç±»åãå¨Javaä¸æ²¡æä¸C#ä¸çasæä½ç¬¦çä»·çæä½ç¬¦ãasæä½ç¬¦ä¸isæä½ç¬¦é常ç¸ä¼¼ï¼ä½å®æ´å¯æâè¿åå¿âï¼å¦æç±»åæ£ç¡®çè¯ï¼asæä½ç¬¦ä¼å°è¯æ被æµè¯ç对象å¼ç¨è½¬æ¢æç®æ ç±»åï¼å¦åï¼å®æåéå¼ç¨è®¾ç½®ænullã
30.å ³äºä¼ å¼æ¹å¼ï¼
å¨javaä¸ç®åæ°æ®ç±»åçå¼ä¼ åæ¶ï¼é½ä»¥ä¼ å¼æ¹å¼;
å¨c#ä¸å¦æå refåä¼ä»¥å¼ç¨çæ¹å¼ä¼ å¼ï¼æ¹æ³å é¨æ¹å该åæ°ï¼åå¤é¨åéä¸èµ·è·çåï¼;
å outä¸refåºæ¬ç¸åï¼ä½outä¸è¦æ±åæ°ä¸å®è¦åå§å