Java
是一門面向對象的程序設計的編程語言,在1995
年,sun
公司發佈了Java
這門編程語言,有咖啡的名稱,是當時靈機一動的想法。在2010
年的時候被Oracle
公司收購了,目前jdk
的版本是java10
了。html
那麼什麼是jdk
呢?學習java
必需要有jdk
,那麼咱們如今去下載吧!根據下方給的本身就能夠找到了。java
下載jdk,和eclipse就比較簡單了,提供JDK 9 地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
提供JDK 8 地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html算法
在Java
這門語言是世界上很熱門的一種,在java
中有它本身的一種重要工具,爲jvm
爲java
的虛擬機。java
實現平臺的無關性就是由它jvm
的幫忙,這個工具是實如今各類平臺上運行的關鍵。編程
java
的編程過程是由最初的源文件(xxx.java
),源文件在到編譯器裏去執行,而後產生出字節碼文件(xxx.class
),字節碼文件在到解釋器中去執行,就能夠在顯示器上展現效果了。其中解釋器是由java
中的虛擬機去執行完成的,將字節碼文件解釋到具體的平臺上便可,實現一次編譯,處處運行的結果。數組
在java
中有jre
的工具,爲java
運行時環境,包含java
虛擬機,和java
核心類庫,支持的一些文件等。網絡
若是要運行咱們的
java
程序,就要下載jre
,在java
中,咱們要重點了解,學習,而且掌握jdk,jre,jvm
;若是你下載了jdk
,那麼你就有了jre,jvm
,由於下載的jdk
包含了jre,jvm
。記得大家老師也叫大家下載了jdk
,那麼它就有了jre,jvm
,這一點大家放心。多線程
Java SE Java
標準版
Java EE Java
企業版
Java ME Java
微型版oracle
JDK
包安裝完成後,須要配置環境變量。點擊桌面上的「個人電腦」或者「此電腦」
,選擇「屬性」
,接着選擇「高級」,點擊其中的「環境變量」彈出「環境變量」
對話框,其中包含「用戶變量」和「系統變量」兩部分。框架
設置系統「變量名」爲「JAVA_HOME"
,"變量值」爲「C:\ProgramFiles\Java\jre1.8.0_112"
,便是JDK
安裝路徑,你也能夠將地址欄中的路徑直接複製過來。eclipse
再次選擇」系統變量"
列表中找到其"Path"
(雙擊)-->"編輯",彈出」編輯系統變量"
,點擊新建;
而後,單擊」系統變量"
下面的「新建"
按鈕,建立名爲」classpath「
的環境變量,值爲」."
,英文的一點,表明當前路徑。
JAVA_HOME:
D:\Java\jdk1.8.0_25
CLASSPATH :.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path:
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
JDK
(Java
開發工具包),有jdk
其中有javac
爲編譯器,是將源程序(xxx.java
)編譯成字節碼的(xxx.class),而後經過java
指令編譯成(.class)程序的結果。
Java
語言 描述
javaee
企業版
javase
標準版
javame
小型版
學習Java
基礎課程,學會使用eclipse
,eclipse
爲Java
集成開發壞境IDE
,建立第一個Java
源文件代碼:
public class HelloWorld{ public static void main(String[] args){ System.out.println("hello world"); } } // 註解 HelloWorld 爲類的名字 public static void main(String[] args) 爲主方法 System.out.println("hello world") 爲打印輸出,並在控制檯顯示 hello world public 爲訪問修飾符,表示公開的訪問類
在運行的平臺上:
什麼是面向對象?
答:在Java
中一切皆對象;能夠理解爲現實世界中的人,物,均可以看作爲對象。
在一個Java
的類中,該類能夠爲對象,那麼類就是一個對象,一個對象就如人,它有方法和屬性,即爲動做和狀態的特徵。
//創建一我的的類 public class Person{ String name; //人具備姓名的屬性 String age; //人具備年齡的屬性 public void eat(){ System.out.println("人具備吃的方法"); } }
重點:
java
的必備要點,掌握,jdk,jre,jvm
。jre包含jvm和javase的標準類庫
;jdk包含jre和開發工具集
,java
有不少版,如java se
,java ee
,java me
哦~
下載eclipse
連接(官網):
https://www.eclipse.org/downloads/
接下來咱們進入到這個連接:
https://www.eclipse.org/downloads/eclipse-packages/
什麼是變量,即爲能夠變化的量,示例
int age = 12;
其中 int
爲變量的數據類型,表示整數
age
爲變量
「=」
爲賦值操做符,把右邊的值賦值給左邊的變量
public class Person{ int age = 12; public static void main(String[] args){ System.out.println(age); } }
在java
中咱們要學的不少,可是都很通常啦,java
自己就是語言,跟學習語言差很少。咱們要掌握java
中的一些:標識符,關鍵字,變量,常量,數據類型等。
數據類型分爲基本數據類型和引用數據類型(類,class,接口,interface,數組
)
基本數據類型分數值型,字符型,布爾類型
八種基本數據類型
整型 4種:byte(8位),short(16位),int(32位),long(64位)
字符型 1種:char(16位)
浮點型 2種:float(32位),double(64位)
布爾型 1種:boolean(1位)(true,false)
java
表示整數的爲八進制,十進制,十六進制
特殊表達:
八進制: 以0開頭 十六進制: 0x或0X開頭
轉義字符
\uxxxx 四位16進制數所表示的字符 \' 單引號字符 \" 雙引號字符 \\ 反斜槓字符 \r 回車 \n 換行 \t 橫向跳格 \b 退格
標識符的命名:
標識符數字不能開頭,標識符中不能有空格 標識符由字母,數字,下劃線,美圓符號組成 標識符嚴格區分大小寫 標識符不能使關鍵字或者保留字 標識符是標識符,關鍵字是關鍵字,不能混爲一談
保留字: goto
關鍵字有不少:
abstract,char,else,for,interface,private,super,boolean,class,extends,if,long, protected,switch,true,break,continue,false,implements,instanceof,public,synchronized,try, byte,default,final,import,new,return,this,void,case,do,finally,null,short,throw, volatile,catch,double,float,int,package,static,throws,while等。
變量的命名:
駝峯法命名,單個單詞全小寫,多個單詞第一個單詞小寫,後面單詞首個字母大寫。 須要見名知意。 知足不是其餘的名稱。
數據類型的轉換
類型轉換爲自動類型轉換和強制類型轉換
數據類型的理解:規則口訣
小到大自動,大到小強制,表示小杯子裏的水能夠倒入大杯子裏,而大杯子裏的水倒入小杯子裏,會出現溢出。
/ 轉換的數據類型比較 / byte->short(char)->int->long->float->double
final修飾的,爲不可變得值,
final能夠修飾變量,修飾類,修飾方法。
被修飾的變量,只能被賦值一次 被修飾的類,不能被繼承 被修飾的方法,不可被重寫
Static
關鍵字的理解
static
代碼塊,只會在類加載的時候執行一次。static變量不須要建立對象就能夠引用。算術運算符 賦值運算符 複合賦值運算符 自增自減運算符 // 等通通要掌握 // 運算符的優先級 // 算術運算符 關係運算符 邏輯運算符
通常的 +,-,*,/,還有兩個自增 自減 ,以及一個取模 % 操做符。
這裏的操做算法,必定要掌握 好強制類型轉換和自動類型轉換。
if(條件){ <語句塊> }
if(條件爲true){ <語句塊> } else{ <語句塊> }
布爾表達式?表達式1:表達式2
if(score >=90) { System.out.println("優"); } if (score>=80 & score<90){ System.out.println("良"); } if(score >=60 & score<80){ System.out.println("中"); } if (score <60){ System.out.println("不及格"); }
switch (mon) { case 1: case 2: case 3: System.out.println(mon + "月是春天"); break; case 4: case 5: case 6: System.out.println(mon + "月是夏天"); break; case 7: case 8: case 9: System.out.println(mon + "月是秋天"); break; case 10: case 11: case 12: System.out.println(mon + "月是冬天"); break; default: System.out.println("一年有12個月"); }
while
爲true
時,繼續執行;do-while
中條件爲true
時,繼續執行,至少會執行一次。
for
語句格式:
for(int i=0;i<10;i++){ 表達式語句; }
continue
和break
continue
爲繼續下一次循環
break
爲結束整個循環
數組:相同類型的數據集合爲引用數據類型
···
數據類型[] 數組名;
數據類型 數組名[];
數組名 = new 數據類型[數組長度];
數據類型[] 數組名= new 數據類型[數組長度];
···
//這種就是排序算法,好比有6我的,第一輪要進行5次比較 //第一輪 for(int index=1;index<arr.length;index++) { if(arr[0]>arr[index]) { int temp = arr[0]; arr[0] = arr[index]; arr[index] = temp; } } print(arr); //第二輪 for(int index=2;index<arr.length;index++) { if(arr[1]>arr[index]) { int temp = arr[1]; arr[1] = arr[index]; arr[index] = temp; } } print(arr); //第三輪 for(int index=3;index<arr.length;index++) { if(arr[2]>arr[index]) { int temp = arr[2]; arr[2] = arr[index]; arr[index] = temp; } } print(arr); //第四輪 for(int index=4;index<arr.length;index++) { if(arr[3]>arr[index]) { int temp = arr[3]; arr[3] = arr[index]; arr[index] = temp; } } print(arr); //第五輪 for(int index=5;index<arr.length;index++) { if(arr[4]>arr[index]) { int temp = arr[4]; arr[3] = arr[index]; arr[index] = temp; } } print(arr); //第六輪沒有,咱們arr.length=6舉例 //int index = 6;index<arr.length; false public static void selectionSort(int[] arr) { for(int count=1;count<arr.length;count++) { for(int index=count;index<arr.length;index++) { if(arr[count-1]>arr[index]) { int temp = arr[count-1]; arr[count-1] = arr[index]; arr[index] = temp; } } }
方法聲明格式:
訪問修飾符 返回類型 方法名(參數列表){ 方法體 }
萬物皆對象,現實中存在的事物均可以當作一個對象,單一職責原則,就是一個類只有一個引發功能變化的緣由,一個類中,功能越多就容易耦合性高,複用性就變低,一旦耦合度高,就可能會影響整個程序的運行。
面向對象的三大特徵: 繼承,封裝,多態。 封裝,實現對信息的隱藏,只能經過特定的方法進行訪問,隱藏對象的信息,留出接口進行訪問。
static+屬性 靜態屬性 類屬性 static+方法 靜態方法 類方法 static+方法內局部変量 static+代碼塊
第二十節:詳細講解String和StringBuffer和StringBuilder的使用
第二十一節:Java語言基礎-關鍵字,標識符,註釋,常量和變量,運算符
第二十七節:Java基礎面向對象-靜態,單例模式,繼承詳情知識點
第32節:Java中-構造函數,靜態方法,繼承,封裝,多態,包
日後餘生,惟獨有你
簡書做者:達叔小生
90後帥氣小夥,良好的開發習慣;獨立思考的能力;主動而且善於溝通
簡書博客: https://www.jianshu.com/u/c785ece603d1