
Java基礎知識
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
ThinkWon
敏于觀察,勤于思考,善于綜合,勇于創新。
-
原創 Java是編譯型還是解釋型語言
1.編譯型語言和解釋型語言編譯型語言定義:在程序運行之前,通過編譯器將源程序編譯成機器碼(可運行的二進制代碼),以后執行這個程序時,就不用再進行編譯了。優點:編譯器一般會有預編譯的過程對代碼進行優化。因為編譯只做一次,運行時不需要編譯,所以編譯型語言的程序執行效率高,可以脫離語言環境獨立運行。缺點:編譯之后如果需要修改就需要整個模塊重新編譯。編譯的時候根據對應的運行環境生成機器碼,不同的操作系統之間移植就會有問題,需要根據運行的操作系統環境編譯不同的可執行文件。代表語言:C、C++、Pascal、2020-09-19 10:53:203904
2
-
原創 Java注釋
定義用于解釋說明程序的文字分類單行注釋格式: // 注釋文字多行注釋格式: /* 注釋文字 */文檔注釋格式:/** 注釋文字 */作用在程序中,尤其是復雜的程序中,適當地加入注釋可以增加程序的可讀性,有利于程序的修改、調試和交流。注釋的內容在程序編譯的時候會被忽視,不會產生目標代碼,注釋的部分不會對程序的執行結果產生任何影響。注意事項多行和文檔注釋都不能...2019-09-28 22:24:388275
4
-
原創 Java訪問修飾符
定義Java中,可以使用訪問修飾符來保護對類、變量、方法和構造方法的訪問。Java 支持 4 種不同的訪問權限。分類private : 在同一類內可見。使用對象:變量、方法。 注意:不能修飾類(外部類)default (即缺省,什么也不寫,不使用任何關鍵字): 在同一包內可見,不使用任何修飾符。使用對象:類、接口、變量、方法。protected : 對同一包內的類和所有子類可見。使...2019-09-28 22:27:529083
4
-
原創 Java分隔符
定義空格、逗號、分號以及行結束符都被稱為分隔符,規定任意兩個相鄰標識符、數字、保留字或語句之間必須至少有一個分隔符,以便程序編譯時能夠識別。分類; 分號 用來終止一個語句{} 花括號、大括號 用來包括自動初始化的數組的值,也用來定義程序塊、類、方法以及局部范圍[] 方括號、中括號 用來聲明數組的類型,也用來表示撤消對數組值的引用, 逗號 在變量聲明中,區分變量說明的各個變量...2019-09-28 22:31:5010011
7
-
原創 Java轉義字符
定義轉義字符是一種特殊的字符常量。轉義字符以反斜線""開頭,后跟一個或幾個字符。轉義字符具有特定的含義,不同于字符原有的意義,故稱“轉義”字符。常見轉義字符表Java中需要轉義的字符在Java中,不管是String.split(),還是正則表達式,有一些特殊字符需要轉義,這些字符是( [ { / ^ - $ | } ] ...2019-09-28 22:33:548471
4
-
原創 Java進制
定義進制也就是進位計數制,是人為定義的帶進位的計數方法。十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一,以此類推,x進制就是逢x進位。常用進制類型二進制計算機底層都是使用二進制進行存儲以及運算0b****;(以0b或者0B開始,*表示0或1)比如:010101原碼、反碼、補碼原碼原碼:將一個整數轉換成二進制表示以 int 類型為例,int類型占4個字節、...2019-09-28 22:36:387916
7
-
原創 Java流程控制語句-順序結構
定義順序結構是程序中最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先后順序,依次執行,程序中大多數的代碼都是這樣執行的舉例/* * 順序結構:從上往下,依次執行 */public class OrderDemo { public static void main(String[] args) { System.out.println("開始"); System.out...2019-09-28 22:48:588238
2
-
原創 Java流程控制語句-分支結構(選擇結構)
文章目錄定義分類if分支結構第一種格式格式執行流程舉例第二種格式格式執行流程舉例第三種格式格式執行流程舉例注意事項switch分支結構執行流程舉例注意事項定義條件語句可根據不同的條件執行不同的語句。包括if條件語句與switch多分支語句。分類if分支結構第一種格式格式if(條件表達式){執行的代碼塊;}執行流程執行流程圖執行流程說明首先判斷關系表達式看其結果是true...2019-09-28 22:54:258922
9
-
原創 Java流程控制語句-循環結構
定義循環語句就是在滿足一定條件的情況下反復執行某一個操作。包括while循環語句、do···while循環語句和for循環語句。分類for循環語句執行流程執行流程圖執行流程說明A:執行初始化語句B:執行判斷條件語句,看其結果是true還是false如果是false,循環結束。如果是true,繼續執行。C:執行循環體語句D:執行控制條件語句E:回到B繼續格式for(初...2019-09-28 23:02:387813
4
-
原創 Java流程控制語句
定義流程是指程序運行時,各語句的執行順序。流程控制語句就是用來控制程序中各語句執行的順序。分類順序結構Java流程控制語句-順序結構分支結構(選擇結構)Java流程控制語句-分支結構(選擇結構)循環結構Java流程控制語句-循環結構...2019-09-28 23:05:398249
4
-
原創 Java表達式
定義用運算符把常量或者變量連接起來符號java語法的式子就可以稱為表達式。類型和值表達式值的數據類型即為表達式的類型。對表達式中操作數進行運算得到的結果是表達式的值。運算順序應按照運算符的優先級從高到低的順序進行;優先級相同的運算符按照事先約定的結合方向進行;舉例a + b3.14 + a(x + y) * z + 100boolean b= i < 1...2019-09-28 23:44:007827
6
-
原創 Java運算符
文章目錄定義分類算術運算符比較運算符(關系運算符)賦值運算符邏輯運算符(符號的兩端都是boolean類型)位運算符(兩端都是數值型的數據)三元運算符(三目運算符)運算符的優先級定義運算符指明對操作數的運算方式。分類算術運算符+ - + - * / % ++ -- +注意事項1、/ 左右兩端的類型需要一致;2、%最后的符號和被模數相同;3、前++;先+1,后運算 后++;先...2019-09-28 23:59:316833
7
-
原創 Java變量
文章目錄定義分類按被聲明的位置劃分成員變量局部變量成員變量和局部變量的區別使用原則按所屬的數據類型劃分基本數據類型變量引用數據類型變量定義格式注意事項定義在程序執行的過程中,在某個范圍內其值可以發生改變的量。從本質上講,變量其實是內存中的一小塊區域分類按被聲明的位置劃分成員變量方法外部,類內部定義的變量類變量(靜態變量):獨立于方法之外的變量,用 static 修飾。類...2019-09-29 00:07:567230
4
-
原創 Java常量
定義常量定義:在程序執行的過程中,其值不可以發生改變的量。常量不同于常量值,它可以在程序中用符號來代替常量值使用,因此在使用前必須先定義。常量值定義:常量和常量值是不同的概念,常量值又稱為字面常量,它是通過數據直接表示的。關系:常量值是常量的具體和直觀的表現形式,常量是形式化的表現。通常在程序中既可以直接使用常量值,也可以使用常量。分類字符串常量 用雙引號括起來的內容(“Hello...2019-09-29 00:09:546229
6
-
原創 Java數據類型
文章目錄定義分類計算機存儲單元Java基本數據類型圖數據類型轉換定義Java語言是強類型語言,對于每一種數據都定義了明確的具體的數據類型,在內存中分配了不同大小的內存空間。分類基本數據類型數值型整數類型(byte,short,int,long)浮點類型(float,double)字符型(char)布爾型(boolean)引用數據類型類(class)接口(...2019-09-29 00:14:258098
11
-
原創 Java關鍵字(Java 8版本)
定義被Java語言賦予了特殊含義,用作專門用途的字符串(單詞),這些關鍵字不能用于常量、變量、和任何標識符的名稱。Java關鍵字(Java 8版本)Java關鍵字(Java 8 以后版本)注意事項true,false和,null看起來像關鍵字,但它們實際上是文字; 您不能在程序中將它們用作標識符。...2019-09-28 22:11:3811394
6
-
原創 Java標識符
文章目錄定義組成規則命名原則:見名知意注意事項定義給包,類,方法,變量起名字的符號。組成規則標識符由字母、數字、下劃線、美元符號組成。命名原則:見名知意包名:全部小寫,多級包用.隔開。舉例:com.jourwon類、接口:一個單詞首字母大寫,多個單詞每個單詞的首字母大寫。舉例:Student,Car,HelloWorld方法和變量:一個單詞首字母小寫,多個單詞從第二個...2019-09-28 20:44:3814296
8
-
原創 Java發展歷程
1991年4月,Sun公司成立了Green項目小組,專攻智能家電的嵌入式控制系統。由James Gosling博士領導的綠色計劃(Green Project)開始啟動,此計劃的目的是開發一種能夠在各種消費性電子產品(如機頂盒、冰箱、收音機等)上運行的程序架構。這個計劃的產品就是Java語言的前身:Oak(橡樹)。Oak當時在消費品市場上并不算成功,但隨著1995年互聯網潮流的興起,Oak迅速找到了...2019-06-30 19:35:227894
6
-
原創 JDK安裝與環境變量配置
下載JDK到Oracle官網下載JDK安裝JDK安裝JDK時,除了修改安裝目錄,其他的一路【下一步】,傻瓜式安裝。注:當提示安裝JRE時,可以選擇不要安裝。因為JDK已經自帶了JRE。安裝JDK測試JDK是否安裝成功在配置好環境變量后,可以進入cmd中檢查Java是否安裝正確,檢查的命令為 java -versionJDK安裝成功環境變量詳解JAVA_HOME...2019-06-30 19:36:5625170
16
-
原創 Java語言特點
Java語言是簡單的Java語言的語法與C語言和C++語言很接近,從某種意義上講,它是由C和C++演變而來,使得大多數程序員很容易學習和使用。對C++來說進行了簡化和一定的提高,如:使用接口代替了復雜的多重繼承以及取消了指針,還通過實現垃圾自動回收機制,大大簡化了程序員的資源釋放管理工作。提供了豐富的類庫和API文檔,以及第三方開發包工具包,還有大量的基于Java的開源項目,幫助程序設計人...2019-06-30 19:37:458047
4
-
原創 Java基礎語法
標識符定義給包,類,方法,變量起名字的符號。組成規則標識符由字母、數字、下劃線、美元符號組成。命名原則:見名知意包名:全部小寫,多級包用.隔開。舉例:com.jourwon類、接口:一個單詞首字母大寫,多個單詞每個單詞的首字母大寫。舉例:Student,Car,HelloWorld方法和變量:一個單詞首字母小寫,多個單詞從第二個單詞開始每個單詞的首字母大寫。舉例:a...2019-09-28 00:05:087559
3
-
轉載 Java語法糖
語法糖(Syntactic Sugar),也稱糖衣語法,是由英國計算機學家 Peter.J.Landin(彼得·蘭丁) 發明的一個術語,指在計算機語言中添加的某種語法,這種語法對語言的功能并沒有影響,但是更方便程序員使用。語法糖就是對現有語法的一個封裝。簡而言之,語法糖讓程序更加簡潔,有更高的可讀性。有意思的是,在編程領域,除了語法糖,還有語法鹽和語法糖精的說法,篇幅有限這里不做擴展了。...2019-08-27 16:50:139606
10
-
原創 Java反射
概述定義Java反射機制是在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意方法和屬性。這種動態獲取信息以及動態調用對象方法的功能稱為Java語言的反射機制。用途通過反射,Java 代碼可以發現有關已加載類的字段,方法和構造函數的信息,并可以在安全限制內對這些字段,方法和構造函數進行操作。很多人都認為反射在實際Java中開發應用中并不廣...2019-08-28 22:58:4211179
13
-
原創 Java注解
為什么要引入注解?使用【注解】之前(甚至在使用之后),【XML】被廣泛的應用于描述元數據,得到各大框架的青睞,它以松耦合的方式完成了框架中幾乎所有的配置,但是隨著項目越來越龐大,【XML】的內容也越來越復雜,一些應用開發人員和架構師發現維護成本變高。他們希望使用一些和代碼緊耦合的東西,于是就有人提出來一種標記式高耦合的配置方式【注解】。方法上可以進行注解,類上也可以注解,字段屬性上也可以注解,...2019-08-31 23:28:047386
5
-
原創 XML簡介
什么是 XMLXML 是可擴展標記語言(EXtensible Markup Language)。XML 是一種很像HTML的標記語言。XML 的設計宗旨是傳輸數據,而不是顯示數據。XML 標簽沒有被預定義。您需要自行定義標簽。XML 被設計為具有自我描述性。XML 是 W3C 的推薦標準。XML 用途XML 應用于 Web 開發的許多方面,常用于簡化數據的存儲和傳輸。存放數...2019-09-08 23:28:156213
4
-
原創 JSON簡介
概述JSON(JavaScript Object Notation JavaScript 對象表示法)是一種輕量級的數據交換格式,它基于JavaScript的一個子集,易于人的編寫和閱讀,也易于機器解析。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為...2019-09-08 23:31:386691
4
-
原創 YML簡介
在接觸springboot的時候遇到了一種特殊的配置文件 .yml,本文對yml作簡單介紹,快速入手yml。一、YML是什么YAML (YAML Aint Markup Language)是一種標記語言,通常以.yml或者.yaml為后綴的文件,是一種直觀的能夠被電腦識別的數據序列化格式,并且容易被人類閱讀,容易和腳本語言交互的,可以被支持YAML庫的不同的編程語言程序導入,一種專門用來寫配置...2019-09-08 23:42:047201
4
-
原創 Java8新特性-Lambda表達式
簡介Lambda表達式(也稱閉包),是Java8中最受期待和歡迎的新特性之一。在Java語法層面Lambda表達式允許函數作為一個方法的參數(函數作為參數傳遞到方法中),或者把代碼看成數據。Lambda表達式可以簡化函數式接口的使用。函數式接口就是一個只具有一個抽象方法的普通接口,像這樣的接口就可以使用Lambda表達式來簡化代碼的編寫。使用Lambda表達式的前提對應接口有且只有一個抽象方...2019-09-08 23:44:077838
4
-
轉載 什么是面向對象
面向對象(OOP)概述從我們開始接觸Java這門語言后,就有人告訴我們這是一門面向對象的語言。說的最多的是new個對象,其實并不知道什么是對象。以為對象就是一個class(類),并不覺得有什么特殊。直到很久之后,面試官問到什么是OOP,嘴巴都是一個大O,OOP?WTF?那人厭惡的說到就是面向對象編程。我說:Java就是面向對象,就是一切以對象為載體,去編程,去面對。面試官: go out ! n...2019-09-09 16:56:3313981
12
-
原創 Properties類簡介
概述Properties 繼承于 Hashtable。表示一個持久的屬性集,屬性列表以key-value的形式存在,key和value都是字符串。Java中有個比較重要的類Properties(Java.util.Properties),主要用于讀取Java的配置文件,各種語言都有自己所支持的配置文件,配置文件中很多變量是經常改變的,這樣做也是為了方便用戶,讓用戶能夠脫離程序本身去修改相關的變...2019-09-09 17:05:375791
4
-
原創 JVM、JRE和JDK的關系
JVMJava Virtual Machine是Java虛擬機,Java程序需要運行在虛擬機上,不同的平臺有自己的虛擬機,因此Java語言可以實現跨平臺。JREJava Runtime Environment包括Java虛擬機和Java程序所需的核心類庫等。核心類庫主要是java.lang包:包含了運行Java程序必不可少的系統類,如基本數據類型、基本數學函數、字符串處理、線程、異常處理類等...2019-09-25 15:57:548828
6
-
原創 Java簡介
什么是JavaJava是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。誕生背景任職于Sun公司(Stanford University Network斯坦福網絡公司)的詹姆斯·高...2019-06-30 19:33:5612533
14