第一章 Java語言概述:
Java虛擬機的作用:負責執行指令,還要管理數據,內存,存儲器
Java運行機制:將java源程序編譯成字節碼文件,然後由java虛擬機來執行這個字節碼文件
JDK的配置:
Path:指定Java的類路徑
Classpath: JDK命令搜索路徑
Java API各種包作用:
Java.util 是JAVA的utility工具包
java.lang 是JAVA的language核心語言包
java.awt 是JAVA的abstract window toolkit,抽象窗口工具包
java.applet 是創建APPLET的必須包
java.NET 是JAVA有關網絡操作的包
java.io 是JAVA的輸入輸出流的包
java.sql 是JAVA的數據庫操作包
javax.swing 是新的界面包
javax 開頭的是擴展包
Java程序的開發過程:編輯源碼、編譯、執行全過程,會用到的編譯器、解釋器程序是什麼?
用到的JDK編譯器:javac ; 解釋器程序是:jdk或jre目錄下bin目錄中的java.exe文件
Java源文件的命名規則
第二章 Java語言基礎:
數據類型的分類以及各種數據類型佔用長度(常量使用 final定義):
數據類型的分類:
各種數據類型佔用長度
Java標識符的命名規則
只能用4種:字符 美元符($) 下劃線(_) 數字 , 但是數字不能放在第一位 ;
字符類型 與 整數之間的關係?
字符型數據在做數字運算時實際上是對字符本身對應的ASCII碼進行相應的數值運算。
字符與字符串的區別:
Ascll:ASCII 只有128個字符,表示英文字母的大小寫、數字和一些符號
UniCode:Unicode就是將一些語言(漢字等)統一到一套編碼格式中,通常兩個字節表示一個字符,而ASCII是一個字節表示一個字符
數據類型的轉換:
自動類型轉換
強制類型轉換:
第三章 面向對象程序設計基礎:
類與對象的區別:
(1)類是一類事務,是根據一般性抽象出來的;例如:人; 交通工具。
(2)對象,是類的一個特例、實例。例如:小轎車、卡車、公共汽車等。對象通過new關鍵字,完成實例化(例如: Student stu = new Student() ; stu 就是Student類的一個實例)。
(3)new關鍵字,其實本質就是申請分配內存,使Student類中的變量、方法都對應分配的內存單元。
類的成員變量、局部變量的作用範圍:
類的成員方法定義、方法返回值、如何調用?
方法定義和方法返回值:
方法調用的過程,其實就是將實參賦值給形參,形參進入方法體內參與運算,最後返回結果的過程。
同一個類,可以創建多個對象,這多個對象之間是各自獨立的!
方法重載:
是指在一個類中,有多個同名的方法,但它們的參數必須不同!參數不同可以是:參數個數不同;或者個數相同時,參數類型不同。
方法重寫:
當一個子類繼承一個父類的時候,可以重寫覆蓋原來父類裏面的方法,當然這個方法和父類的方法名稱一定要相同,參數也要相同
面向對象的三特性?
封裝性
繼承性
多態性
Super:代表了父類對象,因此可以實現對父類成員變量、方法的訪問
this:表示當前對象,this只能用於構造方法和實例方法中!不能用於類方法(靜態方法 - 有static限定詞)。
例如:
當this出現在構造方法中時,this代表的是,用此構造方法創建出來的那個對象;
當this出現在實例方法中時,this代表的是,調用此方法的那個對象;
第四章 數組與字符串:
一維數組的定義,如何去定義?有幾種方法?
一般形式: 數據類型 數組名[ ] = new 數據類型[數組容量];
Int scores[ ] = new int[10];
int[ ] scores = new int[10];
如何獲取一維數組的長度?
數組名.length
如何獲取二維數組中的行數?
數組名.length
如何獲取二維數組中的列數?
數組名[0].length
如何獲取二維數組的長度?
數組名.length * 數組名[0].length
比較字符串中 == 和 equals的區別
Split的用法(. 和 | 分割時前面要用 \)
CharAT(下標從0開始)
怎麼把字符串轉成整數?
Int x = Integer.parseInt(str);
怎麼把字符串轉成double型?
怎麼把數值轉成字符串?
String s2 = String.valueOf(3000);
字符串怎麼轉爲字節數組?
byte b[ ] = “abcdefg”.getBytes();
(輸出爲ASCLL碼)
Pattern 和 Matcher 用法:
Pattern :用 compile 方法構造正則表達式模式對象
Matcher:Pattern類的Matcher方法構造匹配器對象
第五章 圖形用戶界面設計:
awt 組件與 swing 組件的區別?二者關係?常用的是哪個?
swing 組件是 awt 的子類,swing有更強的實用性。
JFrame是頂層容器、 JPanel是中間容器、JButton等等其他的稱爲組件;
JFrame,JPanel,JButton這3者是哪個包中的?它們之間是誰套着誰? Frame、 Panel、 Button 是哪個包的?
JFrame JPanel JButton三者屬於swing包中
JFrame可以添加中間容器和組件,Panel可以添加組件
Frame、 Panel、 Button屬於awt 包
界面佈局類有哪些?各種佈局的表現形式是怎樣的
瞭解五種佈局方式:FlowLayout , BorderLayout , CardLayout , GridLayout , GridBagLayout。
FlowLayout 順序放置 ---- 從左到右、 從上到下, 居中setLayout( new FlowLayout() );
BorderLayout 整個窗體,分爲5個區域—North、South、West、East、 Center
CardLayout 一個窗體中,可以包括多個卡片,一個時刻,只能一個卡片可見。
GridLayout窗體上,可設置x行y列的網格佈局。每個格子一樣大小。組件一行一行從左到右放到格子中。
GridBagLayout 對象維持一個動態的矩形單元網格,每個組件佔用一個或多個這樣的單元,該單元被稱爲顯示區域。
菜單中相關的幾個類:JMenBar、JMenu、JMenuItem,它們之間誰包含誰?
JMenu — 菜單,一個容器,裏面可以帶多個 JMenuItem; JMenu對象,需要加入到JMenuBar 中。
JMenuItem — 菜單項,一項項加入到 JMenu對象中去。
對話框的幾種不同顯示形式,分別對應不同的方法。
模態框(Modal Dialog):此對話框激活時,其他窗體都不能操作。
非模態框(Non-modal Dialog):可在此對話框窗體與其他窗體之間,隨意切換。
第6章 Java圖形與事件處理
圖形編程中座標系是怎樣的?
Java中圖形座標系:座標原點在左上角,單位:像素。
繪圖方法是paint() , 只能在paint()方法中繪圖。
Graphics常用的繪圖方法:
內部類、 匿名類是做什麼的? 怎麼來創建並應用它們?
內部類(Inner Class):在一個類的類體中定義的類。
內部類的一些特性:
(1)內部類對象,可以訪問外部類的成員變量和方法,包括私有的成員;
(2)實現事件監聽器時,一般都採用內部類、匿名類充當監視器類。
什麼時候使用匿名類?
如果一個內部類只被使用一次,且它還需繼承一個父類或實現一個接口,可以使用匿名類;
匿名類的特點:類沒有名字,也就沒有構造方法。只能顯式地調用一個父類的無參構造方法(或new xxxListener接口)、並重寫父類(接口)方法。
第七章 多線程與異常處理:
Java中異常處理相關的幾個關鍵字:try、catch、finally,throws,throw它們是怎麼使用的?用在哪裏?
定義方法時,可以使用 throws 關鍵字拋出異常
方法體內使用 throw 拋出異常
使用 try 執行一段代碼,當出現異常後,停止後續代碼的執行,跳至 catch 語句塊
使用 catch 來捕獲指定的異常,並進行處理
finally 語句塊表示的語義是在 try、catch 語句塊執行結束後,最後一定會被執行
線程的生命週期,5種狀態:創建、就緒、運行、阻塞、死亡
創建線程 : 通過繼承Thread:
創建線程: 通過 Runnable接口:
第八章 文件的輸入輸出流:
何謂輸入?何謂輸出?
以當前程序爲中心,要讀入到程序內存中的,稱爲 輸入流;
要從程序內存中寫出去的,稱爲輸出流;
網絡通信中,以當前機器(程序)爲中心,進入的信息,稱爲輸入流;要發出去的信息,稱爲輸出流。
File類的常用方法、它既可以代表文件,也可以代表目錄,如何創建文件?如何創建目錄?
創建File類的對象— 使用File類的幾種構造方法
例1: File f1 = new File(“d:\abc”); // f1 代表目錄 d:\abc
例2: File f2 = new File(“d:\abc\1.txt”); // f2 代表文件
例3: File f3 = new File(“d:\abc”, “1.txt”); // 路徑 和 文件名 分開
例4: File f4 = new File(f1, “1.txt”); // 路徑用一個File對象表示
字節流 對應的2個類分別是什麼?
FileInputStream ,FileOutputStream
字符流 對應的2個類分別是什麼?
FileReader FileWriter
數據輸入、輸出流,提供了readUTF 和 writeUTF 方法,可用於發送和接收消息。
對象流,可以將對象序列化爲文件 — 要求類實現哪個接口? Serializable接口
第九章 網絡通信:
IPv4 的IP地址都是32位地址
IPv6 的IP地址是128位無符號整數。
IPv6出現解決的問題: IPv4地址不夠用
什麼是套接字編程?包括什麼?
TCP/IP通信協議中,IP地址+端口號,就是套接字(Socket)。
TCP與UDP協議區別是什麼?
TCP:提供的是面向連接、可靠的數據傳輸。
UDP:提供的是無連接的、不可靠的數據傳輸
第十章 java數據庫連接:
JDBC API是什麼?有什麼作用?
API (應用程序接口,Application Program Interface)。
作用:使我們能夠用純Java來編寫數據庫應用程序。
如何利用JDBC API連接數據庫,實現增、刪、改、查等任務?
一般步驟:
(a)加載和註冊驅動程序
加載驅動程序 —
需要將MySQL的mysql-connector-java-5.1.47.jar 加入項目
Class.forName("com.mysql.jdbc.Driver");
(b)連接數據庫
// 連接數據庫
Connection conn = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/javadb", "root", "123456");
(c)向數據庫發送SQL語句並處理結果
// statement用來執行SQL語句
Statement statement = conn.createStatement();
//執行語句
statement.executeUpdate(sql);
//關閉數據庫的連接
conn.close();
簡單的SQL語句及應用。(增刪改查)
(執行時,把sql語句放入上面步驟c的 //執行語句 中的sql位置即可)
查看錶中所有信息(按表內列的順序操作,下同)
String sql = "select * from teacher";
插入數據
String sql = "insert into teacher values('20051102001', '張老師','13802287655', 35)";
更新(修改)數據
String sql = "update teacher set age=38 where id='20051102001' ";
刪除數據
String sql = "delete from teacher where id='20051102001' ";