項目javascript |
內容java |
這個做業屬於哪一個課程c++ |
https://www.cnblogs.com/nwnu-daizh/web |
這個做業的要求在哪裏數據庫 |
|
做業學習目標小程序 |
|
第一部分:課程學習平臺註冊帳號瀏覽器
平臺名稱安全 |
註冊帳號或者我的博客園地址服務器 |
|
博客園:www.cnblogs.com |
https://www.cnblogs.com/zyja/ |
|
程序設計評測:https://pintia.cn/ |
1911296608@qq.com |
|
中國大學MOOC: https://www.icourse163.org/ |
18419244307 |
|
如下回答是或否 |
||
是否加入課程班級博客羣 |
是 |
|
是否加入課程QQ討論羣 |
是 |
|
第二部分:理論知識學習部分
第一章 Java程序設計概述
一:Java"白皮書「的關鍵術語
1.簡單性
人們但願構建一個無須深奧的專業訓練就能夠進行編程的系統,而且要符合當今的標準慣例。所以,儘管人們發現C++不太適合,但在設計java的時候仍是儘量地接近C++,以便系統更易於理解。Java挑剔了C++中許多不多使用、難以理解、易混淆的特性。在目前看來,這些新特性帶來的麻煩遠遠多於其帶來的好處。
的確,Java語言是C++語法的一個純淨版本。這裏沒有頭文件、指針運算(甚至指針語法)、結構、聯合、操做符重載、虛基類等。然而設計者並無試圖清除C++中全部不適當的特性。例如,switch語句在Java中就沒有改變。若是你瞭解C++你就會發現能夠垂手可得地轉換到Java語法。之前,Java剛發佈時,許多開發人員確定以爲Java並不簡單。不少年之後Java的開發環境才迎頭而上。現在,Java發開環境已經遠遠超過了大多數其餘編程語言的開發環境。簡單的另外一方面是小。可以在小型機器上獨立運行的軟件。隨着時代的發展,如今已經適用於嵌入式設備。
2.面向對象性
簡單來講,面向對象設計是一種程序設計技術。它的重點在於對象。舉一個例子:有一個木匠想作一把椅子,一個有面向對象特色的木匠,他始終關注的是所製造的椅子,而後再關注所使用的工具;一個不具備面向對象特色的木匠,他首先考慮的是所用的工具。在本質上,Java的面向對象能力和C++是同樣的。主要不一樣點在於,C++能夠多重繼承,在Java中取而代之的是更簡單的接口概念。總的來講,就是Java先考慮的是結果,再考慮怎麼實現它。
3.分佈式
Java有一個豐富的例程庫,到這裏是否是想問例程庫 是什麼? 有什麼用? 它是用於處理像HTTP和FTP之類的TCP/IP協議。Java應用程序能經過URL打開和訪問網絡上的對象,它的編寫程度就至關於咱們訪問本地同樣。
4.健壯性
Java的設計目標之一就在於Java編寫的程序能夠具備多方面的可靠性。Java編譯器可以檢測許多在其餘語言中僅在運行時才能檢測出來的問題。至於第二點,對於之前須要花費幾個小時才能檢查出指針bug而引發的內存衝突的人來講,必定會愛上Java的這一特性。簡單來講,健壯性是指出錯了也能繼續運行的能力。
5.安全性
Java適用於網絡/分佈式環境。爲了達到這個目標,在安全方面投入了很大精力。使用Java能夠構建防病毒、防篡改的系統。從一開始,Java就設計成可以防範各類攻擊,其中包括:* 運行時堆棧溢出時。如蠕蟲和病毒經常使用的攻擊手段。*破壞本身的進程空間以外的內存。*未經受權讀寫文件。 不過黑客已經擅長找出全體系結構實現中的小漏洞,Java安全模型沒有原先預想的那麼成功,不過我相信早晚有一天,它會出現奇蹟的。
6.體系結構中立
編譯器生成一個體繫結構中立的目標文件格式,這是一種編譯過的代碼,只要有Java運行時系統,這些編譯後的代碼能夠在許多處理器上運行。Java編譯器經過生成與特定的計算機體系結構無關的字節碼指令來實現這一特性。精心設計的字節碼不只能夠很容易地在任何機器上解釋執行,並且還能夠迅速地翻譯成本地機器的代碼。字節碼能夠實現告終構中立。
7.可移植性
由於Java有一個JVM(Java Virtual Machine)Java虛擬機,源程序*.java被編譯成字節碼文件,字節碼是與平臺無關的,是面向jvm編寫的,而Jvm又有本身的一套指令系統,在不一樣的平臺上jvm的指令也是不同的,也就是說不一樣操做平臺有本身的Jvm可是Jvm向上的字節碼接口是與平臺無關的,Jvm接口向下是與硬件有關的,jvm是個中間件,這樣只要有字節碼和Jvm,無論在任何平臺均可以運行Java程序。全靠的是Jvm虛擬機,能夠跨平臺,這就是可移植性。
8.解釋型
Java解釋器能夠在任何移植解釋器的機器上執行Java字節碼。因爲連接是一個輕量級的過程,因此,開發過程也變得更加敏捷,更加具備探索性。它其實就是把作好的源程序翻譯一句,而後執行一句,直至結束。特色:執行速度慢、效率低;依靠解釋器、跨平臺性好。javascript語言也是解釋型的。
9.高性能
儘管如今咱們對解釋後的字節碼的性能已經比較滿意了,但在有些場合還須要更高的性能,這時候咱們該怎麼辦呢?字節碼能夠在運行時刻 動態地 翻譯成對應這個應用的特定CPU的機器碼。
10.多線程
多線程能夠帶來更好的交互響應和實時行爲。現在,咱們很是關注併發性,如今咱們再也不追求更快的處理器,而是得到更多的處理器,並且要讓它們一直保持工做。併發程序設計絕非易事,不過Java在這方面表現很出色,能夠很好地管理這個工做;web編程由於時間不是很長,處理器則要花很長時間來等待服務器響應,須要併發程序設計來確保用戶界面不會被凍住。
11.動態性
從各類角度看,Java與C或C++相比更加具備動態性。由於它可以適應不斷髮展的環境。庫中能夠自由地添加新方法和實例變量,而客戶端卻沒有任何影響。在Java中找出運行時類型信息十分簡單。
當須要將某些代碼添加到正在運行的程序中時,動態性將是一個很是重要的特性。好比說:從網上下載代碼,而後在瀏覽器上運行。若是使用C或C++,這確實難度很大,不過Java能夠很容易實現程序的推演。(C#與Java有不少相同之處,不過使用的虛擬機倒是徹底不一樣的)。
二:JAVA applet
Applet 是一種 Java 程序。它通常運行在支持 Java 的 Web 瀏覽器內。由於它有完整的 Java API支持,因此Applet 是一個全功能的 Java 應用程序。
1.以下所示是獨立的 Java 應用程序和 applet 程序之間重要的不一樣:
a. Java 中 Applet 類繼承了 java.applet.Applet 類。
b. Applet 類沒有定義 main(),因此一個 Applet 程序不會調用 main() 方法。
c. Applet 被設計爲嵌入在一個 HTML 頁面。
d. 當用戶瀏覽包含 Applet 的 HTML 頁面,Applet 的代碼就被下載到用戶的機器上。
e. 要查看一個 Applet 須要 JVM。 JVM 能夠是 Web 瀏覽器的一個插件,或一個獨立的運行時環境。
f. 用戶機器上的 JVM 建立一個 Applet 類的實例,並調用 Applet 生命週期過程當中的各類方法。
g. Applet 有 Web 瀏覽器強制執行的嚴格的安全規則,Applet 的安全機制被稱爲沙箱安全。
h. Applet 須要的其餘類能夠用 Java 歸檔(JAR)文件的形式下載下來。
2. Applet的生命週期
Applet 類中的四個方法給咱們提供了一個框架,你能夠在該框架上開發小程序:
init: 該方法的目的是爲你的 Applet 提供所需的任何初始化。在 Applet 標記內的 param 標籤被處理後調用該方法。
start: 瀏覽器調用 init 方法後,該方法被自動調用。每當用戶從其餘頁面返回到包含 Applet 的頁面時,則調用該方法。
stop: 當用戶從包含 Applet 的頁面移除的時候,該方法自動被調用。所以,能夠在相同的 Applet 中反覆調用該方法。
destroy: 此方法僅當瀏覽器正常關閉時調用。由於 Applet 只有在 HTML 網頁上有效,因此你不該該在用戶離開包含 Applet 的頁面後遺漏任何資源。
paint: 該方法在 start() 方法以後當即被調用,或者在 Applet 須要重繪在瀏覽器的時候調用。paint() 方法實際上繼承於 java.awt。
3. "Hello, World" Applet:
下面是一個簡單的 Applet 程序 HelloWorldApplet.java:
HelloWorldApplet.java 文件代碼:
import java.applet.*;
import java.awt.*;
public class HelloWorldApplet extends Applet
{
public void paint (Graphics g)
{
g.drawString ("Hello World", 25, 50);
}
}
4. Applet安全設置
Applet訪問網絡,拋出異常:
java.security.AccessControlException: access denied (java.net.SocketPermission server1 resolve)
這個錯誤的通知你訪問被拒絕。這就是說,因爲 applet 程序試圖在沒有得到正確的權限的狀況下訪問系統資源,括號中代碼表示,若要糾正這種狀況,您須要一個向數據庫所在計算機(主機名爲server1) 授予 applet 訪問權限的 SocketPermission。
解決辦法:
建立policy策略文件,內容以下:
grant {
permission java.net.SocketPermission "server1", "resolve";
permission java.net.SocketPermission "127.0.0.1:8080", "connect, resolve";
};
將該文件保存成ASCII文件,命名爲netconnect.policy,存於${JRE_HOME}/lib/security/目錄下(主要是爲方便後面路徑填寫)。
修改Java安全配置:
建立了策略文件後,修改${JRE_HOME}/lib/security/java.security文件,在
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
下添加一行
policy.url.3= file: ${java.home}/lib/security/netconnect.policy
再次訪問頁面的applet,又捕獲到以下異常:
java.security.AccessControlException: access denied(java.net.SocketPermission 127.0.0.1:8080 connect,resolve)
網絡訪問仍受限,不能訪問服務器127.0.0.1:8080,在前面生成的策略文件中加入
permission java.net.SocketPermission "10.6.1.16:1521", "connect, resolve";
再次訪問,運行成功。
三:關於JAVA的誤解
1:Java是HTML的擴展。
Java是一種程序設計語言;HTML是一種描述網頁結構的方式。除了用於在網頁上放置Javaapplet的HTML擴展以外,二者沒有任何共同之處。既然說到了HTML就不得不提一下JSP了,JSP全名爲Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計,他是一個動態網頁設計。咱們能夠把JSP理解爲是Java Servlet的擴展;
2使用XML,就不須要Java。
Java是一種程序設計語言;XML是一種描述數據的方式,可使用任何一種程序設計語言處理XML數據,而Java API對XML處理提供了很好的支持。此外,許多重要的第三方XML工具採用Java編寫。
3.Java是一種很是容易學習的程序設計語言。
像Java這種功能強大的語言大都不太容易學習。首先,必須將編寫玩具式程序,或者模仿他人的增刪改與實際項目是的艱難區分開來。Java類庫包含了數千種類和接口與幾萬個方法,要解決Java的實際問題,咱們仍是要了解很多內容的;
4.Java將成爲使用與全部平臺的通用性編程語言。
從理論上講,這是徹底有可能的。的確,除了微軟以外的每個廠商都但願如此。然而,有不少在桌面計算機上已經徹底工做良好的應用程序,在其餘設備上或瀏覽器中或許不能正常地工做。同時,在編寫這些應用程序時,利用了相應處理器的速度和本地的用戶接口庫,並且他們已經移植到全部重要的平臺上。這類應用程序包括:字處理程序,圖片編輯器以及Web瀏覽器。他們一般是用C編寫的,採用Java語言從新編寫彷佛對最終的用戶不會帶來什麼特別的好處。
5.Java只不過是另一種程序設計語言。
Java是一種很好的程序設計語言,不少程序設計人員喜歡Java賽過C,有上百種好的程序語言沒有普遍的流行,而帶有明顯缺陷的語言,而Java和C卻大行其道。這是由於程序設計語言的的成功更多的取決於其支撐系統的能力,而不是優美的語法。人們主要關注:是否提供了易於實現某些功能的易用,
便捷和標準的庫。是否擁有強大的程序設計能力與調試工具,語言和工具是否可以與計算器的其餘基礎結構整合在一塊兒Java的成功源於其類庫可以讓人們輕鬆的完成本來有必定難度的事情。
6.JAVA是專用的,應該避免使用
若是想在嵌入式系統中使用加瓦,就須要另一個不一樣的許可,極可能須要付費,不過,這些專利在將來十年內就會到期,那是JAVA就徹底免費了
7.Java是解釋型語言,所以對於關鍵的應用程序速度太慢了。
早起的Java是解釋型的,如今除了像手機這樣的微型平臺以外。Java虛擬機使用了即時編譯器,所以採用Java編寫的熱點代碼其運行速度與c++相差無幾。
如今今天的計算機速度遠比人們發出抱怨的時候快了不少。一個較慢的Java程序與幾年前至關快的C++程序還要快一些。如今的人們已經不抱怨Java程序慢了,而去抱怨Java的界面太醜了。
8.JavaScript是Java的簡易版。
JavaScript是一種在網頁中使用的腳本語言。它是由Netscape發明的,原來的名字叫作LiveScript.JavaScript的語法相似於Java,除此以外。二者無任何關係。固然名字有些想象。
9.交換程序是主要的安全風險。
10.使用JAVA,能夠用廉價的internet設備取代桌面計算機。
第二章:JAVA程序設計環境
系統環境的配置
,使用鼠標右擊「計算機」->屬性->左側高級系統設置->環境變量
系統變量->新建
變量名:JAVA_HOME變量值:
c:\ProgramFiles\Java\jdk1.8.0
系統變量->新建
變量名:CLASSPATH變量值:
.;%JAVA_HOME%\lib
系統變量->編輯
變量名:Path在變量值的最前面
加上:%JAVA_HOME%\bin;
選擇JAVA開發環境
1.使用命令行工具
2.使用集成開發環境
使用集成開發環境
3.從文本編輯器中編譯程序
主要學習了Java程序開發過程。和如何分析Java應用程序。
1:源程序的編輯:Java源程序是以•Java爲後綴的文本文件,能夠用各類Java集成 開發環境中的源代碼編輯器來編寫,也能夠用文本編輯工具來編寫。
2:源文件的命名:若是源文件中有多個類,那麼只能有一個類是public類。 若是有一個類是public類,那麼源文件的名字必須與這個類的名字徹底相同 。源程序文件的擴展名是.java 。若是源文件沒有public類,那麼源文件的名字只要和某個類的名字相同,而且擴展名是.java就能夠。 源程序名必定爲MyJavaApplication.java
第三部分 :實驗部分
一、實驗名稱:實驗一 Java程序設計環境
2. 實驗目的:
(1)掌握JDK的安裝與配置;
(2)掌握使用JDK開發Java程序的基本命令及步驟;
(3)熟練運用Elipse集成開發環境開發java程序的基本步驟
(4)掌握Java程序的基本語法。
3. 實驗步驟與內容:
實驗1 JDK的安裝與配置
1):下載jdk10.0.2文件並進行安裝,安裝路徑不會改變。
安裝後的文件夾截圖以下
2):進行環境變量的設置
步驟:此電腦-計算機-屬性-高級系統設置-環境變量-path-新建文件夾-將如圖所示的變量名粘貼
3):java -version 以下圖所示,則環境變量設置成功
4):window+R
4):輸入java
5):輸入javac
6):下載安裝eclipse軟件包,頁面以下
7):安裝後設置工做空間後,截圖以下
8):建立Java文件,截圖以下
9):利用eclipse輸出九九乘法表
10):代碼以下:
package cfb.java;
public class welcome {
public static void main(String[] args) {
int sum;
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
sum=i*j;
System.out.print(j+"*"+i+"="+sum+" ");
}
System.out.println();
}
}
}
4:實驗總結
1.經過第一章的學習,我大概瞭解了JAVA,知道了JAVA白皮書的一些關鍵術語,知道了一些JAVA的優缺點,並大體瞭解了JAVA applet,以及JAVA的發展簡史,經過學習關於JAVA的常見誤解,也解開了我對JAVA的一些疑惑。 2.經過第二章JAVA程序設計環境的學習,我知道了JAVA的開發工具JDK如何編譯和運行,如何安裝JDK,設置環境變量,還有eclipse的安裝,也學會了使用命令行工具來運行JAVA程序,也知道了使用集成開發環境來運行JAVA程序。 3.JDK和eclipse安裝好了之後就運行了第一個程序運行,Welcome.java,以及九九乘法表,增強鞏固了一下運行的步驟以及過程。 4.學知識很難,但學會了仍是比較開心的,也同時感謝助教和老師的幫助。