




已閱讀5頁,還剩12頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
java基礎知識重點總結 學習要學會分清重點和難點。下面為大家了相關java基礎知識重點總結,希望大家喜歡。 1.基本數據類型 整形: byte1個字節 short2個字節 int4個字節 long8個字節 字符: char2個字節 浮點數: float4個字節 double8個字節 布爾: boolean1個字節 2.java7新增二進制整數,以0b或者0B開頭 3.java中字符時16位的Unicode編碼方式,格式是uXXXX,其中xxxx代表一個十六進制整數 4.java中規定了正無窮大、負無窮大和零 正無窮大=一個正數除以0 負無窮大=一個負數除以零 0.0除以0.0或者對一個負數開方得到一個非數 5.在java中布爾類型只能是true和false 6.在java中沒有多維數組 看似像C語言中的多維數組不是真正的數組,比如a34,a0a1a2是真實存在的,裝的是地址,和c語言中動態分配為的數組一樣 intb=newint34 7.Java中帶包的編譯方法 javac-d.Hello.java會在當前目錄下生成目錄樹,運行java包名字.類名字 8.Java多態中的對象的filed不具有多態性,如父類對象=new子類(),對象.field是調用的父類的,即使子類中覆蓋了該字段。 9.instanceof運算符 格式:引用變量名instanceof類名(或者接口)他用于判斷前面的對象是否是后面對象的類,子類、實現類的實例,是返回true,否者返回false。 10.Java中基本數據類型和對應封裝類之間的轉化 inta=1; IntegerA=newInteger(a); a=A.intValue(); 其他的類型也是這樣的。 11.抽象類和接口有什么區別? 1)abstractclass在Java語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個interface。 2)在abstractclass中可以有自己的數據成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的數據成員(也就是必須是staticfinal的,不過在interface中一般不定義數據成員),所有的成員方法都是abstract的。 3)abstractclass和interface所反映出的設計理念不同。其實abstractclass表示的是is-a關系,interface表示的是like-a關系。 4)實現抽象類和接口的類必須實現其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現方法。 5)接口中定義的變量默認是publicstaticfinal型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。 6)抽象類中的變量默認是friendly型,其值可以在子類中重新定義,也可以重新賦值。 7)接口中的方法默認都是public,abstract類型的。 12.final修飾的成員變量初始化問題 類Field:必須在靜態初始塊中或聲明該FIeld時指定初始值。 實例Field:必須在非靜態初始塊中或聲明該FIeld時指定初始值或構造器中聲明。 13.Final變量必須顯式初始化,系統不會對final變量進行隱式初始化 14.java會使用常量池來管理曾經用過的字符串直接常量,例如:Stringa=java;,系統把常量字符串“java”存在常量池,當再次執行Stringb=java;a=b是true 15.final方法不可以重寫,final類不能被繼承 如果用private方法和finalprivate是一樣的。 若果是用final修飾的方法在子類中出現,那是子類新定義的,與父類沒有關系。 16.不可變類:創建后該類的Field是不可改變的。java提供了8個基本變量的包裝類和string都是不可改變類。 17.線程的四種狀態 1)新狀態:線程已被創建但尚未執行(start()尚未被調用)。 2)可執行狀態:線程可以執行,雖然不一定正在執行。CPU時間隨時可能被分配給該線程,從而使得它執行。 3)死亡狀態:正常情況下run()返回使得線程死亡。調用stop()或destroy()亦有同樣效果,但是不被推薦,前者會產生異常,后者是強制終止,不會釋放鎖。 4)阻塞狀態:線程不會被分配CPU時間,無法執行。 18.static和abstract不能同時修飾一個方法,沒有類抽象方法 19.一個類可以又一個父類,實現多個接口,接口中Filed是public、static、final的,方法是publicabstract的 20.非靜態內部類的方法訪問某個變量,搜索順序為:先內部類中方法內-內部類-外部類中如果都找不到則出現編譯錯誤 21.非靜態內部類不能有靜態方法、靜態Field、靜態初始化塊 22.在外部類之外訪問內部類 訪問非靜態內部類:outclass.Inclassvarname=newoutclass().newInClass(); 訪問靜態內部類:outclass.Inclassvarname=newoutclass.Inclass(); 一:java概述: 1991年Sun公司的JamesGosling(詹姆斯高斯林)等人開始開發名稱為Oak的語言,希望用于控制嵌入在有線電視交換盒、PDA等的微處理器; 1994年將Oak語言更名為Java; Java的三種技術架構: JAVAEE:JavaPlatformEnterpriseEdition,開發企業環境下的應用程序,主要針對web程序開發; JAVASE:JavaPlatformStandardEdition,完成桌面應用程序的開發,是其它兩者的基礎; JAVAME:JavaPlatformMicroEdition,開發電子消費產品和嵌入式設備,如手機中的程序; 1,JDK:JavaDevelopmentKit,java的開發和運行環境,java的開發工具和jre。 2,JRE:JavaRuntimeEnvironment,java程序的運行環境,java運行的所需的類庫+JVM(java虛擬機)。 3,配置環境變量:讓javajdkbin目錄下的工具,可以在任意目錄下運行,原因是,將該工具所在目錄告訴了系統,當使用該工具時,由系統幫我們去找指定的目錄。 環境變量的配置: 1):永久配置方式:JAVA_HOME=%安裝路徑%Javajdk path=%JAVA_HOME%bin 2):臨時配置方式:setpath=%path%;C:ProgramFilesJavajdkbin 特點:系統默認先去當前路徑下找要執行的程序,如果沒有,再去path中設置的路徑下找。 classpath的配置: 1):永久配置方式:classpath=.;c:;e: 2):臨時配置方式:setclasspath=.;c:;e: 注意:在定義classpath環境變量時,需要注意的情況 如果沒有定義環境變量classpath,java啟動jvm后,會在當前目錄下查找要運行的類文件; 如果指定了classpath,那么會在指定的目錄下查找要運行的類文件。 還會在當前目錄找嗎?兩種情況: 1):如果classpath的值結尾處有分號,在具體路徑中沒有找到運行的類,會默認在當前目錄再找一次。 2):如果classpath的值結果出沒有分號,在具體的路徑中沒有找到運行的類,不會再當前目錄找。 一般不指定分號,如果沒有在指定目錄下找到要運行的類文件,就報錯,這樣可以調試程序。 4,javac命令和java命令做什么事情呢? 要知道java是分兩部分的:一個是編譯,一個是運行。 javac:負責的是編譯的部分,當執行javac時,會啟動java的編譯器程序。對指定擴展名的.java文件進行編譯。生成了jvm可以識別的字節碼文件。也就是class文件,也就是java的運行程序。 java:負責運行的部分.會啟動jvm.加載運行時所需的類庫,并對class文件進行執行. 一個文件要被執行,必須要有一個執行的起始點,這個起始點就是main函數. 二:java語法基礎: 1,關鍵字:其實就是某種語言賦予了特殊含義的單詞。 保留字:其實就是還沒有賦予特殊含義,但是準備日后要使用過的單詞。 2,標示符:其實就是在程序中自定義的名詞。比如類名,變量名,函數名。包含0-9、a-z、$、_; 注意: 1),數字不可以開頭。 2),不可以使用關鍵字。 3,常量:是在程序中的不會變化的數據。 4,變量:其實就是內存中的一個存儲空間,用于存儲常量數據。 作用:方便于運算。因為有些數據不確定。所以確定該數據的名詞和存儲空間。 特點:變量空間可以重復使用。 什么時候定義變量?只要是數據不確定的時候,就定義變量。 變量空間的開辟需要什么要素呢? 1,這個空間要存儲什么數據?數據類型。 2,這個空間叫什么名字啊?變量名稱。 3,這個空間的第一次的數據是什么?變量的初始化值。 變量的作用域和生存期: 變量的作用域: 作用域從變量定義的位置開始,到該變量所在的那對大括號結束; 生命周期: 變量從定義的位置開始就在內存中活了; 變量到達它所在的作用域的時候就在內存中消失了; 數據類型: 1):基本數據類型:byte、short、int、long、float、double、char、boolean 2):引用數據類型:數組、類、接口。 級別從低到高為:byte,char,short(這三個平級)-int-float-long-double 自動類型轉換:從低級別到高級別,系統自動轉的; 強制類型轉換:什么情況下使用?把一個高級別的數賦給一個別該數的級別低的變量; 運算符號: 1)、算術運算符。 +-*/%:任何整數模2不是0就是1,所以只要改變被模數就可以實現開關運算。 +:連接符。 +,- 2)、賦值運算符。 =+=-=*=/=%= 3)、比較運算符。 特點:該運算符的特點是:運算完的結果,要么是true,要么是false。 4)、邏輯運算符。 &|!&| 邏輯運算符除了!外都是用于連接兩個boolean類型表達式。 &:只有兩邊都為true結果是true。否則就是false。 |:只要兩邊都為false結果是false,否則就是true :異或:和或有點不一樣。 兩邊結果一樣,就為false。 兩邊結果不一樣,就為true. &和&區別:&:無論左邊結果是什么,右邊都參與運算。 &:短路與,如果左邊為false,那么右邊不參數與運算。 |和|區別:|:兩邊都運算。 |:短路或,如果左邊為true,那么右邊不參與運算。 5)、位運算符:用于操作二進制位的運算符。 &| (無符號右移) 練習:對兩個變量的數據進行互換。不需要第三方變量。 inta=3,b=5;-b=3,a=5; a=a+b;a=8; b=a-b;b=3; a=a-b;a=5; a=ab;/ b=ab;/b=abb=a a=ab;/a=aba=b; 練習:高效的算出2*8=21;/(max+min)/2; while(arrmid!=key) if(keyarrmid) min=mid+1; elseif(key max=mid-1; if(max return-1; mid=(max+min)1; returnmid; - java分了5片內存。 1:寄存器。2:本地方法區。3:方法區。4:棧。5:堆。 棧:存儲的都是局部變量(函數中定義的變量,函數上的參數,語句中的變量); 只要數據運算完成所在的區域結束,該數據就會被釋放。 堆:用于存儲數組和對象,也就是實體。啥是實體啊?就是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年法律與規范的職業道德綜合測試題及答案
- 2025年甘肅省民航機場集團勞務派遣工招聘45人筆試備考題庫及完整答案詳解1套
- 物資公司財務管理制度
- 特殊兒童專案管理制度
- 特殊時間安全管理制度
- 特殊行業善后管理制度
- 豬場全程用料管理制度
- 豬場日常針劑管理制度
- 王者戰隊人員管理制度
- 環保公司內部管理制度
- 印制電路板領域:深南電路企業組織結構及部門職責
- 年產120萬噸氧化鋁拜爾法生產高壓溶出工藝設計
- 《哈爾濱工程大學學報》模板
- DB14T 1049.1-2020 山西省用水定額 第1部分:農業用水定額
- 配載平衡基礎培訓
- 醫療廢物管理相關法律、法規介紹
- 漯河醫學高等專科學校輔導員招聘考試行政管理教師崗筆試面試歷年真題庫試卷
- 政審在校證明
- 變電站一次通流-通壓試驗方法的探討與實踐
- 線槽燈安裝施工工法
- 自由公差對照表(共3頁)
評論
0/150
提交評論