JAVA-入门(内含jdk配置)
title: java入門
date: 2019-07-21 19:50:19
tags: java學習
top: 1
JAVASE學習
1.java入門
More info: Writing //超鏈接
2.java開發環境配置
第一步是配置本地開發環境,學習最基本的桌面開發,下面以win10為例配置Java開發環境,即:JDK+JRE+idea,安裝JDK的時候會默認安裝JRE,根據提示安裝就可以了。
首先去官網下載適合系統版本的JDK,下載地址:JDK下載-官網選擇版本后點擊Download,這里下載的JDK8,然后一直下一步,路徑默認最好(記住路徑后面要用);
[外鏈圖片轉存失敗(img-xjKkZKy3-1564822527659)(/C:\Users\薛艷春\Desktop\4.jpg “Optional title”)]
JDK安裝完成后配置環境變量
3.java基礎語法
java基礎語法學習詳情見菜鳥教程 跟著學習,一定要自己敲,別復制粘貼,多敲代碼
4.java流程控制
–
4.1選擇結構1: if-else(選擇結構學習)
4.1.1 條件語句 - if…else
一個 if 語句包含一個布爾表達式和一條或多條語句。
語法:
if(布爾表達式) {//如果布爾表達式為true將執行的語句 }如果布爾表達式的值為 true,則執行 if 語句中的代碼塊,否則執行 if 語句塊后面的代碼。
4.1.2 if…else語句
if 語句后面可以跟 else 語句,當 if 語句的布爾表達式值為 false 時,else 語句塊會被執行。
語法如下:
if…else 的用法如下:if(布爾表達式){//如果布爾表達式的值為true }else{//如果布爾表達式的值為false }4.1.3 if…else if…else 語句
if 語句后面可以跟 else if…else 語句,這種語句可以檢測到多種可能的情況。
使用 if,else if,else 語句的時候,需要注意下面幾點:
if 語句至多有 1 個 else 語句,else 語句在所有的 else if 語句之后。
if 語句可以有若干個 else if 語句,它們必須在 else 語句之前。
一旦其中一個 else if 語句檢測為 true,其他的 else if 以及 else 語句都將跳過執行。
語法
if…else 語法格式如下:
if(布爾表達式 1){//如果布爾表達式 1的值為true執行代碼 }else if(布爾表達式 2){//如果布爾表達式 2的值為true執行代碼 }else if(布爾表達式 3){//如果布爾表達式 3的值為true執行代碼 }else {//如果以上布爾表達式都不為true執行代碼 }#####4.1.4 嵌套的 if…else 語句
使用嵌套的 if…else 語句是合法的。也就是說你可以在另一個 if 或者 else if 語句中使用 if 或者 else if 語句。
語法
嵌套的 if…else 語法格式如下:
下面鏈接都是來自菜鳥教程
4.2選擇結構2 switch case 語句
4.3循環結構 - for, while 及 do…while
5.面向對象
5.1 --[繼承]
5.2 –重寫(Override)與重載(Overload)
5.3 –多態
多態:(父類引用指向子類對象)
向上轉型:Animal am = new Cat(); 從父類的角度思考,只有繼承后的子類方法才 可以使用,并且是使用的子類的
向下轉型:Cat ct = (Cat)am; 從子類的角度思考,自己有的調用自己的,自己沒有 的繼承父類的方法來用;
5.4 –抽象類 abstract修飾
1.抽象類是父類,子類必須實現抽象類的抽象方法,子類不想實現父類抽象方法的話,必須把子類設置成抽象方法(用abstract修飾)。也就是:抽象類的子類1.要么是抽象類,要么重寫抽象類的所有抽象方法。
2.(不可以用final修飾,需要依賴子類去創建對象(final與abstract是不共存的))
5.5 –封裝
####5.6 –接口
接口的方法默認是abstract public的,JDK8以后可以有用default和static修飾的方法并且可以不用子類實現(重寫)。
接口定義的成員變量只能是常量,默認用public static final 修飾的。
用子類實例化接口,對象不能調用接口的靜態方法.
####5.7 –包package
6.常用API
6.1 API 1.6中英文:百度云連接-點擊打開 密碼:q7mc
6.2 object類:
類層次結構的根類,所有類都直接或間接繼承object類,(自己創建的類也默認繼承object)6.2.3 成員方法:
public int hasCode(); 根據地址值經過一系列運算得到一個int值,hashCode值不同,代表他們 肯定不是同一個對象,hashCode相同,也不一定是相同對象,hashCode方法要配合equls方法使用,來 判斷兩個對象是否是同一個對象,hashCode方法效率高,運行快。public final Class getClass(); 返回Class對象,字節碼對象,通過該對象可以獲得類中的所有信息。public String toString(); 返回String類型,默認的實現方式是全類名@地址值,如果不滿意,可以重 寫String類就重寫了object的toString();public bolean equals(Object obj); 1指示其他某個對象是否與此對象“相等”,默認的實現方式是== ==:比較基本數據類型的時候,比較的是值是否相等。:比較的引用類型的時候,比較的是地址值。(引用類型有:Class,數組,abstract)如果不想比較對象的地址值,而且認為如果兩個對象的屬性值相同,可以重寫equals()方法,讓他比較的是屬性值,一般equals和hashCode是一對,重寫的時候一定要重寫hashCode(右鍵-source-geberate equals and hashCode)protected Object clone(); 創建并返回此對象的一個副本,這種克隆機制十分高效,而二者之間完全隔 離。自定義類實現克隆步驟: A:自定義類實現Cloneable接口,使其具備克隆的能力,否則會產生不支持克隆的異常 B:自定義類中重寫Object類的clone()方法,將其寫成public修飾的,方便在外部使用。 C:重寫clone()方法時通過suoer.clone()調用Object類的clone()方法來得到該對象的副本,并回該副本 (此時會產生一個異常,直接向上拋出,拋出后在main方法里也會產生異常,繼續向上拋,會拋給jvm處理) D:可以在外部類中,使用對象調用clone()方法產生一個object類型的副本,可以通過instanceof來判斷該 副本的類型。 E:使用clone產生的副本和原來的地址是不同的 F:使用clone產生的副本,是一個淺拷貝:原本中引用數據類型和副本中的引用數據類型的地址值相同。6.3 Scanner類(用于獲取用戶鍵盤輸入)
6.3.1 成員方法
nextXxx(); 獲取下一個輸入項。Xxx可以是int,Double。nextLine()可以接收到用戶輸入的回車空格 等字符。hashNextXxx();判斷是否還有下一個輸入項目其中Xxx可以是int,Double等,如果需要判斷是否包含下一 個字符串,可以省略Xxx。默認情況下,Scanner使用回車或者空格作為結束標記。也可以使用useDelimiter()方法進行修改。括號里 加上結束標記符。6.4 String類
6.4.1 構造方法:
public String(); public String(byte[] bytes); public String(byte[] bytes,int offset,int length) public String(char[] value); public String(char[] value,int offset,int count); public String(String original);6.4.2 成員方法
.1 String的內存圖
.2 判斷功能
boolean equals(Object obg) 比較字符串的內容boolean equalsIgnoreCass(String str) 忽略大小寫比較字符串的內容(驗證碼)boolean contains(String str) 是否包含boolean startsWith(String str) 是否以。。。開頭boolean endsWith(String str) 是否以。。。結尾boolean isEmpty() 是否是空串.3 獲取功能
int length(); 獲取字符串的長度char charAt(int index) 返回索引所對應的字符int indexOf(int ch) 返回 ch所代表的第一次字符,出現的索引值,如果不存在則返回-1 int indexOf(String str) 返回參數字符串第一次出現的索引值,沒有返回-1int indexOf(int ch,int fromIndex) 返回字符從fromIndex之后第一次出現的索引值,不存在返回-1String substring(int start) 字符串的截取,從start到最后,包含startString substring(int start,int end) 字符串截取,從start到end包含start,不包含end。.4 轉換功能
.5 替換功能
.6 StringBuffer (線程安全的可變字符序列)(StringBuilder是線程不安全的)
我們如果對字符串進行拼接操作,每次拼接,都會構建一個新的String對象,既耗時,又浪費空間。而StringBuffer就可 以解決。
StringBuffer與String的相互轉換:StringBuffer 和String的相互轉換:
StringBuffer 轉成String:
toString();String 轉StringBuffer:用構造方法
new StringBuffer(String s);
7.集合 –集合框架
7.1 概述:面向對象語言對事物的體現都是以對象的形式,所以為了方便對多個對象的操作,JAVA就提供了集合類
7.2 數組與集合的區別 :
①數組雖然也可以存儲對象,但是長度是固定的;集合長度是可變的。 ②數組中可以存儲基本數據類型,集合只能存儲對象。7.3 特點:集合只用于存儲對象,集合長度是可變的,集合可以存儲不同類型的對象。
7.4 Java中集合類的關系圖(牢記心中)
7.5 Hash表
8.IO流 –IO流-JAVA流-文件(File)
9.多線程 –多線程編程
10.反射
11.java綜合編程實踐
(電影評分系統統計、歸屬地查詢統計、分布式案例等)
總結
以上是生活随笔為你收集整理的JAVA-入门(内含jdk配置)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行净值型理财产品怎么选?什么是净值型理
- 下一篇: 信用卡额度共享