Java data type、 標識符、運算符、表達式和語句、分支、循環、方法java
OO程序員
Exception編程
Java Array數組
Java 經常使用類socket
Java 容器類函數式編程
Collection / Generic函數
Java I/O Stream工具
Java Thread學習
Java TCP/UDP, socket編碼
知識 -- 學習前人的知識
解決問題的方法 -- 靈活運用學到的知識
解決問題的思路 -- 創造解決問題的方法
實際開發中常常使用的 -- 緊緊掌握
不常常使用用時就能查獲得的 -- 瞭解
八輩子用不着一回的 -- 運用本身的能力去查
你怎麼去了解一座高山? 怎麼去了解你的校園?
你怎麼去畫一樹寒梅先學脈絡,再學細節,這是規律,請務必尊重學習規律
樂觀的努力
眼光要高遠
腳步要踏實
focus on :
Java 語言的歷史地位
Java 發展史
Java 特色
Java 運行機制
JDK & JRE
Java env install
Java Basic Content
第一代語言
打孔機 -- 純機器語言
第二代語言
彙編
第三代語言
C 面向過程的語言
C++ 面向過程/面向對象
Java 跨平臺的純面向對象的語言
Scala 函數式編程/面向對象 JVM
Python 解釋
Go
conclude : 計算機語言朝着人類易於理解的方向發展
95年, Sun發佈JDK1.0
98年, JDK1.2, 改名爲Java2
目前, JDK 1.5, 1.7, 1.8
一種 OO 語言
一種平臺無關的語言, 提供程序運行的解釋環境
一種健壯的語言, 吸取了C/C++語言的優勢, 但去掉了其影響程序健壯性的部分(如: 指針, 內存的申請與釋放等)。
JVM
Garbage collection [垃圾收集機制]
JVM
java虛擬機能夠理解成一個以字節碼爲機器指令的CPU
Java虛擬機機制屏蔽了底層運行平臺的差異, 實現了"一次編譯, 隨處運行"。
x.java --編譯--> x.class --執行--> JVM
Garbage collection
Java語言消除了程序員回收無用內存空間的責任;
它提供一種系統級線程跟蹤存儲空間的分配狀況,並在JVM的空閒時, 檢查並釋放那些可被釋放的存儲器空間。
Software Development Kit (軟件開發包) 開發須要 JDK
Java Runtime Environment 用戶只需 JRE
/etc/profile
or .zshrc
### JAVA ### JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home JAVA_BIN=$JAVA_HOME/bin PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH
classpath : java在編譯和運行時要找的class所在的路徑
建議你的 JDK 裝在不帶空格的目錄裏面
類名首字母大寫
變量名和方法名的首字母小寫
運用駝峯標識
HelloWorld.java
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello Java."); } }
一個源文件中最多隻能有一個public類. 其它類的個數不限,若是源文件 文件包含一個public class 它必需按該 class-name 命名
// 單行註釋 /* 多行註釋 */ /** * 用於多行註釋,而且能夠被doc工具解析 */
-- 整數類型 (byte, short, int, long) -- 數值型 -- | -- 浮點類型 (float, double) --基本數據類型 -- 字符型 (char) | | | -- 布爾型 (boolean) 數據類型 -- | -- 類 (class) | | --引用數據類型 -- 接口 (interface) | -- 數組 (array)
java 中定義了 4類 8種 基本數據類型
boolean 類型只容許取值 true / false , 不能夠用 0 或 非0 替代。
char 採用 Unicode 編碼 (全球語言統一編碼), 每一個字符佔兩個字節
public class Test { public static void main(String[] args) { Date[] days; days = new Date[3]; for (int i = 0; i < 3; i++) { days[i] = new Date(2004, 4, i+1); } // int[] a = {1, 2, 3, 4, 5, 6, 7}; for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } } } class Date { int year; int month; int day; Date(int y, int m, int d) { year = y; month = m; day = d; } }