java基礎
java之父:詹姆斯·高斯林(James Gosling)
java三大平臺版本
J2ME(Java 2 Platform Micro Edition)小型版
是為開發電子消費產品和嵌入式設備提供的解決方案
J2SE(Java 2 Platform Standard Edition)標準版
是為開發普通桌面和商務應用程式提供的解決方案
該技術體系是其他,可以完成一些桌面應用程式的開發兩者的基礎
J2EE(Java 2 Platform Enterprise Edition)企業版
是為開發企業環境下的應用程式提供的一套解決方案
該技術體系中包含的技術如 Servlet、Jsp等,主要針對于Web應用程式開發
java特點
簡單性
拋棄了c語言中復雜的指標等操作,使程式開發更加的簡單快捷
面向物件
java語言最重要的特性(封裝、繼承、多型)
可移植性(跨平臺)
java基于虛擬機實作了多平臺兼容
分布式
java將系統某一功能單獨運行
多執行緒
程式運行期間運行同時執行多個代碼
動態性
java默認提供簡單開發工具環境,在后期使用可以進行動態的添加
健壯性
基于java健全的代碼檢測機制,在代碼編譯階段對代碼進行語法與邏輯上的簡單糾錯
安全性
java執行的是編譯后的檔案,不允許被修改只能執行
JDK/JRE/JVM關系
| JRE(Java Runtime Environment Java運行環境) |
|---|
| 包括Java虛擬機(JVM Java Virtual Machine)和Java程式所需的核心類別庫等,如果想要運行一個開發好的Java程式,計算機中只需要安裝JRE即可, |
| JDK(Java Development Kit Java開發工具包) |
| JDK是提供給Java開發人員使用的,其中包含了java的開發工具,也包括了JRE,所以安裝了JDK,就不用在單獨安裝JRE了, 其中的開發工具:編譯工具(javac.exe) 執行工具(java.exe) 打包工具(jar.exe)等 |
| JVM(JVM Java Virtual Machine java虛擬機) |
| 簡單而言:使用JDK開發完成的java程式,交給JRE去運行,(jvm保證跨平臺) |
jdk包含jre以及執行打包編譯指令
jre包含jvm以及java執行必要的庫
jvm用于執行編譯好的java代碼
jdk的下載與安裝
輸入cmd打開命令列工具,輸入javac與java如果提示

則當前電腦沒有安裝jdk
1、官網下載jdk
2、安裝jdk
1)雙擊安裝包,選擇安裝版本與路徑

開發工具:默認選擇,安裝jdk
源代碼:只安裝源代碼
公共jre:只安裝java運行環境
注意:如果選擇默認路徑記住默認路徑,如果修改路徑,不會創建檔案夾會將jdk直接安裝到選擇的檔案夾
2)進行安裝
jdk10之前進行安裝時,會進行jdk與公共jre的安裝,在jdk安裝程序中會繼續彈出jre安裝頁面

3)檢測安裝的公共jre是否安裝成功
打開cmd命令列工具,輸入java(java運行指令)
4)配置java環境變數
配置Java開發環境
JAVA_HOME:JDK的安裝目錄
提供第三方軟體支持(例如開發工具)
CLASSPATH:去哪里找需要運行的class檔案
用于指定編譯的class檔案存盤的位置
(jdk1.5版本以后不需要配置,已經進行了默認配置,不要配錯)
path:去哪里找編譯或運行等工具(必須設定)
用于告訴系統指令所在的位置
①右鍵電腦屬性選擇高級系統設定

②選擇高級選項選擇環境變數


③修改環境變數

正常情況下應該沒有JAVA_HOME需要新建,如果已有點擊編輯,變數名固定為JAVA_HOME,變數值為安裝jdk所在路徑

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_261
C:\Program Files\Java\jdk1.8.0_261
修改path,注意path存在很多系統環境配置,不要進行額外的修改,在最前面添加%JAVA_HOME%/bin;
5)通過javac命令驗證
常見問題:“javac不是內部或者外部命令”,原因是path配置錯誤
避免C:\WINDOWS\system32出現所有名字以java開頭的檔案,有,刪之;
注:jdk不要安裝在帶中文的路徑下,最好也是不包含空格字符的英文路徑;重新打開cmd命令工具進行驗證
出現錯誤解決方案:
1)path寫錯了
驗證方法:cmd命令列輸入path查看結果

如果指定位置路徑錯誤則為path配置錯誤
2)javahome寫錯了
修改javahome環境變數
3、jdk的卸載
1)打開程式選擇java進行卸載

2)打開存盤jdk的檔案夾洗掉殘留檔案
3)洗掉回應的環境變數(不洗掉也可以)
hello world的書寫
1.創建指定名稱的檔案
2.將檔案后綴改為java
3.撰寫指定檔案
public class HelloWorld{
public static void main(String [] args){
System.out.println("hello world");
}
}
4.使用cmd命令找到指定檔案(.java)并編譯
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ITNroBI7-1604393680390)(D:/teacher/筆記/img/image-20201009140709845.png)]
語法:javac 編譯檔案的全名
編譯成功后會生成同名的class檔案
5.使用cmd命令找到指定檔案(.class)并執行

代碼書寫可能出現問題的地方:
①class后的類名要求與檔案名一致
②嚴格區分大小寫
③輸出陳述句結束使用;(以}結尾省略;)
④java執行時輸入類名
⑤javac編譯時輸入檔案全名
java執行流程

注釋
用于解釋說明程式的文字
Java中注釋分類格式
單行注釋 格式: //注釋文字
以//開頭注釋本行后所有內容
多行注釋 格式: /* 注釋文字 */
以 /* 開頭以 */結尾 可以注釋多行內容
檔案注釋 格式:/** 注釋文字 */
以/**開頭以 */結尾 也可以注釋多行內容并進行標簽標注(不常用)
public class HelloWorld{//宣告一個名為HelloWorld的類
public static void main(String [] args){
/*
主方法用于執行一個類,當執行一個類的時候默認執行這個類的主方法
*/
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
/**
@autor:作者
@time:時間
*/
}
}
在程式編譯階段,jvm虛擬機在編譯時會自動忽略注釋
注釋的作用:
1.用于已有代碼的功能標識
/**
在類名上寫檔案注釋 標識作者、時間、版本、功能
@autor:作者
@time:時間
*/
public class HelloWorld{
/*
在方法上書寫多行注釋 標識方法功能 引數 回傳型別 出現錯誤資訊
*/
public static void main(String [] args){
//在每行代碼上書寫單行注釋 用于標識單行代碼功能
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
}
}
2.在初期書寫代碼是進行思路整理
public class HelloWorld{
public static void main(String [] args){
//在代碼書寫中明確執行步驟
//使用注釋先以文字的形式將代碼執行的程序進行書寫
//書寫完畢后根據注釋再進行代碼的書寫
System.out.println("asdasdasdsaazdvv");
}
}
3.用于緩解程式員孤身一人加班書寫代碼時**的精神
/*
* ┏┓ ┏┓+ +
* ┏┛┻━━━━━━━┛┻┓ + +
* ┃ ┃
* ┃ ━ ┃ ++ + + +
* █████━█████ ┃+
* ┃ ┃ +
* ┃ ┻ ┃
* ┃ ┃ + +
* ┗━━┓ ┏━┛
* ┃ ┃
* ┃ ┃ + + + +
* ┃ ┃ Code is far away from bug with the animal protecting
* ┃ ┃ + 神獸保佑,代碼無bug
* ┃ ┃
* ┃ ┃ +
* ┃ ┗━━━┓ + +
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━━━┳┓┏┛ + + + +
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛+ + + +
*/
關鍵字
在java中被賦予特殊含義(功能)的單詞,全部由小寫字母組成
一共有51+2個關鍵字,其中goto conest為保留關鍵字


識別符號
在代碼書寫程序中只要是我們自己命名都可以稱之為識別符號
組成規則:
以字母、數字、下劃線_、美元符號$組成,不能以數字開頭,不能使用關鍵字命名(可以組成或修改大小寫),嚴格區分大小寫
命名規范:
針對于不同位置的命名,使用不同的規范要求,通用要求:
見名知意:根據名字知道功能
駝峰命名法:當名字由多個單詞組成,除首個單詞外其余單詞首字母大寫
包(其實就是檔案夾,用于解決相同類名問題)
小寫單個單詞多個包使用.分隔
類或者介面
要求首字母大寫
方法和變數
首字母小寫
常量
所有字母均大寫,多個單詞組成使用_連接
常量
在程式運行程序中不允許被改變的量稱之為常量
常量宣告格式
final 資料型別 常量名=值;
字串常量 用雙引號括起來的內容
整數常量 所有整數
12,23+
小數常量 所有小數
12.34,56.78
字符常量 用單引號括起來的內容
‘a’,’A’,’0’
布爾常量 較為特有,只有true和false
空常量 null(陣列部分講解)
在代碼書寫階段進行定義死了的值,在程式運行中只能使用指定值
變數
在程式運行程序中可以被改變的量稱之為變數
變數定義格式
資料型別 變數名 = 初始化值;
注意:格式是固定的,記住格式,以不變應萬變
作用范圍:定義開始到定義它的代碼塊結束;
注意:同一范圍內,不允許多個區域變數命名沖突
定義開始到定義它的代碼塊結束
底層原理:
開辟記憶體空間,命名空間并存盤資料
開辟空間存盤資料是在賦值階段進行的
java資料型別
java中的資料型別分為兩大類基本資料型別與參考資料型別(型別別)
基本資料型別分為四類八種

其中,在開發程序中,直接書寫的整數默認int型別,小數默認doule型別

變數宣告時指定資料型別,是為了開辟指定大小的空間進行資料的存盤
字串型別String 用于保存字串
基本資料型別的轉換
按照轉換型別分為
強制型別轉換:強制進行資料的轉換
語法:
目標型別 變數名=(目標型別)(被轉換的資料);
自動型別轉換:自動進行資料的轉換
數值直接資料型別小的向大的自動轉換
byte,short,char—int—long—float—double
byte,short,char相互之間補轉換,他們參與運算首先轉換為int型別
運算子會自動進行型別的轉換,但如果是通過變數對資料進行運算那么不會進行轉換
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/204108.html
標籤:java
