java學習之路之javaSE基礎1

<h2>java學習之路之javaSE基礎1</h2>java

<div>面試

###01.01_計算機基礎知識(計算機概述)(瞭解)
* A:什麼是計算機?計算機在生活中的應用舉例
* 計算機(Computer)全稱:電子計算機,俗稱電腦。是一種可以按照程序運行,自動、高速處理海量數據的現代化智能電子設備。由硬件和軟件所組成,沒有安裝任何軟件的計算機稱爲裸機。常見的形式有臺式計算機、筆記本計算機、大型計算機等。
* 應用舉例
* 1:科學計算
* 二、數據處理
* 三、自動控制
* 四、計算機輔助設計
* 五、人工智能
* 六、多媒體應用
* 七、計算機網絡
* ...
* B:什麼是硬件?硬件舉例
* 計算機硬件(Computer Hardware)是指計算機系統中由電子,機械和光電元件等組成的各類物理裝置的總稱。這些物理裝置按系統結構的要求構成一個有機總體爲計算機軟件運行提供物質基礎。
* 馮.諾依曼體系結構
* 計算機的硬件分紅5大組成部件:運算器、控制器、存儲器、輸入設備和輸出設備。

* 運算器和控制器是計算機的核心,合稱中央處理單元(Central Processing Unit,CPU)或處理器。CPU的內部還有一些高速存儲單元,被稱爲寄存器。其中運算器執行全部的算術和邏輯運算;控制器負責把指令逐條從存儲器中取出,經譯碼後向計算機發出各類控制命令;而寄存器爲處理單元提供操做所須要的數據。
* 存儲器是計算機的記憶部分,用來存放程序以及程序中涉及的數據。它分爲內部存儲器和外部存儲器。內部存儲器用於存放正在執行的程序和使用的數據,其成本高、容量小,但速度快。外部存儲器可用於長期保存大量程序和數據,其成本低、容量大,但速度較慢。
* 輸入設備和輸出設備統稱爲外部設備,簡稱外設或I/O設備,用來實現人機交互和機間通訊。微型機中經常使用的輸入設備有鍵盤、鼠標等,輸出設備有顯示器、打印機等。
* C:什麼是軟件?軟件分類及舉例
* 計算機軟件(Computer Software)是使用計算機過程當中必不可少的東西,計算機軟件可使計算機按照事先預約好的順序完成特定的功能
* 計算機軟件按照其功能劃分爲系統軟件與應用軟件
* 系統軟件: DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS
* 應用軟件:office QQ聊天 YY語言 掃雷
###01.02_計算機基礎知識(軟件開發和計算機語言概述)(瞭解)
* A:什麼是軟件
* 按照特定順序組織的計算機數據和指令的集合
* B:什麼是開發
* 軟件的製做過程
* C:什麼是軟件開發
* 藉助開發工具與計算機語言製做軟件
* D:什麼是計算機語言
* 人與計算機之間進行信息交流溝通的一種特殊語言
* E:計算機語言的分類
* 機器語言:
* 機器語言是直接用二進制代碼指令表達的計算機語言,指令是用0和1組成的一串代碼,它們有必定的位數,並分紅若干段,各段的編碼表示不一樣的含義。
* 彙編語言:
* 彙編語言是使用一些特殊的符號來代替機器語言的二進制碼,計算機不能直接識別,須要用一種軟件將彙編語言翻譯成機器語言。
* 高級語言:
* 使用普通英語進行編寫源代碼,經過編譯器將源代碼翻譯成計算機直接識別的機器語言,以後再由計算機執行。
* 高級語言包括C,C++,C#,JAVA
###01.03_計算機基礎知識(人機交互)(瞭解)
* A:人機交互的兩種方式
* a:命令行方式
* 須要有一個控制檯,輸入特定的指令,讓計算機完成一些操做。較爲麻煩,須要記錄住一些命令。
* b:圖形化界面方式
* 這種方式簡單直觀,使用者易於接受,容易上手操做。

###01.04_計算機基礎知識(鍵盤功能鍵和快捷鍵)(掌握)
* A:鍵盤功能鍵
* a:Tab
* b:Shift
* c:Ctrl
* d:Alt
* e:空格
* f:Enter
* g:Window
* h:上下左右鍵
* i:PrtSc(PrintScreen)屏幕截圖
* B:鍵盤快捷鍵
* a:Ctrl+A 全選
* b:Ctrl+C 複製
* c:Ctrl+V 粘貼
* d:Ctrl+X 剪切
* e:Ctrl+Z 撤銷
* f:Ctrl+S 保存數據庫

###01.05_計算機基礎知識(如何打開DOS控制檯)(掌握)
* A:xp下如何打開DOS控制檯?
* a:開始--程序--附件--命令提示符
* b:開始--運行--cmd--回車
* c:win+r--cmd--回車
* B:win7下如何打開DOS控制檯?
* a:開始--全部程序--附件--命令提示符
* b:開始--搜索程序和文件--cmd--回車
* c:win+r--cmd--回車
* C:win8下如何打開DOS控制檯
* a:鼠標左擊開始--下箭頭--命令提示符
* b:鼠標右擊開始--搜索--cmd--回車
* c:鼠標右擊開始--運行--cmd--回車
* d:win+r--cmd--回車
* D:win10下如何打開DOS控制檯
* a:鼠標右擊開始--搜索--cmd--回車
* b:鼠標右擊開始--運行--cmd--回車
* c:win+r--cmd--回車編程

###01.06_計算機基礎知識(常見的DOS命令講解)
* A:d: 回車 盤符切換
* B:dir(directory):列出當前目錄下的文件以及文件夾
* C:cd (change directory)改變指定目錄(進入指定目錄)
* D:cd.. : 退回到上一級目錄
* E:cd\: 退回到根目錄
* F:cls : (clear screen)清屏
* G:exit : 退出dos命令行(分割線上的須要掌握,下的瞭解)
* /=========================================================
* md (make directory) : 建立目錄
* rd (remove directory): 刪除目錄
* del (delete): 刪除文件,刪除一堆後綴名同樣的文件*.txt
* notepad 建立文件
* 刪除帶內容的文件夾
* rd + /s 文件夾名稱(詢問是否刪除)
* rd + /q + /s 文件夾名稱(直接刪除)

###01.07_Java語言基礎(Java語言概述)(瞭解)
* A:Java語言發展史
* 詹姆斯·高斯林(James Gosling)1977年得到了加拿大卡爾加里大學計算機科學學士學位,1983年得到了美國卡內基梅隆大學計算機科學博士學位,畢業後到IBM工做,設計IBM第一代工做站NeWS系統,但不受重視。後來轉至Sun公司,1990年,與Patrick,Naughton和Mike Sheridan等人合做「綠色計劃」,後來發展一套語言叫作「Oak」,後更名爲Java。
* SUN(Stanford University Network,斯坦福大學網絡公司)
* B:Java語言版本
* JDK 1.1.4 Sparkler 寶石 1997-09-12
* JDK 1.1.5 Pumpkin 南瓜 1997-12-13
* JDK 1.1.6 Abigail 阿比蓋爾--女子名 1998-04-24
* JDK 1.1.7 Brutus 布魯圖--古羅馬政治家和將軍 1998-09-28
* JDK 1.1.8 Chelsea 切爾西--城市名 1999-04-08
* J2SE 1.2 Playground 運動場 1998-12-04
* J2SE 1.2.1 none 無 1999-03-30
* J2SE 1.2.2 Cricket 蟋蟀 1999-07-08
* J2SE 1.3 Kestrel 美洲紅隼(sǔn) 2000-05-08
* J2SE 1.3.1 Ladybird 瓢蟲 2001-05-17
* J2SE 1.4.0 Merlin 灰背隼 2002-02-13
* J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16
* J2SE 1.4.2 Mantis 螳螂 2003-06-26
* JAVASE 5.0 (1.5.0) Tiger 老虎
* JAVASE 5.1 (1.5.1) Dragonfly 蜻蜓
* JAVASE 6.0 (1.6.0) Mustang 野馬
* JAVASE 7.0 (1.7.0) Dolphin 海豚
* JAVASE 8.0 (1.8.0)
* JAVASE 9.0 (1.9.0)
* C:Java語言平臺
* J2SE(Java 2 Platform Standard Edition)標準版
* 是爲開發普通桌面和商務應用程序提供的解決方案,該技術體系是其餘二者的基礎,能夠完成一些桌面應用程序的開發
* J2ME(Java 2 Platform Micro Edition)小型版
* 是爲開發電子消費產品和嵌入式設備提供的解決方案
* J2EE(Java 2 Platform Enterprise Edition)企業版
* 是爲開發企業環境下的應用程序提供的一套解決方案,該技術體系中包含的技術如 Servlet、Jsp等,主要針對於Web應用程序開發
* C:Java語言特色
* 簡單性
* 解釋性
* 面向對象
* 高性能
* 分佈式處理
* 多線程
* 健壯性
* 動態
* 結構中立
* 安全性
* 開源
* 跨平臺
###01.08_Java語言基礎(Java語言跨平臺原理)(掌握)
* A:什麼是跨平臺性
* B:Java語言跨平臺原理
* 只要在須要運行java應用程序的操做系統上,先安裝一個Java虛擬機(JVM Java Virtual Machine)便可。由JVM來負責Java程序在該系統中的運行。
* C:Java語言跨平臺圖解
* write once ,run anywhere!(一處編譯,處處運行)
###01.09_Java語言基礎(JRE和JDK的概述)(掌握)
* A:什麼是JRE
* 包括Java虛擬機(JVM Java Virtual Machine)和Java程序所需的核心類庫等,若是想要運行一個開發好的Java程序,計算機中只須要安裝JRE便可。
* JRE:JVM+類庫。
* B:什麼是JDK
* JDK是提供給Java開發人員使用的,其中包含了java的開發工具,也包括了JRE。因此安裝了JDK,就不用在單獨安裝JRE了。
* 其中的開發工具:編譯工具(javac.exe) 打包工具(jar.exe)等
* JDK:JRE+JAVA的開發工具。
* C:爲何JDK中包含一個JRE
* 爲何JDK中包含一個JRE呢?
* 開發完的程序,須要運行一下看看效果。
* D:JDK,JRE,JVM的做用和關係
###01.10_Java語言基礎(JDK的下載和安裝過程圖解)(瞭解)
* A:JDK的下載
* a:官網 http://www.oracle.com
* b:演示下載流程
* B:JDK的安裝
* a:傻瓜式安裝
* 雙擊安裝程序,而後一路next便可(可是不建議)
* b:安裝的推薦方式
* 安裝路徑不要有中文或者特殊符號如空格等。
* 全部和開發相關的軟件最好安裝目錄統一。
* 舉例:個人JDK安裝路徑
* D:\develop\Java\jdk1.7.0_72
* 當提示安裝JRE時,能夠選擇不安裝。建議仍是安裝上。
* c:演示安裝流程
* 能夠先在d盤創建一個文件夾develop
* 而後演示安裝過程
* C:驗證安裝是否成功
* a:經過DOS命令,切換到JDK安裝的bin目錄下。
* D:\develop\Java\jdk1.7.0_72\bin
* b:而後分別輸入javac和java,若是正常顯示一些內容,說明安裝成功

###01.11_Java語言基礎(JDK安裝路徑下的目錄解釋)(瞭解)
* a:bin目錄:該目錄用於存放一些可執行程序。
* 如javac.exe(java編譯器)、java.exe(java運行工具),jar.exe(打包工具)和* javadoc.exe(文檔生成工具)等。
* b:db目錄:db目錄是一個小型的數據庫。
* 從JDK 6.0開始,Java中引用了一個新的成員JavaDB,這是一個純Java實現、開源的數據庫管理系統。這個數據庫不只輕便,並且支持JDBC 4.0全部的規範,在學習JDBC 時,再也不須要額外地安裝一個數據庫軟件,選擇直接使用JavaDB便可。
* c:jre目錄:"jre"是 Java Runtime Environment 的縮寫,意爲Java程序運行時環境。此目錄是Java運行時環境的根目錄,它包括Java虛擬機,運行時的類包,Java應用啓動器以及一個bin目錄,但不包含開發環境中的開發工具。
* d:include目錄:因爲JDK是經過C和C++實現的,所以在啓動時須要引入一些C語言的頭文件,該目錄就是用於存放這些頭文件的。
* e:lib目錄:lib是library的縮寫,意爲 Java 類庫或庫文件,是開發工具使用的歸檔包文件。
* f:src.zip文件:src.zip爲src文件夾的壓縮文件,src中放置的是JDK核心類的源代碼,經過該文件能夠查看Java基礎類的源代碼。數組

###01.12_Java語言基礎(Java開發工具介紹)(瞭解)
* A:notepad(微軟操做系統自帶)
* B:Editplus/Notepad++
* C:Eclipse
* D:MyEclipse
* E:IntelliJ IDEA
* 給你們簡單的介紹一下這些工具,而後說說咱們使用這些工具的順序。
* 基礎班:先notepad,而後Editplus,再Eclipse/IDEA.
* 就業班:MyEclipse和Eclipse都用。安全

###01.13_Java語言基礎(HelloWorld案例的編寫和運行)(掌握)
* A:定義類
* B:寫main方法
* C:寫輸出語句
* D:Java程序開發運行與工做原理
* E:編譯和運行程序網絡

class HelloWorld { //定義類
public static void main(String[] args) { //定義main方法
System.out.println("HelloWorld"); //在DOS控制檯輸出"HelloWorld"語句
}
}

編譯和運行程序在DOS控制檯切換到java類目錄下:
執行javac HelloWorld.java //編譯HelloWorld源代碼,正常狀況下會在目錄下生成一個同名稱.class文件;如果報錯就是程序源代碼有問題須要修改。
執行 java HelloWorld //運行該java程序 會在DOS控制檯輸出"HelloWorld"語句

###01.14_Java語言基礎(HelloWorld案例常見問題)(掌握)
* A:找不到文件(都演示一下,讓學生看看出現的都是什麼問題)
* a:文件擴展名隱藏致使編譯失敗
* b:文件名寫錯了
* B:單詞拼寫問題(都演示一下,讓學生看看出現的都是什麼問題)
* a:class寫成Class
* b:String寫成string
* c:System寫成system
* d:main寫成mian
* C:括號匹配問題(都演示一下,讓學生看看出現的都是什麼問題)
* a:把類體的那對大括號弄掉一個
* b:把方法體的那對大括號弄掉一個
* c:把輸出語句的那對小括號弄掉一個
* D:中英文問題(都演示一下,讓學生看看出現的都是什麼問題)
* a:提示信息:錯誤: 非法字符: \????的格式
* 注意:java編程中須要的基本上都是英文字符多線程

###01.15_Java語言基礎(Java語言的書寫格式(約定俗成)) (掌握)
* 1,大括號要對齊,而且成對寫
* 2,左大括號前面有空格
* 3,遇到左大括號要縮進,Tab
* 4,方法和程序塊之間加空行讓程序看起來清晰
* 5,並排語句之間加空格,例如for語句
* 6,運算符兩側加空格oracle

###01.16_Java語言基礎(path環境變量的做用及配置方式1)(掌握)
* A:在JDK的bin目錄下開發程序容易產生的問題
* a:若是文件過多,不方便管理
* b:刪除本身寫過的不須要的文件,可能不當心把JDK自帶的工具給刪除了
* B:如何解決問題呢
* notepad這樣的命令爲何在任何路徑下都可以執行,配置path環境變量
* C:配置方式
* a:xp系統
* 右鍵點擊桌面計算機→選擇屬性→選擇高級選項卡→點擊環境變量→下方系統變量中查找path→雙擊path→將jdk安裝目錄下的bin目錄添加到最左邊並添加分號。
* b:win7/win8系統
* 右鍵點擊桌面計算機→選擇屬性→選擇高級系統設置→選擇高級選項卡→點擊環境變量→下方系統變量中查找path→雙擊path→ 將jdk安裝目錄下的bin目錄添加到最左邊並添加分號。
* c:win10系統
* 右鍵點擊桌面計算機→選擇屬性→選擇高級系統設置→選擇高級選項卡→點擊環境變量→下方系統變量中查找path→雙擊path→ 將jdk安裝目錄下的bin目錄添加到最下方後面不要帶分號。
* path配置的是可執行的文件.exe,配置後能夠在不一樣的盤符下訪問path路徑下的可執行文件ssh

###01.17_Java語言基礎(Path環境變量的配置方式2)(掌握)
* A:先配置JAVA_HOME
* B:再修改path
* C:最後說一下path是有前後順序關係的

###01.18_Java語言基礎(classpath環境變量的做用及其配置)(瞭解)
* A:爲何要配置classpath
* B:classpath配置的原理
* C:如何配置classpath

* path和classpath的區別
* path配置的是可執行的文件.exe,配置後能夠在不一樣的盤符下訪問path路徑下的可執行文件
* classpath配置的java的類文件,就是.class文件

###01.19_Java語言基礎(Editplus開發程序並編譯運行)(瞭解)
* A:配置快捷鍵編譯運行
* B:去除備份文件

###01.20_Java語言基礎(註釋概述及其分類)(掌握)
* A:什麼是註釋
* B:註釋的分類及講解
* //兩個斜槓表示單行註釋,斜槓後面一行的內容都不會被jvm編譯運行。
* /*段落註釋,在這個符號之間的文本都不會編譯*/
* 文檔註釋目前不講,說後面講解

* 註釋的做用
* A:解釋說明程序
* B:幫助咱們調試錯誤

###01.21_Java語言基礎(關鍵字的概述和使用)(掌握)
* A:什麼是關鍵字
* 被Java語言賦予特定含義的單詞
* B:關鍵字的特色
* 組成關鍵字的字母所有小寫
* C:常見關鍵字
* public static void class等
* D:關鍵字的注意事項
* goto和const做爲保留字存在,目前並不使用,相似Editplus這樣的高級記事本,針對關鍵字有特殊的顏色標記,很是直觀

###01.22_Java語言基礎(標識符的概述和組成規則)(掌握)
* A:什麼是標識符
* 就是給類,接口,方法,變量等起名字時使用的字符序列
* B:標識符的組成規則
* 英文大小寫字母
* 數字字符
* $和_
* C:標識符注意事項
* 1,不能使用關鍵字
* 2,不能數字開頭

###01.23_Java語言基礎(標識符中常見的命名規則)(瞭解)
* 見名知意
* A:包
* 最好是域名倒過來,要求全部的字母小寫
* B:類或者接口
* 若是是一個單詞首字母大寫
* 若是是多個單詞每一個單詞首字母大寫(駝峯標識)
* C:方法或者變量
* 若是是一個單詞所有小寫
* 若是是多個單詞,從第二個單詞首字母大寫
* D:常量
* 若是是一個單詞,全部字母大寫
* 若是是多個單詞,全部的單詞大寫,用下劃線區分每一個單詞

</div>

<div>

###02.01_Java語言基礎(常量的概述和使用)(掌握)
* A:什麼是常量
* 常量使用final關鍵字標識,在程序執行的過程當中其值不能夠發生改變。
* B:Java中常量的分類
* 字面值常量
* 自定義常量(面向對象部分講)
* C:字面值常量的分類
* 字符串常量 用雙引號括起來的內容
* 整數常量 全部整數
* 小數常量 全部小數
* 字符常量 用單引號括起來的內容,裏面只能放單個數字,單個字母或單個符號
* 布爾常量 較爲特殊,只有true和false
* 空常量 null(數組部分講解)
System.out.println("abc"); //字符串常量
System.out.println(123); //整數常量
System.out.println(12.3); //小數常量
//System.out.println('10'); //''中必須放的是單個字符,10表明的是1字符和0字符
//System.out.println(''); //''中什麼也不放,也是不能夠的,由於表明不了任何字符
System.out.println(' '); //帶表空格字符
System.out.println(true); //boolean類只有兩個值,true和false
System.out.println(false);

* D:案例演示
* 用輸出語句輸出各類常量。null不演示

###02.02_Java語言基礎(進制概述和二,八,十六進制圖解)(瞭解)
* A:什麼是進制
* 進制:就是進位制,是人們規定的一種進位方法。 對於任何一種進制--X進制,就表示某一位置上的數運算時是逢X進一位。二進制就是逢二進一,八進制是逢八進一,十進制是逢十進一,十六進制是逢十六進一。
* 例如一週有七天,七進制,一年有十二個月,十二進制
* B:十進制的由來
* 十進制的由來是由於人類有十個手指
* C:二進制的由來
* 其實二進制來源與中國,請看史料記載
* 18世紀德國數理哲學大師萊布尼茲從他的傳教士朋友鮑威特寄給他的拉丁文譯本《易經》中,讀到了八卦的組成結構,驚奇地發現其基本素數(0)(1),即《易經》的陰爻yao- -和__陽爻,其進位制就是二進制,並認爲這是世界上數學進制中最早進的。20世紀被稱做第三次科技革命的重要標誌之一的計算機的發明與應用,其運算模式正是二進制。它不但證實了萊布尼茲的原理是正確的,同時也證實了《易經》數理學是很了不得的。
* D:八進制的由來
* 任何數據在計算機中都是以二進制的形式存在的。二進制早期由電信號開關演變而來。一個整數在內存中同樣也是二進制的,可是使用一大串的1或者0組成的數值進行使用很麻煩。
* 因此就想把一大串縮短點,將二進制中的三位用一位表示。這三位能夠取到的最大值就是7.超過7就進位了,這就是八進制。
* E:十六進制的由來
* 可是對於過長的二進制變成八進制仍是較長,因此出現的用4個二進制位表示一位的狀況,四個二進制位最大是15,這就是十六進制。
* F:不一樣進製表現同一個數據的形式特色
* 進制越大,表現形式越短

###02.03_Java語言基礎(不一樣進制數據的表現形式)(掌握)
* A:二進制的數據表現形式
* 由0,1組成。以0b(b能夠大寫也能夠小寫)開頭(JDK1.7版本能夠表示二進制了)
* B:八進制的數據表現形式
* 由0,1,…7組成。以0開頭
* C:十進制的數據表現形式
* 由0,1,…9組成。整數默認是十進制的
* D:十六進制的數據表現形式
* 由0,1,…9,a,b,c,d,e,f(大小寫都可)。以0x開頭
* E:案例演示
* 輸出不一樣進製表現100的數據。
* 0b100
* 0100
* 100
* 0x100

###02.04_Java語言基礎(任意進制到十進制的轉換圖解)(瞭解)
* A:任意進制到十進制的轉換原理
* 係數:就是每一位上的數據。
* 基數:X進制,基數就是X。
* 權:在右邊,從0開始編號,對應位上的編號即爲該位的權。
* 結果:把係數*基數的權次冪相加便可。
* B:畫圖練習
* 二進制--十進制
* 八進制--十進制
* 十六進制--十進制

###02.05_Java語言基礎(十進制到任意進制的轉換圖解)(瞭解)
* A:十進制到任意進制的轉換原理
* 除積倒取餘
* B:畫圖練習
* 十進制--二進制
* 十進制--八進制
* 十進制--十六進制

###02.06_Java語言基礎(快速的進制轉換法)(瞭解)
* A:8421碼及特色
* 8421碼是中國大陸的叫法,8421碼是BCD代碼中最經常使用的一種。在這種編碼方式中每一位二值代碼的1都是表明一個固定數值,把每一位的1表明的十進制數加起來,獲得的結果就是它所表明的十進制數碼。
* B:經過8421碼的方式進行二進制和十進制的相互轉換
* C:二進制到八進制的簡易方式
* D:二進制到十六進制的簡易方式

###02.07_Java語言基礎(原碼反碼補碼)(瞭解)
* A:爲何要學習原碼反碼補碼?
* 後面要學習強制類型轉換,若是不知道有原反補會看不懂結果
* 運算的時候都是以補碼進行運算的
* B:有符號數據表示法的幾種方式
* 原碼
* 就是二進制定點表示法,即最高位爲符號位,「0」表示正,「1」表示負,其他位表示數值的大小。
* 經過一個字節,也就是8個二進制位表示+7和-7
* 0(符號位) 0000111
* 1(符號位) 0000111
* 反碼
* 正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
* 補碼
* 正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

###02.08_Java語言基礎(原碼反碼補碼的練習)(瞭解)
* A:已知原碼求補碼
* 0b10110100
* B:已知補碼求原碼
* 0b11101110

###02.09_Java語言基礎(變量的概述及格式)(掌握)
* A:什麼是變量
* 在程序執行的過程當中,在某個範圍內其值能夠發生改變的量
* B:變量的定義格式
* 數據類型 變量名 = 變量值;
* C:爲何要定義變量
* 用來不斷的存放同一類型的常量,並能夠重複使用

###02.10_Java語言基礎(數據類型的概述和分類)(掌握)
* A:爲何有數據類型
* Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在內存中分配了不一樣大小的內存空間
* B:Java中數據類型的分類
* 基本數據類型
* 引用數據類型
* 面向對象部分講解
* C:基本數據類型分類(4類8種)
* 整數型
* byte 佔一個字節 -128到127
* short 佔兩個字 -2^15~2^15-1
* int 佔四個字節 -2^31~2^31-1
* long 佔八個字節 -2^63~2^63-1
* 浮點型
* float 佔四個字節 -3.403E38~3.403E38 單精度
* double 佔八個字節-1.798E308~1.798E308 雙精度
* 字符型
* char 佔兩個字節 0~65535 沒有負數 表示字符
* 布爾型
* boolean
* boolean理論上是佔八分之一個字節,由於一個開關就能夠決定是true和false了,可是java中boolean類型沒有明確指定他的大小

//整數類型
byte b = 10; //佔一個字節,-128 到 127
short s = 20; //佔兩個字節
int i = 30; //佔四個字節 整數默認的數據類型就是int類型
long x = 8888888888L; //佔八個字節 若是long類型後面加L進行標識最好加大L,由於小l太像一了
System.out.println(b);
System.out.println(s);
System.out.println(i);
System.out.println(x);

//System.out.println(12345 + 54321l);

//浮點類型
float f = 12.3F; //佔四個字節
double d = 33.4; //佔八個字節 小數默認的數據類型是double,double類型後面也能夠用D或d標識,可是通常不加
System.out.println(f);
System.out.println(d);

//字符類型
char c = 'a'; //佔兩個字節
System.out.println(c);

//布爾類型
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
System.out.println(b2);

###02.11_Java語言基礎(定義不一樣數據類型的變量)(掌握)
* A:案例演示
* 定義不一樣基本數據類型的變量,並輸出
* 賦值時候注意float類型,long類型

###02.12_Java語言基礎(使用變量的注意事項)(掌握)
* A:案例演示
* a:做用域問題
* 同一個區域不能使用相同的變量名
* b:初始化值問題
* 局部變量在使用以前必須賦值
* c:一條語句能夠定義幾個變量
* int a,b,c...;

###02.13_Java語言基礎(數據類型轉換之隱式轉換)(掌握)
* A:案例演示
* a:int + int
* b:byte + int
* B:Java中的默認轉換規則
* 取值範圍小的數據類型與取值範圍大的數據類型進行運算,會先將小的數據類型提高爲大的,再運算
* C:畫圖解釋byte+int類型的問題

###02.14_Java語言基礎(數據類型轉換之強制轉換)(掌握)
* A:強制轉換問題
* int a = 10;
* byte b = 20;
* b = a + b;
* B:強制轉換的格式
* b = (byte)(a + b);
* C:強制轉換的注意事項
* 若是超出了被賦值的數據類型的取值範圍獲得的結果會與你指望的結果不一樣

###02.15_Java語言基礎(面試題之變量相加和常量相加的區別)(掌握)
* A:案例演示
* 面試題:看下面的程序是否有問題,若是有問題,請指出並說明理由。
* byte b1 = 3;
* byte b2 = 4;
* byte b3 = b1 + b2;
* 從兩方面去回答這個題
* b1和b2是兩個變量,變量裏面存儲的值都是變化的,因此在程序運行中JVM是沒法判斷裏面具體的值
* byte類型的變量在進行運算的時候,會自動類型提高爲int類型
* byte b4 = 3 + 4;
* 3和4都是常量,java有常量優化機制,就是在編譯的的時候直接把3和4的結果賦值給b4了

###02.16_Java語言基礎(long與float的取值範圍誰大誰小)(瞭解)
* 進行混合運算的時候,byte,short,char不會相互轉換,都會自動類型提高爲int類型,其餘類型進行混合運算的是小的數據類型提高爲大的
* byte,short,char -- int -- long -- float -- double

* long: 8個字節
* float:4個字節
* IEEE754
* 4個字節是32個二進制位
* 1位是符號位
* 8位是指數位
* 00000000 11111111
* 0到255
* 1到254
* -126到127
* 23位是尾數位
* 每一個指數位減去127

* A:它們底層的存儲結構不一樣。
* B:float表示的數據範圍比long的範圍要大
* long:2^63-1
* float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

###02.17_Java語言基礎(字符和字符串參與運算)(掌握)
* A:案例演示
* System.out.println('a');
* System.out.println('a'+1);

* 經過看結果知道'a'的值是多少,由此引出ASCII碼錶
* B:ASCII碼錶的概述
* 記住三個值:
* '0' 48
* 'A' 65
* 'a' 97
* C:案例演示
* System.out.println("hello"+'a'+1);
* System.out.println('a'+1+"hello");
* D:+在有字符串參與中被稱爲字符串鏈接符
* System.out.println("5+5="+5+5);
* System.out.println(5+5+"=5+5");

###02.18_Java語言基礎(char數據類型)(掌握)
* A:char c = 97; 0到65535
* B:Java語言中的字符char能夠存儲一箇中文漢字嗎?爲何呢?
* 能夠。由於Java語言採用的是Unicode編碼。Unicode編碼中的每一個字符佔用兩個字節。中文也是佔的兩個字節
* 因此,Java中的字符能夠存儲一箇中文漢字
###02.19_Java語言基礎(算術運算符的基本用法)(掌握)
* A:什麼是運算符
* 就是對常量和變量進行操做的符號。
* B:運算符的分類
* 算術運算符,賦值運算符,比較(關係或條件)運算符,邏輯運算符,位運算符,三目(元)運算符
* C:算數運算符有哪些
* +,-,*,/,%,++,--
* D:注意事項:
* a:+號在java中有三種做用,表明正號,作加法運算,字符串的鏈接符
* b:整數相除只能獲得整數。若是想獲得小數,必須把數據變化爲浮點數類型
* c:/獲取的是除法操做的商,%獲取的是除法操做的餘數
* %運算符
* 當左邊的絕對值小於右邊絕對值時,結果是左邊
* 當左邊的絕對值等於右邊或是右邊的倍數時,結果是0
* 當左邊的絕對值大於右邊絕對值時,結果是餘數
* %運算符結果的符號只和左邊有關係,與右邊無關
* 任何一個正整數%2結果不是0就是1能夠用來看成切換條件

###02.20_Java語言基礎(算術運算符++和--的用法)(掌握)
* A:++,--運算符的做用
* 自加(++)自減(--)運算
* ++:自加。對原有的數據進行+1
* --:自減。對原有的數據進行-1
* B:案例演示
* a:單獨使用:
* 放在操做數的前面和後面效果同樣。(這種用法是咱們比較常見的)
* b:參與運算使用:
* 放在操做數的前面,先自增或者自減,而後再參與運算。
* 放在操做數的後面,先參與運算,再自增或者自減。

###02.21_Java語言基礎(算術運算符++和--的練習)(掌握)
* A:案例演示
* 請分別計算出a,b,c的值?
*
int a = 10;
int b = 10;
int c = 10;

a = b++;
c = --a;
b = ++a;
a = c--;

* B:案例演示
* 請分別計算出x,y的值?

int x = 4;
int y = (x++)+(++x)+(x*10);
* C:面試題
* byte b = 10;
* b++;
* b = b + 1;
* 問哪句會報錯,爲何

###02.22_Java語言基礎(賦值運算符的基本用法)(掌握)
* A:賦值運算符有哪些
* a:基本的賦值運算符:=
* 把=右邊的數據賦值給左邊。

* b:擴展的賦值運算符:+=,-=,*=,/=,%=
* += 把左邊和右邊作加法,而後賦值給左邊。

###02.23_Java語言基礎(賦值運算符的面試題)(掌握)
* A:案例演示
* 面試題:看下面的程序是否有問題,若是有問題,請指出並說明理由。
* short s=1;s = s+1; 須要強制類型轉換
* short s=1;s+=1;

###02.24_Java語言基礎(關係運算符的基本用法及其注意事項)(掌握)
* A:關係運算符有哪些(比較運算符,條件運算符)
* ==,!=,>,>=,<,<=
* 注意事項:
* 不管你的操做是簡單仍是複雜,結果是boolean類型。

* "=="不能寫成"="。

</div>

相關文章
相關標籤/搜索