最新国产在线不卡AV,国产又爽又黄的视频免费看,精品综合久久久久久97,日韩欧美高清中文字幕免费一区二区

            科普

            java入門基礎(chǔ)知識有哪些_java語法基礎(chǔ)知識 IT知識

            電腦知識優(yōu)爾供稿

            零基礎(chǔ)入門學(xué)習(xí)Java開發(fā)要學(xué)習(xí)Java基礎(chǔ)語法、關(guān)鍵字、標(biāo)識符、變量、AScii碼和Unicode碼、基本數(shù)據(jù)類型轉(zhuǎn)化、String類、進(jìn)制、運(yùn)算符、程序流程控制語句等基礎(chǔ)知識。下面是9252兒童網(wǎng)小編為大家整理的java入門基礎(chǔ)知識,希望對你們有幫助。

            java入門基礎(chǔ)知識有哪些

            Java初學(xué)者基礎(chǔ)知識

            1、先明白了解什么是Java的四個方面

            初學(xué)者先弄清這些Java的基本概念也是必不可少的,死記硬背肯定是不行的,重在理解,理解它們之間的區(qū)別與聯(lián)系,分別有哪些應(yīng)用。想想這些代碼中用到了哪些知識點。不要一味地照著書本敲代碼。而不去理解。

            1.Java編程語言,即語法。

            2.Java文件格式,即各種文件夾、文件的后綴。

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

            4.Java應(yīng)用程序接口(Java API)。

            2、掌握靜態(tài)方法和屬性

            靜態(tài)方法和屬性用于描述某一類對象群體的特征,而不是單個對象的特征。Java中大量應(yīng)用了靜態(tài)方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。理解靜態(tài)方法和屬性對于理解類與對象的關(guān)系是十分有幫助的,在大量的Java規(guī)范中,靜態(tài)方法和屬性被頻繁使用。因此學(xué)習(xí)者應(yīng)該理解靜態(tài)方法和屬性。Java在方法和屬性的調(diào)用上是一致的,區(qū)別只表現(xiàn)在聲明的時候,這和c++是不同的。

            3、初學(xué)者還需明白JAVA的三個技術(shù)平臺的關(guān)系

            Java分為三個體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,標(biāo)準(zhǔn)版)。JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業(yè)版)。Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

            要知道java是分兩部分的:一個是編譯,一個是運(yùn)行。

            javac:負(fù)責(zé)的是編譯的部分,當(dāng)執(zhí)行javac時,會啟動java的編譯器程序。對指定擴(kuò)展名的.java文件進(jìn)行編譯。 生成了jvm可以識別的字節(jié)碼文件。也就是class文件,也就是java的運(yùn)行程序。

            java:負(fù)責(zé)運(yùn)行的部分.會啟動jvm.加載運(yùn)行時所需的類庫,并對class文件進(jìn)行執(zhí)行.一個文件要被執(zhí)行,必須要有一個執(zhí)行的起始點,這個起始點就是main函數(shù)。

            4、掌握J(rèn)AVA代碼的基本格式

            1、Java注釋盡可能全面

            對于方法的注釋應(yīng)該包含詳細(xì)的入?yún)⒑徒Y(jié)果說明,有異常拋出的情況也要詳細(xì)敘述:類的注釋應(yīng)該包含類的.功能說明、作者和修改者。

            2、多次使用的相同變量最好歸納成常量

            多處使用的相同值的變量應(yīng)該盡量歸納為一個常量,方便日后的維護(hù)。

            3、盡量少的在循環(huán)中執(zhí)行方法調(diào)用

            盡量在循環(huán)中少做一些可避免的方法調(diào)用,這樣可以節(jié)省方法棧的創(chuàng)建。例如:

            for(int i=0;i

            System.out.println(i);

            }

            可以修改為:

            for(int i=0,size=list.size();i

            System.out.println(i);

            }

            4、常量的定義可以放到接口中

            在Java中,接口里只允許存在常量,因此把常量放到接口中聲明就可以省去public static final這幾個關(guān)鍵詞。

            5、ArrayList和LinkedList的選擇

            這個問題比較常見。通常程序員最好能夠?qū)ist的使用場景做出評估,然后根據(jù)特性作出選擇。ArrayList底層是使用數(shù)組實現(xiàn)的,因此隨機(jī)讀取數(shù)據(jù)會比LinkedList快很多,而LinkedList是使用鏈表實現(xiàn)的,新增和刪除數(shù)據(jù)的速度比ArrayList快不少。

            6、String,StringBuffer和StringBuilder

            這個問題也比較常見。在進(jìn)行字符串拼接處理的時候,String通常會產(chǎn)生多個對象,而且將多個值緩存到常量池中。例如:

            String a=“a”;

            String b=“b”;

            a=a+b;

            這種情況下jvm會產(chǎn)生“a”,“b”,“ab”三個對象。而且字符串拼接的性能也很低。因此通常需要做字符串處理的時候盡量采用StringBuffer和StringBuilder來。

            7、包裝類和基本類型的選擇

            在代碼中,如果可以使用基本數(shù)據(jù)類型來做局部變量類型的話盡量使用基本數(shù)據(jù)類型,因為基本類型的變量是存放在棧中的,包裝類的變量是在堆中,棧的操作速度比堆快很多。

            8、盡早的將不再使用的變量引用賦給null

            這樣做可以幫助jvm更快的進(jìn)行內(nèi)存回收。當(dāng)然很多人其實對這種做法并不感冒。

            9、在finally塊中對資源進(jìn)行釋放

            典型的場景是使用io流的時候,不論是否出現(xiàn)異常最后都應(yīng)該在finally中對流進(jìn)行關(guān)閉。

            10、在HashMap中使用一個Object作為key時要注意如何區(qū)分Object是否相同

            在jdk的HashMap實現(xiàn)中,判斷兩個Object類型的key是否相同的標(biāo)準(zhǔn)是hashcode是否相同和equals方法的返回值。如果業(yè)務(wù)上需要對兩個數(shù)據(jù)相同的內(nèi)存對象當(dāng)作不同的key存儲到hashmap中就要對hashcode和equals方法進(jìn)行覆蓋。

            Java描述復(fù)雜數(shù)據(jù)結(jié)構(gòu)的主要方式是集合框架。Java沒有指針,而是通過強(qiáng)大的集合框架描述數(shù)組、對象數(shù)組等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。學(xué)好這些數(shù)據(jù)結(jié)構(gòu)的描述方法對于應(yīng)用程序編寫,特別是涉及到服務(wù)器方、3層結(jié)構(gòu)編程至關(guān)重要。程序員在這個時候不能再用諸如數(shù)據(jù)庫結(jié)果集之類的結(jié)構(gòu)描述數(shù)據(jù)了。

            由于很多語言沒有這么強(qiáng)大的集合框架體系,很多初學(xué)者不知所措,更不知道拿來做什么用,因此應(yīng)該引起足夠的重視。

            Java的基礎(chǔ)知識

            Int基本類型

            首先,Java整數(shù)是32位有符號(即正整數(shù)和負(fù)整數(shù)),用int關(guān)鍵字表示:

            Int someNumber = 10;

            當(dāng)然,與所有基本類型一樣,整數(shù)也有其局限性。因為它只有32位,所以它的值范圍從-2147483648到2147483647。那可是個大數(shù)目!當(dāng)然,我們可以使用以下技術(shù)在DrJava交互面板中確認(rèn)這一點:

            MAX_VALUE //打印2,147,483,647整數(shù)。MIN_VALUE //打印-2,147,483,648

            自然,int是最常用的用于簡單計算的整數(shù)類型。如果您需要更大的數(shù)字范圍,請參閱下面的long。

            兩個基本類型

            與int不同,Java的double類型是一個64位浮點數(shù),由double關(guān)鍵字表示:

            雙someNumber = 110.55;

            需要注意的是,浮點數(shù)實際上是實數(shù)。換句話說,一個雙精度浮點數(shù)包含一個小數(shù)點。

            由于雙精度類型是64位的,所以它可以表示比整數(shù)更多的數(shù)字。同樣,我們可以使用交互面板來確認(rèn)雙精度類型的范圍:

            翻倍。MAX_VALUE / / 1.7976931348623157 e308雙打印

            重要的是要注意,負(fù)指數(shù)表示非常小的數(shù)字,而不是非常大的負(fù)數(shù)。所以這里的取值范圍和整數(shù)不完全一樣。

            通常,double是Java中使用浮點數(shù)的默認(rèn)選擇。另一種選擇是浮動。

            炭基類型

            如我們所見,Java中的字符類型表示16個字符,由CHAR關(guān)鍵字表示:

            Char someCharacter = 'f';

            Java中的所有字符都用單引號表示。此外,雙引號用于表示字符串。我們稍后會講到字符串。(頁面)

            像往常一樣,我們可以通過以下代碼來查找字符的范圍:

            的性格。MAX_VALUE / / print '??'字符。MIN_VALUE / /打印”

            為了使這個范圍有意義,我們可以把結(jié)果轉(zhuǎn)換成整數(shù)(更多關(guān)于這個稍后):

            (int)字符。輸出65535(int)字符。min_value //輸出0

            如您所見,char類型是Java中唯一的無符號類型。換句話說,字符的值范圍從0到65535,每個值映射到一個特定的字符。如果需要創(chuàng)建該范圍之外的字符,可以組合一對字符。

            字節(jié)基類型

            當(dāng)我們討論二進(jìn)制時,我們實際上是在討論比特的概念。字節(jié)由8位組成,字節(jié)是Java支持的基本類型之一。實際上,字節(jié)類型只不過是一個8位整數(shù),其值從-128到127不等??梢圆碌?,字節(jié)由byte關(guān)鍵字表示:

            someByte = 20;

            同樣,您可以使用以下代碼片段來確認(rèn)字節(jié)類型的值范圍:

            字節(jié)。輸出127字節(jié)。min_value //打印-128

            字節(jié)類型在讀取和處理原始數(shù)據(jù)時很有用。但一般來說,我們不會用它因為范圍太小了。

            java語法基礎(chǔ)知識

            1,關(guān)鍵字:其實就是某種語言賦予了特殊含義的單詞。

            保留字:其實就是還沒有賦予特殊含義,但是準(zhǔn)備日后要使用過的單詞。

            2,標(biāo)示符:其實就是在程序中自定義的名詞。比如類名,變量名,函數(shù)名。包含 0-9、a-z、$、_ ;

            注意:

            1),數(shù)字不可以開頭。

            2),不可以使用關(guān)鍵字。

            3,常量:是在程序中的不會變化的數(shù)據(jù)。

            4,變量:其實就是內(nèi)存中的一個存儲空間,用于存儲常量數(shù)據(jù)。

            作用:方便于運(yùn)算。因為有些數(shù)據(jù)不確定。所以確定該數(shù)據(jù)的名詞和存儲空間。

            特點:變量空間可以重復(fù)使用。

            什么時候定義變量?只要是數(shù)據(jù)不確定的時候,就定義變量。

            變量空間的開辟需要什么要素呢?

            1,這個空間要存儲什么數(shù)據(jù)?數(shù)據(jù)類型。

            2,這個空間叫什么名字啊?變量名稱。

            3,這個空間的第一次的數(shù)據(jù)是什么? 變量的初始化值。

            變量的作用域和生存期:

            變量的作用域:

            作用域從變量定義的位置開始,到該變量所在的那對大括號結(jié)束;

            生命周期:

            變量從定義的位置開始就在內(nèi)存中活了;

            變量到達(dá)它所在的作用域的時候就在內(nèi)存中消失了;

            數(shù)據(jù)類型:

            1):基本數(shù)據(jù)類型:byte、short、int、long、float、double、char、boolean

            2):引用數(shù)據(jù)類型: 數(shù)組、類、接口。

            級別從低到高為:byte,char,short(這三個平級)-->int-->float-->long-->double

            自動類型轉(zhuǎn)換:從低級別到高級別,系統(tǒng)自動轉(zhuǎn)的;

            強(qiáng)制類型轉(zhuǎn)換:什么情況下使用?把一個高級別的數(shù)賦給一個別該數(shù)的級別低的變量;

            運(yùn)算符號:

            1)、算術(shù)運(yùn)算符。

            + - * / % %:任何整數(shù)模2不是0就是1,所以只要改變被模數(shù)就可以實現(xiàn)開關(guān)運(yùn)算。

            +:連接符。

            ++,--

            2)、賦值運(yùn)算符。

            = += -= *= /= %=

            3)、比較運(yùn)算符。

            特點:該運(yùn)算符的特點是:運(yùn)算完的`結(jié)果,要么是true,要么是false。

            4)、邏輯運(yùn)算符。

            & ^ ! &&

            邏輯運(yùn)算符除了 ! 外都是用于連接兩個boolean類型表達(dá)式。

            &: 只有兩邊都為true結(jié)果是true。否則就是false。

            :只要兩邊都為false結(jié)果是false,否則就是true

            ^:異或:和或有點不一樣。

            兩邊結(jié)果一樣,就為false。

            兩邊結(jié)果不一樣,就為true.

            & 和 &&區(qū)別: & :無論左邊結(jié)果是什么,右邊都參與運(yùn)算。

            &&:短路與,如果左邊為false,那么右邊不參數(shù)與運(yùn)算。

            和 區(qū)別::兩邊都運(yùn)算。

            :短路或,如果左邊為true,那么右邊不參與運(yùn)算。

            5)、位運(yùn)算符:用于操作二進(jìn)制位的運(yùn)算符。

            & ^

            << >> >>>(無符號右移)

            練習(xí):對兩個變量的數(shù)據(jù)進(jìn)行互換。不需要第三方變量。

            int a = 3,b = 5;-->b = 3,a = 5;

            a = a + b; a = 8;

            b = a - b; b = 3;

            a = a - b; a = 5;

            a = a ^ b;//

            b = a ^ b;//b = a ^ b ^ b = a

            a = a ^ b;//a = a ^ b ^ a = b;

            練習(xí):高效的算出 2*8 = 2<<3;

            5,語句。

            If switch do while while for

            這些語句什么時候用?

            1)、當(dāng)判斷固定個數(shù)的值的時候,可以使用if,也可以使用switch。

            但是建議使用switch,效率相對較高。

            switch(變量){

            case 值:要執(zhí)行的語句;break;

            default:要執(zhí)行的語句;

            }

            工作原理:用小括號中的變量的值依次和case后面的值進(jìn)行對比,和哪個case后面的值相同了

            就執(zhí)行哪個case后面的語句,如果沒有相同的則執(zhí)行default后面的語句;

            細(xì)節(jié):1):break是可以省略的,如果省略了就一直執(zhí)行到遇到break為止;

            2):switch 后面的小括號中的變量應(yīng)該是byte,char,short,int四種類型中的一種;

            3):default可以寫在switch結(jié)構(gòu)中的任意位置;如果將default語句放在了第一行,則不管expression與case中的value是否匹配,程序會從default開始執(zhí)行直到第一個break出現(xiàn)。

            2)、當(dāng)判斷數(shù)據(jù)范圍,獲取判斷運(yùn)算結(jié)果boolean類型時,需要使用if。

            3)、當(dāng)某些語句需要執(zhí)行很多次時,就用循環(huán)結(jié)構(gòu)。

            while和for可以進(jìn)行互換。

            區(qū)別在于:如果需要定義變量控制循環(huán)次數(shù)。建議使用for。因為for循環(huán)完畢,變量在內(nèi)存中釋放。

            break:作用于switch ,和循環(huán)語句,用于跳出,或者稱為結(jié)束。

            break語句單獨(dú)存在時,下面不要定義其他語句,因為執(zhí)行不到,編譯會失敗。當(dāng)循環(huán)嵌套時,break只跳出當(dāng)前所在循環(huán)。要跳出嵌套中的外部循環(huán),只要給循環(huán)起名字即可,這個名字稱之為標(biāo)號。

            continue:只作用于循環(huán)結(jié)構(gòu),繼續(xù)循環(huán)用的。

            作用:結(jié)束本次循環(huán),繼續(xù)下次循環(huán)。該語句單獨(dú)存在時,下面不可以定義語句,執(zhí)行不到。

            三 函數(shù)

            6,函 數(shù):為了提高代碼的復(fù)用性,可以將其定義成一個單獨(dú)的功能,該功能的體現(xiàn)就是java中的函數(shù)。函數(shù)就是體現(xiàn)之一。

            java中的函數(shù)的定義格式:

            修飾符 返回值類型 函數(shù)名(參數(shù)類型 形式參數(shù)1,參數(shù)類型 形式參數(shù)1,…){

            執(zhí)行語句;

            return 返回值;

            }

            當(dāng)函數(shù)沒有具體的返回值時,返回的返回值類型用void關(guān)鍵字表示。

            如果函數(shù)的返回值類型是void時,return語句可以省略不寫的,系統(tǒng)會幫你自動加上。

            return的作用:結(jié)束函數(shù)。結(jié)束功能。

            如何定義一個函數(shù)?

            函數(shù)其實就是一個功能,定義函數(shù)就是實現(xiàn)功能,通過兩個明確來完成:

            1)、明確該功能的運(yùn)算完的結(jié)果,其實是在明確這個函數(shù)的返回值類型。

            2)、在實現(xiàn)該功能的過程中是否有未知內(nèi)容參與了運(yùn)算,其實就是在明確這個函數(shù)的參數(shù)列表(參數(shù)類型&參數(shù)個數(shù))。

            函數(shù)的作用:

            1)、用于定義功能。

            2)、用于封裝代碼提高代碼的復(fù)用性。

            注意:函數(shù)中只能調(diào)用函數(shù),不能定義函數(shù)。

            主函數(shù):

            1)、保證該類的獨(dú)立運(yùn)行。

            2)、因為它是程序的入口。

            3)、因為它在被jvm調(diào)用。

            函數(shù)定義名稱是為什么呢?

            答:1)、為了對該功能進(jìn)行標(biāo)示,方便于調(diào)用。

            2)、為了通過名稱就可以明確函數(shù)的功能,為了增加代碼的閱讀性。

            重載的定義是:在一個類中,如果出現(xiàn)了兩個或者兩個以上的同名函數(shù),只要它們的參數(shù)的個數(shù),或者參數(shù)的類型不同,即可稱之為該函數(shù)重載了。

            如何區(qū)分重載:當(dāng)函數(shù)同名時,只看參數(shù)列表。和返回值類型沒關(guān)系。

            7,數(shù) 組:用于存儲同一類型數(shù)據(jù)的一個容器。好處:可以對該容器中的數(shù)據(jù)進(jìn)行編號,從0開始。數(shù)組用于封裝數(shù)據(jù),就是一個具體的實體。

            如何在java中表現(xiàn)一個數(shù)組呢?兩種表現(xiàn)形式。

            1)、元素類型[] 變量名 = new 元素類型[元素的個數(shù)];

            2)、元素類型[] 變量名 = {元素1,元素2...};

            元素類型[] 變量名 = new 元素類型[]{元素1,元素2...};

            ---------------------------------------------------------

            //二分查找法。必須有前提:數(shù)組中的元素要有序。

            public static int halfSeach_2(int[] arr,int key){

            int min,max,mid;

            min = 0;

            max = arr.length-1;

            mid = (max+min)>>1; //(max+min)/2;

            while(arr[mid]!=key){

            if(key>arr[mid]){

            min = mid + 1;

            }

            else if(key

            max = mid - 1;

            if(max

            return -1;

            mid = (max+min)>>1;

            }

            return mid;

            }

            ---------------------------------------------------------

            java分了5片內(nèi)存。

            1:寄存器。2:本地方法區(qū)。3:方法區(qū)。4:棧。5:堆。

            棧:存儲的都是局部變量 ( 函數(shù)中定義的變量,函數(shù)上的參數(shù),語句中的變量 );

            只要數(shù)據(jù)運(yùn)算完成所在的區(qū)域結(jié)束,該數(shù)據(jù)就會被釋放。

            堆:用于存儲數(shù)組和對象,也就是實體。啥是實體啊?就是用于封裝多個數(shù)據(jù)的。

            1:每一個實體都有內(nèi)存首地址值。

            2:堆內(nèi)存中的變量都有默認(rèn)初始化值。因為數(shù)據(jù)類型不同,值也不一樣。

            3:垃圾回收機(jī)制。

              為你推薦