java概述与基础知识
主要知識點:
?
- 什么是編程?
編程就是讓計算機為解決某個問題而使用某種程序設計語言編寫程序代碼,并最終得到結果的過程。為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路,方法和手段通過計算機能理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步的完成工作,完成某種特定的任務。
這種人和計算機之間交流的過程就是編程。
?
- 什么是跨平臺性?原理是什么?JVM
所謂跨平臺性,是指java語言編寫的程序,一次編譯后,可以在多個系統平臺上運行。
實現原理:java程序是通過java虛擬機在系統平臺上運行的,只要該系統可以安裝相應的java虛擬機,該系統就可以運行java程序。
?
java程序之所以能夠實現跨平臺運行,是因為它根本就不直接運行在任何底層平臺上,而是需要在哪里運行就要在哪里準備好自己的java平臺,而這只是安裝配置一個軟件。
?
- Jre和Jdk的區別
Jre:Java Runtime Environment,java運行環境,包含java虛擬機JVM和java程序所需的核心類庫等,如果想要運行一個開發好的java程序,計算機只需要安裝JRE即可
Jdk:Java Development Kit Java ,開發工具包。JDK是提供給java開發人員使用的,其中包含了java的開發工具,也包括了JRE。所以安裝了JDK,就不用在單獨安裝JRE了
簡單來說,使用JDK開發完成的java 程序,交給JRE運行。
?
- java虛擬機jvm
Java Virtual Machine,簡稱JVM。
它是運行所有java程序的抽象計算機,是java語言的運行環境,它是java最具吸引力的特性之一,JVM讀取并且處理編譯過的與平臺無關的字節碼(class)文件。java編輯器針對JVM產生class文件,因此是獨立于平臺的。
java虛擬機不是跨平臺的。
- java程序運行機制
?
?編譯:javac 文件名.文件名后綴
?運行:java 類名
?java程序的組成:Java源文件,字節碼文件。
?
javac :負責的是編譯的部分,當執行 javac 時,會啟動 java 的編譯器程序。對指定擴展名的.java 文件進行編譯。 生成了 jvm 可以識別的字節碼文件。也就是 class 文件,也 就是 java 的運行程序。
java :負責運行的部分.會啟動 jvm.加載運行時所需的類庫,并對 class 文件進行執行.一個文件要被執行,必須要有一個執行的起始點,這個起始點就是 main 函數.
?
- java環境變量
配置環境變量:讓java jdk\bin 目錄下的工具,可以在任意的目錄下運行,原因是將該工具所在的目錄告訴了系統,當使用該工具的時候,由系統幫我們去尋找指定的目錄。
環境變量的配置:
永久配置方法:JAVA_HOME=%安裝路徑%\Java\jdk
? ? path=%JAVA_HOME%\bin
臨時配置方法:set path=%path%;C:\Program Files\Java\jdk\bin
? ? 特點:系統默認先去當前路徑下找要執行的程序,如果沒有,在去path中設置的路徑尋找。
classpath的配置:
永久配置方式:classpath=.;c:\;e:\
臨時配置方式:set classpath=.;c:\;e:\
注意:在定義classpath環境變量時需要注意的情況
如果沒有定義環境變量classpath,java啟動jvm后,會在當前目錄下查找要運行的類文件:
如果指定了classpath,那么會在指定的目錄下查找要運行的類文件。
還會在當前目錄查找嗎?兩種情況。
如果classpath的值結尾處有分號,在具體路徑中沒有找到運行的類,會默認在當前目錄在找一次。
如果classpath的值在結尾處沒有分號,在具體路徑中沒有找到運行的類,不會在再當前目錄下找,
一般不指定分號,如果沒有在指定目錄下找到運行的類文件,就報錯,這樣就可以調試。
?
- java基礎語法
關鍵字:其實就是某語言賦予特殊含義的單詞。
保留字:其實就是還有沒有賦予特殊的含義,日后要使用的單詞。
標志符:其實就是在程序中自定義的名詞。比如類名,變量名,函數名。包含0-9,a-z,A-Z,$,_。
注意:數字不可以開頭,不可以使用關鍵字。
常量:是在程序中不會變化的數據。
變量:其實就是內存中的存儲空間,用于存儲常量數據。
作用:方便運算,因為有些數據不確定,所以確定該數據的名詞和存儲空間。
特點:變量空間可以重復使用。
什么時候定義變量?只要是數據不確定的餓時候,就要定義變量。
?
變量空間開辟需要什么要素呢?
?
變量的作用域和生存周期?
變量的作用域:
作用域從變量定義的開始位置,到該變量所在的那對大括號結束。
生命周期:
變量從定義的位置開始就在內存中活了。
變量到達它所在作用域的時候,就在內存中消失了。
?
數據類型:
基本數據類型:byte short int long float double char boolean
引用數據類型:數組 類 接口
級別從低到高為:byte char short (這三個平級)→int→long→float→double.
自動類型轉換:從低級別到高級別,系統自動轉換。
強置類型轉換:什么情況下使用?把一個高級別的數賦給一個低級別的變量。
總結:類型轉換。
小轉大,自動!自動類型轉換,也叫隱式類型轉換。
大轉小,強制!強制類型轉換,也叫顯式類型轉換。
?
運算符:
算術運算符。
+ - * / % %:任何整數模 2 不是 0 就是 1,所以只要改變被模數就可以實現開關運算。
+:連接符。
++,--
賦值運算符。
= += -= *= /= %=
3 / 65
比較運算符。
特點:該運算符的特點是:運算完的結果,要么是 true,要么是 false。
邏輯運算符。
& | ^ ! && ||
邏輯運算符除了 ! 外都是用于連接兩個 boolean 類型表達式。
&: 只有兩邊都為 true 結果是 true。否則就是 false。
|:只要兩邊都為 false 結果是 false,否則就是 true
^:異或:和或有點不一樣。
兩邊結果一樣,就為 false。
兩邊結果不一樣,就為 true.
&? 和? &&: 區別:
& :無論左邊結果是什么,右邊都參與運算。
&&: 短路與,如果左邊為 false,那么右邊不參數與運算。
| 和? ||? 區別:
|:兩邊都運算。
|| :短路或,如果左邊為 true,那么右邊不參與運算
?
語句:
if switch do while while for
這些語句什么時候用?
1.當判斷固定個數的值的時候,可以使用if,也可以使用switch。
但是建議使用switch,效率相對較高。
switch(變量){
case 值:要執行的語句,break。
...
default:要執行的語句。
}
工作原理:用小括號變量的值依次和case的值進行比較,和哪個case后面的值相同了,就執行哪個case后面的語句。如果沒有則執行default后面的語句。
細節:
break是可以省略的,如果省略了就一直執行到遇到break為止。
switch后面的小括號中的變量應該是byte,char,short,int,枚舉,當中的一種。
default可以寫在switch語句的任意位置,如果將default放在第一行,? 則不管expression 與case? 中的 value? 是否匹配,程序會從default?
開始執行直到第一個 break? 出現。
2.當判斷數據范圍,獲取判斷結果為Boolean類型的時候,需要if語句。
3.當某些語句需要執行多次的時候,就用循環結構。
while 和 for 可以進行互換:區別在于,要控制循環次數,建議使用for,因為for循環完畢,變量在內存中釋放。
break作用于switch和循環語句中,用于跳出,或者成為結束。
continue只用于循環結構,結束本次循環,繼續下次循環,該語句單詞存在,下面不允許定義語句,執行不到。
?
表達式和三目運算符:
表達式:是由數字,運算符,數字分組符號(括號)等能求得數值的有意義的排序的序列。例如 a+b,3.14+a,boolean b= i < 10 && (i%10 != 0)
表達式的值:對表達式操作運算得到的結果是表達式的值。
表達式的類型:表達式的值的數據類型就是表達式的類型。
表達式的運算順序:應按照運算符的優先級從高到低進行,優先級相同按照從左到右的順序進行。
三目運算符:語法格式 x?y:z 其中x為boolean表達式,先計算x的值,若為true,其結果是y,否則是z。
?
轉載于:https://www.cnblogs.com/yanghyun/p/4299466.html
總結
以上是生活随笔為你收集整理的java概述与基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手S123评级校验是什么意思
- 下一篇: 卸载sharepoint2013