# Java è¯è¨ å¿«éå ¥é¨ ## ç®ä» - **è¿è¡åç** 1. Java çæºç¨åºé¦å ç±ç¼è¯å¨ï¼javac.exeï¼ç¼è¯æåèç ã 2. åç±è§£éå¨ï¼java.exeï¼è§£éæ§è¡ã 3. Java è§£éå¨è½ç´æ¥å¨ä»»ä½æºå¨ä¸æ§è¡ Java åèç ã  4. 示ä¾ä»£ç ï¼ ```Java public class Demo{ public static void main (String[] args){ System.out.println("Hello , Oray!"); } } ``` 5. å½ä»¤è¡æ§è¡ ```CMD javac Demo.java //ç¼è¯Demo.java为åèç æä»¶Demo.class java Demo //è§£éè¿è¡Demo.classæä»¶ ``` - **JVM èææº** 1. Java èææºç®ç§°ä¸º JVM ,ä¹å« Java è¿è¡ç¯å¢(Java Runtime Environment),å ¶æ¬è´¨æ¯ä½¿ç¨è½¯ä»¶æ¨¡æè®¡ç®æºè¿è¡ç¯å¢,为 Java ç¨åºè¿è¡æä¾ç¯å¢,以解å³ç¨åºæ¬èº«çå¹³å°ä¾èµæ§è´¨ã 2. C è¯è¨å Java è¯è¨ç¼è¯è¿è¡è¿ç¨å¯¹æ¯ï¼  - **JDK \ JRE** - JDK: Java Development Kit , å å«äº java èææºï¼java åºç¡ç±»åºãæ¯ä½¿ç¨ java è¯è¨ç¼åçç¨åºè¿è¡æéè¦ç软件ç¯å¢ï¼æ¯æä¾ç»æ³è¿è¡ java ç¨åºçç¨æ·ä½¿ç¨çã - JRE: Java Runtime Environment ,JDK å å«äº JREï¼åæ¶è¿å å«äºç¼è¯ java æºç çç¼è¯å¨ javac ã - **IDEå·¥å ·** - IDE: Integrated Development Environment éæå¼åç¯å¢ï¼éç¼è¾ãç¼è¯ãè°è¯è¿è¡äºä¸èº«çå¼åå·¥å ·ã - 常ç¨å¦ï¼Eclipse ãMyEclipse ãNetBeansã IntelliJ idea çã ## åºç¡ - **æ°æ®ç±»å** Java è¯è¨ä¸å ±æå «å¤§åºæ¬æ°æ®ç±»ååä¸ç§å¼ç¨æ°æ®ç±»åã   - **符å·ä¸é»è¾æ§å¶è¯å¥** 1. è¿æ¥ç¬¦ + ``` Java å½ + å·ä¸¤è¾¹çæä½æ°ç为æ°å¼ç±»åçæ¶åæ§è¡å æ³è¿ç®,ç»æä¸ºæ°å¼ç±»åã å½ + å·ä¸¤è¾¹ä»»æä¸è¾¹çæä½æ°ä¸ºåç¬¦ä¸²çæ¶åæ§è¡è¿æ¥æä½,ç»æä¸ºå符串类åã ``` 2. ç®æ¯è¿ç®ç¬¦ ``` Java ++ : éå¢ a++ æ ++a -- : éå a-- æ --a - : åè´ -a + : å æ³ a+b - : åæ³ a-b * : 乿³ a*b / : 餿³ a/b ``` 3. èµå¼è¿ç®ç¬¦ ``` Java += : a=a+b å¯ä»¥åæ a+=b -= : a=a-b å¯ä»¥åæ a-=b *= : a=a*b å¯ä»¥åæ a*=b /= : a=a/b å¯ä»¥åæ a/=b %= : a=a%b å¯ä»¥åæ a%=b ``` 4. å ³ç³»è¿ç®ç¬¦ ``` Java == : æ£æ¥ä¸¤ä¸ªæ°çç¸çæ§ != : æ£æ¥ä¸¤ä¸ªæ°çä¸çæ§ > : æ£æ¥å·¦è¾¹ç弿¯å¦å¤§äºå³è¾¹çå¼ < : æ£æ¥å·¦è¾¹ç弿¯å¦å°äºå³è¾¹çå¼ >= : æ£æ¥å·¦è¾¹ç弿¯å¦å¤§äºæçäºå³è¾¹çå¼ <= : æ£æ¥å·¦è¾¹ç弿¯å¦å°äºæçäºå³è¾¹çå¼ ``` 5. é»è¾è¿ç®ç¬¦ ``` Java ! : é»è¾é,ä¸å è¿ç®ç¬¦,å°æ boolean ç»æååã && : é»è¾ä¸,两边ç boolean ç»æä¸º true å表达å¼ç»æä¸º true æç §çè·¯æ¹å¼æ±å¼,å½ && 左边çç»æä¸º false æ¶, æ´ä¸ªè¡¨è¾¾å¼çç»æå¿ å®ä¸º false,æä»¥ä¸åæ§è¡å³è¾¹çè¿ç®ã || : é»è¾æ,两边ç boolean ç»æä»»æä¸è¾¹ä¸º true å为表 è¾¾å¼ç»æ true æç §çè·¯æ¹å¼æ±å¼,å½ || 左边çç»æä¸º true æ¶,æ´ä¸ªè¡¨è¾¾å¼çç»æå¿ å®ä¸º true,æä»¥ä¸åæ§è¡å³è¾¹çè¿ç®ã ``` 6. é»è¾æ§å¶è¯å¥ - æ¡ä»¶è¯å¥ - if ... else - switch ... case - 循ç¯è¯å¥ - while - do ... while - for - 跳转è¯å¥ - break; - continue; - return; - **Java 代ç çåºæ¬ç»æ** 项ç®(project) --> å (pakage) --> ç±»(class) --> 屿§(attribute)ãæ¹æ³(method) - ç±» ``` - ç±»çæå - 屿§ï¼åéï¼ - æ¹æ³ï¼å½æ°ï¼ - ç±»çä½¿ç¨ - å®ä¹ç±»ï¼å®ä¾åç±»ç对象ï¼å¦ä½¿ç¨ new å建类çä¸ä¸ªå¯¹è±¡ï¼ã - 使ç¨å¯¹è±¡ï¼ç»ç±»ç屿§èµå¼ãè°ç¨ç±»çæ¹æ³ã ``` è¿æ ·çä¸ä¸ª Animal.java æä»¶å°±æ¯ä¸ä¸ªç±»æä»¶ã ``` Java package teach; //声æ teach æ¯å çååï¼ä»£ç åå¨çè¿ä¸ª.javaæä»¶å¨teachè¿ä¸ªå éé¢çã public class Animal { //Animal æ¯ç±»åã int weight = 100; //åé weight æ¯ Animal ç±»ç屿§ã public void eat() { //eat() æ¯ Animal ç±»çæ¹æ³ï¼è¿ä¸ªæ¹æ³æå°äº "I'm eating" è¿å¥è¯,å¹¶å¢å äºä¸ç¹ä½éã System.out.println("I'm eating"); weight += 1; } } ``` - æ¹æ³ Javaæ¹æ³æ¯è¯å¥çéåï¼å®ä»¬å¨ä¸èµ·æ§è¡ä¸ä¸ªåè½,ä¸è¬æ åµä¸ï¼å®ä¹ä¸ä¸ªæ¹æ³å å«ä»¥ä¸è¯æ³ ï¼ ``` Java 修饰符 è¿åå¼ç±»å æ¹æ³å(åæ°ç±»å åæ°å){ ... æ¹æ³ä½ ... return è¿åå¼; } ``` >**修饰符**ï¼ä¿®é¥°ç¬¦ï¼è¿æ¯å¯éçï¼åè¯ç¼è¯å¨å¦ä½è°ç¨è¯¥æ¹æ³ãå®ä¹äºè¯¥æ¹æ³ç访é®ç±»åã **è¿åå¼ç±»å** ï¼æ¹æ³å¯è½ä¼è¿åå¼ãreturnValueType æ¯æ¹æ³è¿åå¼çæ°æ®ç±»åãæäºæ¹æ³æ§è¡æéçæä½ï¼ä½æ²¡æè¿åå¼ãå¨è¿ç§æ åµä¸ï¼returnValueType æ¯å ³é®å voidã **æ¹æ³å**ï¼æ¯æ¹æ³çå®é åç§°ãæ¹æ³åååæ°è¡¨å ±åæææ¹æ³ç¾åã **åæ°ç±»å**ï¼åæ°åæ¯ä¸ä¸ªå ä½ç¬¦ã彿¹æ³è¢«è°ç¨æ¶ï¼ä¼ éå¼ç»åæ°ãè¿ä¸ªå¼è¢«ç§°ä¸ºå®åæåéãåæ°åè¡¨æ¯ææ¹æ³çåæ°ç±»åã顺åºååæ°ç个æ°ãåæ°æ¯å¯éçï¼æ¹æ³å¯ä»¥ä¸å å«ä»»ä½åæ°ã **æ¹æ³ä½**ï¼æ¹æ³ä½å å«å ·ä½çè¯å¥ï¼å®ä¹è¯¥æ¹æ³çåè½ã - **é¢å对象** - OOP(Object Oriented Programming) é¢å对象ç¼ç¨å°±æ¯ä½¿ç¨å¯¹è±¡è¿è¡ç¨åºè®¾è®¡ï¼å å«å°è£ ãç»§æ¿ã夿ä¸å¤§ç¹æ§ã - å°è£ ï¼éèå®ç°ç»èï¼ä½¿å¾ä»£ç 模ååã ``` Java package teach; public class Test { public static void main(String[] args) { Animal animal = new Animal(); //å®ä¾åAnimalç±»ç对象ã animal.eat(); //è¿éçè¿ä¸è¡ä»£ç å°±å°ä¸æ Animal ç±»ä¸ç eat() æ¹æ³å®ç°äºä¸æ¬¡ï¼èä¸éè¦å¨éåæå°è¯å¥ã } } ``` - ç»§æ¿ï¼ä½¿ç¨ç°æç±»çææåè½ï¼å¹¶å¨æ ééæ°ç¼å忥çç±»çæ åµä¸å¯¹è¿äºåè½è¿è¡æ©å±ã ``` Java package teach; public class Fish extends Animal{ //ç»§æ¿å ³é®è¯ extends,Animal æäº Fish çç¶ç±»ã String type = "鲫鱼"; int weight = 2; public void swim() { weight -= 1; System.out.println("游泳ä½é-1ï¼å½åä½é为 " + weight); } } ``` ``` Java package teach; public class Test { public static void main(String[] args) { Fish littleFish = new Fish(); //Fish ç±»é颿²¡æå eat() æ¹æ³ï¼ä½æ¯ç±äº Fish 类继æ¿äº Animalç±» //æä»¥Fishç±»ç littleFish 对象è½å¤ä½¿ç¨çè³æ¹é ç¶ç±» Animal ä¸ç屿§åæ¹æ³ã littleFish.eat(); } } ``` - å¤æï¼æ¹æ³çå¤ç§å½¢å¼ï¼ä½¿ç¨ä¸åçå®ä¾èæ§è¡ä¸åçæä½ãå å«éåãåéè½½ã - éå ï¼ä¸ä¸ªç±»Mç»§æ¿å¦ä¸ä¸ªç±»Nï¼N䏿ä¸ä¸ªæ¹æ³Aï¼è¿æ¶ä½ å¨Måäºä¸ä¸ªæ¹æ³Bï¼æ¹æ³Bçååãè¿åå¼ä»¥ååæ°é½åA䏿 ·ï¼æ¤æ¶BéåäºAã ``` Java package teach; public class Fish extends Animal{ String type = "鲫鱼"; int weight = 2; public void eat() { //éåç¶ç±»æ¹æ³ eat() super.eat(); //superå ³é®è¯ä»£è¡¨ç¶ç±»ï¼è¿ä¸è¡ä»£ç 代表ç¶ç±»ç eat();æ¹æ³ weight += 1; System.out.println("å°é±¼åä¸è¥¿ä½é+1ï¼å½åä½é为 " + weight); } public void swim() { //å°é±¼ç¬æçæ¹æ³ swim(); weight -= 1; System.out.println("游泳ä½é-1ï¼å½åä½é为 " + weight); } } ``` - éè½½ ï¼ä¸ä¸ªç±»ä¸æä¸ä¸ªæ¹æ³Aï¼ä½ åå¨è¿ä¸ªç±»ä¸å建äºä¸ä¸ªæ¹æ³Bï¼æ¹æ³BçåååA䏿 ·ï¼è¿åå¼ç±»åä¹ä¸æ ·ï¼ä½æ¯åæ°çç±»åæä¸ªæ°ä¸åï¼æ¤æ¶Béè½½äºAã ``` Java package teach; public class Fish { String type = "鲫鱼"; int weight = 2; public void swim() { weight -= 1; System.out.println(type +" 游泳ä½é-1ï¼å½åä½é为 " + weight); } public void swim(String type , int weight) { //两个 swim æ¹æ³å 容ç¸åï¼ä½æ¯ç¬¬äºä¸ªæ¹æ³å¤äºä¼ å ¥ä¸¤ä¸ªåæ°ã weight -= 1; System.out.println(type+" 游泳ä½é-1ï¼å½åä½é为 " + weight); } } ``` ``` Java package teach; public class Test { public static void main(String[] args) { Fish littleFish = new Fish(); littleFish.swim(); littleFish.swim("èé±¼",3); } } ``` ``` Java è¾åºç»æï¼ 鲫鱼 游泳ä½é-1ï¼å½åä½é为 1 èé±¼ 游泳ä½é-1ï¼å½åä½é为 2 ``` - **å ³é®è¯** - æé修饰è¯ï¼ public ã private ã protected ã é»è®¤çï¼defaultï¼  - ç¶æä¿®é¥°è¯ : static ãfinal ãabstract - static 1. å¯ä»¥è°ç¨å ¶ä»éææ¹æ³ãå¿ é¡»è®¿é®éææ°æ®ãä¸è½ä½¿ç¨ super æ this å ³é®åã 2. staticä¿®é¥°å±æ§ï¼éæå¨ååºçæ°æ®ï¼å æ¬æ¹æ³ä»£ç ï¼ï¼ä¸ç®¡æå¤å°å¯¹è±¡å¼ç¨ï¼ååªæ1份ã - final 1. 屿§åæ¹æ³åå ä¿®é¥°è¯ final,åè¯¥å±æ§ä¸è½ä¿®æ¹ï¼è¯¥æ¹æ³é½ä¸è½è¢«éåã - abstract 1. ä¿®é¥°æ¹æ³ä¸ºæ½è±¡æ¹æ³ 2. ç±abstract修饰çç±»å«æ½è±¡ç±»ï¼æ½è±¡æ¹æ³å¿ 须卿½è±¡ç±»ï¼æ½è±¡æ¹æ³å ä¸è½å å«ä»»ä½é»è¾ï¼ç±åç±»æ¥éåå®ç°ç»èã 3. æ½è±¡ç±»ä¸è½è¢«å®ä¾åã