Java基礎知識大全(一)

aaa軟件教育官方號 發佈 2022-12-13T00:08:17.899418+00:00

初學者先弄清這些Java的基本概念也是必不可少的,死記硬背肯定是不行的,重在理解,理解它們之間的區別與聯繫,分別有哪些應用。一、基礎知識:1、JVM、JRE和JDK的區別:JVM(Java Virtual Machine):java虛擬機,用於保證java的跨平台的特性。

初學者先弄清這些Java的基本概念也是必不可少的,死記硬背肯定是不行的,重在理解,理解它們之間的區別與聯繫,分別有哪些應用。


一、基礎知識:
1、jvm、JRE和JDK的區別:
JVM(java Virtual Machine):Java虛擬機,用於保證java的跨平台的特性。
java語言是跨平台,jvm不是跨平台的。
JRE(Java Runtime Environment):java的運行環境,包括jvm+java的核心類庫。
JDK(Java Development Kit):java的開發工具,包括jre+開發工具


2、環境變量path和Classpath的作用是什麼?
(1)path是配置Windows可執行文件的搜索路徑,即擴展名為.exe的程序文件所在的目錄,
用於指定DOS窗口命令的路徑。
(2)Classpath是配置class文件所在的目錄,用於指定類搜索路徑,JVM就是通過它來尋找該類的class類文件的。


3、變量有什麼用?為什麼要定義變量?什麼時候用?
答:變量的作用:用來存儲數據。
為什麼要定義變量:用來不斷的存放同一類型的常量,並可以重複使用



4、&和&&的區別?
答:(1)&&會出現短路,如果可以通過第一個表達式判斷出整個表達式的結果,則不繼續後面表達式的運算;
只能操作boolean類型數據;
(2)&不會出現短路,將整個表達式都運算。既可以操作boolean數據還可以操作數。


5、標示符命名規則:
由數字(0-9),大小寫英文字母,以及_和$組成。
不能以數字開頭。
不能使用關鍵字來自定義命名。


6、數據類型:
(1)基本數據類型(4類8種):
整數類型:byte、short、int、long
浮點數類型:float、double
字符類型:char
布爾類型:boolean(ture false)



7、類型轉換
精度從高到低 double float long int short(char) byte
(1)自動類型轉換 將一個低精度—高精度
(2)強制類型轉換 將一個高精度—低精度(精度會下降)


8、java語言的三種技術架構
J2EE:企業版
是為開發企業環境下的應用程式提供的一套解決方案。
該技術體系中包含的技術如 Servlet、Jsp等,主要針對於Web應用程式開發。
J2SE:標準版
是為開發普通桌面和商務應用程式提供的解決方案。
該技術體系是其他兩者的基礎,可以完成一些桌面應用程式的開發。
比如Java版的掃雷。
J2ME:小型版
是為開發電子消費產品和嵌入式設備提供的解決方案。


9、java的跨平台性:
通過Java語言編寫的應用程式在不同的系統平台上都可以運行。
跨平台的原因:
只要在需要運行java應用程式的作業系統上,先安裝一個Java虛擬機(JVM Java Virtual Machine)即可。
由JVM來負責Java程序在該系統中的運行。


10、有符號數據的表示法(次重點)
原碼,反碼(原碼取反),補碼(反碼+1)。


11、函數
定義:函數就是定義在類中的具有特定功能的一段獨立小程序。
特點:
定義函數可以將功能代碼進行封裝
便於對該功能進行復用
函數只有被調用才會被執行
函數的出現提高了代碼的復用性
對於函數沒有具體返回值的情況,返回值類型用關鍵字void表示,


函數的應用兩個明確:
明確要定義的功能最後的結果是什麼?
明確在定義該功能的過程中,是否需要未知內容參與運算


12、重載:
概念:在同一個類中,允許存在一個以上的同名函數,只要它們的參數個數或者參數類型不同即可。
特點:與返回值類型無關,只看參數列表(參數類型以及參數個數)。
好處:方便於閱讀,優化了程序設計。



13、數組:
概念:同一種數據類型的集合。
好處:可以自動給數組中的元素從0開始編號,方便操作這些元素。


14、內存結構:
棧內存:用於存儲局部變量,當數據使用完,所占空間會自動釋放。
堆內存:數組和對象,通過new建立的實例都存放在堆內存中。


本地方法區:window系統占用




1、想想這些代碼中用到了哪些知識點,不要一味地照著書本敲代碼,而不去理解。

①Java程式語言,即語法

②Java文件格式,即各種文件夾、文件的後綴

③Java虛擬機(JVM),即處理*.class文件的解釋器

④Java應用程式接口(Java API)

2、學好集合框架

描述複雜數據結構的主要方式是集合框架。Java沒有指針,而是通過強大的集合框架描述數組、對象數組等複雜的數據結構。學好這些數據結構的描述方法對於應用程式編寫,特別是涉及到伺服器方、3層結構編程至關重要。程式設計師在這個時候不能再用諸如資料庫結果集之類的結構描述數據了。

3、多線程需要理解機理

很多Java程式設計師熱衷於多線程程序編寫,認為是對邏輯能力的挑戰。其實在大量應用中根本就不需要編寫多線程程序,或者說大多數編寫應用程式的程式設計師不會去寫多線程程序。這是因為多線程機制都內置到基礎平台當中了。

程式設計師應該了解的是多線程原理和多線程安全,這對於今後準確地把握程序是至關重要的。

4、重視接口

在面向對象早期的應用中大量使用了類繼承。隨著軟體工程理論的不斷發展,人們開始意識到了繼承的眾多缺點,開始努力用聚合代替繼承。軟體工程解決擴展性的重要原則就是抽象描述,直接使用的工具就是接口。接口近年來逐漸成為Java編程方法的核心。另一方面,就應用而言,大部分開發是建立在規範基礎之上的,不需要自己建立複雜的繼承關係和龐大的類。因此讀懂規範和用好規範已經成為應用程式開發人員的首要任務,Java各項規範的主要描述手段就是接口。

5、JAVA的三個技術平台的關係

Java分為三個體系,分別為Java SE、JavaEE、Java ME。

java分兩部分編譯和運行。

javac:負責的是編譯的部分,當執行javac時,會啟動java的編譯器程序。對指定擴展名的.java文件進行編譯,生成了jvm可以識別的字節碼文件,也就是class文件,也就是java的運行程序。

java:負責運行的部分會啟動jvm加載運行時所需的類庫,並對class文件進行執行.一個文件要被執行,必須要有一個執行的起始點,這個起始點就是main函數。

關鍵字: