Java語言概述及編程基礎_第1頁
Java語言概述及編程基礎_第2頁
Java語言概述及編程基礎_第3頁
Java語言概述及編程基礎_第4頁
Java語言概述及編程基礎_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1Java編程技術主講老師:吳幸電話:138140507022第1章 Java語言概述及編程基礎教學內容:1.1 Java語言簡介1.2 Java語言開發(fā)環(huán)境1.3 Java語言編程基礎31.1 Java語言簡介 1 Java的誕生與發(fā)展v 1991年4月,Sun公司的James Gosling領導的綠色計劃(Green Project)開始著手發(fā)展消費性電子產(chǎn)品(Consumer Electronics), 設計小組本來是以C+語言作為設計軟件的程序語言,但是他們隨后發(fā)現(xiàn)用C+語言會遇到一些編譯技術上的難題.當時像C和C+這樣的主流語言,只能對目標進行編譯。面對電子產(chǎn)品多種多樣的CPU芯片,

2、為每種類型的CPU芯片創(chuàng)建編譯器只是一種在理論上可行,而實際風險很大,因為這是一項既耗資又耗時的工作。4v為了尋求可行方案,于是他們另起爐灶開發(fā)一種新語言。這種語言要能生成運行于不同環(huán)境、不同CPU芯片的代碼,即可移植跨平臺的語言。于是就有了以C+為基礎的JAVA語言。v當時他們命名這種語言為Oak,英文的意思是橡樹,來源于窗外的一棵老橡樹。后來在注冊時因為已經(jīng)有相同的名字了,才改名為Java,來源于小組成員喜歡喝的一種咖啡的名字。這就是Java的起源。1.1 Java語言簡介語言簡介1 Java的誕生與發(fā)展5v由于種種原因,Java并未被廣泛應用到電子產(chǎn)品中。 隨著網(wǎng)絡的興起,小組的成員驚喜

3、地發(fā)現(xiàn)Java可以應用到Internet上,于是他們將重心轉移到Internet編程上。v1995年,Sun 正式發(fā)布Java1.0版本。之后,Java 在全球范圍內引發(fā)了經(jīng)久不衰的Java熱潮,Java 的地位也隨之得到肯定。Java的版本也不斷更新從v1.0、v1.2到目前最新的v1.6。v為了滿足不同的需求,Java分化出三個不同的版本:J2EE,Java企業(yè)版,定位在服務器端程序的應用上,適合企業(yè)級別的網(wǎng)絡應用開發(fā)。J2SE,Java標準版,定位在客戶端程序的應用上,適合普通PC應用軟件開發(fā)。J2ME,Java微型版,定位于嵌入式系統(tǒng)的應用軟件,適合小型、智能型終端設備上的應用軟件開發(fā)

4、。1.1 Java語言簡介語言簡介1 Java的誕生與發(fā)展6v歸納起來Java語言有以下這些特點: 1 簡單 2 面向對象 3 分布式 4 解釋執(zhí)行 5 健壯性 6 安全 7 結構中立,可移植性 8 高效率 9 多線程1.1 Java語言簡介語言簡介2 Java語言的特點7v1 簡單 Java最初是為家用電器進行集成控制而設計的一種語言,因此它必須簡單明了.Java語言的簡單性體現(xiàn)在三個方面: 1. Java的風格類似C+ ,因此,C+程序員可以很快地掌握Java編程技術. 2. Java中屏棄了C+中容易引發(fā)程序錯誤的一些功能,如指針、結構、枚舉以及內存管理等。 3. Java提供了豐富的類

5、庫,可以幫助我們很方便的開發(fā)Java程序。1.1 Java語言簡介語言簡介2 Java語言的特點8v2 面向對象 面向對象可以說是Java最重要的特性,Java語言支持封裝、繼承、重載、多態(tài)等面向對象的特性。不同于C+,Java語言的設計是完全面向對象的,它不支持類似C語言那樣的面向過程的程序設計技術。面向過程的程序設計已不能滿足軟件工程,軟件規(guī)?;l(fā)展的需要.1.1 Java語言簡介語言簡介2 Java語言的特點9v3 分布式 Java是面向網(wǎng)絡的語言、Internet上的世界通用語言。Java豐富的類庫中有個專門支持網(wǎng)絡的包J,通過這個包中的類,可以非常容易的編寫基于TCP/IP的HTTP

6、和FTP 等協(xié)議的應用軟件。所以用Java比在C+ 中更容易創(chuàng)建網(wǎng)絡連接、進行網(wǎng)絡訪問。Java應用程序可以借助URL 在網(wǎng)絡中讀取和存儲文件,就像在一個本地文件系統(tǒng)中存取一樣簡單。1.1 Java語言簡介語言簡介2 Java語言的特點10v 4 解釋性 Java代碼是解釋執(zhí)行的,我們使用Java編譯器將Java源程序編譯成字節(jié)碼,這是一種中間代碼,與機器無關,可以跨平臺解釋執(zhí)行。而C+程序是編譯執(zhí)行的,C+ 原程序被編譯為本地機器指令,然后執(zhí)行,所以跨平臺執(zhí)行就需要重新編譯.這種解釋執(zhí)行的好處是:這種解釋執(zhí)行的好處是: 一次編譯,到處運行。一次編譯,到處運行。1.1 Java語言簡介語言簡介

7、2 Java語言的特點11v5 健壯 程序健壯性,說的是它不容易出錯。從過往的經(jīng)驗看程序最容易犯的兩個錯誤是:內存管理錯誤和運行時錯誤。Java的自動垃圾收集功能使程序開發(fā)者從容易出錯的內存管理問題中解脫出來,從而提高程序的健壯性。而Java的異常處理機制為第2個問題提供了好的解決方案。1.1 Java語言簡介語言簡介2 Java語言的特點12v6 安全 Java的安全性可以從兩個方面得到保證。 一方面,在Java語言里,刪除了指針和釋放內存等C+功能,避免了非法內存操作。 另一方面,通過Java的安全體系架構來確保Java代碼的安全性。當我們從網(wǎng)上下載Java代碼在本地執(zhí)行時,Java的安全

8、架構能確保惡意代碼不能訪問本地計算機的資源,例如,刪除文件,訪問本地網(wǎng)絡資源等操作都是被禁止的。1.1 Java語言簡介語言簡介2 Java語言的特點13v7 結構中立、可移植 這正是促成Java產(chǎn)生的源動力,Java實現(xiàn)了這個目標。Java編譯器產(chǎn)生的字節(jié)碼字節(jié)碼是一種結構中立的中間文件格式??梢栽谔峁㎎ava 虛擬機的任何一個系統(tǒng)上解釋運行。Java 虛擬機正是解決方案的核心。結構中立確保了程序的可移植性。 1.1 Java語言簡介語言簡介2 Java語言的特點14v8 高效能 雖然Java字節(jié)碼是解釋運行的,解釋型語言的執(zhí)行效率遠低于編譯型語言,但Java語言很好地解決了這個問題,Jav

9、a編譯生成的字節(jié)碼與機器碼十分接近,而且Java 還有如下兩種提高性能的措施,即及時編譯和連入C代碼,及時編譯是指在解釋執(zhí)行前將字節(jié)碼編譯為機器碼。1.1 Java語言簡介語言簡介2 Java語言的特點15v9 多線程 Java語言的一個重要特性就是在語言級支持多線程編程。多線程就好像我們做一張桌子,如果你一個人完成這張桌子-就好比單線程,你需要先做桌面,然后再做四個桌子腿,如果現(xiàn)在有5個人來做桌子就好比多線程,其中1個人做桌面,另外4個人分別做4個桌子腿,那么這兩種方式效率的高低,相信大家都能區(qū)分。1.1 Java語言簡介語言簡介2 Java語言的特點161.Java虛擬機(JVM)vJav

10、a語言一個非常重要的特點就是與平臺的無關性,而Java虛擬機(JVM)是實現(xiàn)這一特點的關鍵。vJava源程序首先被編譯成字節(jié)碼字節(jié)碼文件,然后由Java解釋程序解釋性地執(zhí)行。這個Java解釋程序就是Java虛擬機提供的,Java虛擬機在各種常用的操作系統(tǒng)中都可以安裝。vJava虛擬機在實際的計算機上是通過軟件模擬來實現(xiàn)。Java虛擬機有自己完善的虛擬硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統(tǒng)。1.2 Java編程環(huán)境17vJDK是Java最基本的開發(fā)工具。學習Java語言前,必須下載安裝JDK??梢栽赟un公司網(wǎng)站:http:/ 免費下載。vJDK中包括:Java編譯器(java

11、c)、解釋器(java)、小應用程序瀏覽工具(appletviewer)、打包工具(jar)、文檔生成器(javadoc)、查錯工具(jdb),以及完整的JRE(Java Runtime Environment,Java運行環(huán)境)。 1.2 Java編程環(huán)境編程環(huán)境2.Java開發(fā)工具包JDK18v用Java書寫的程序有兩種類型: Java應用程序(Java Application)和java小應用程序(Java Applet)vJava應用程序必須得到Java虛擬機的支持才能運行.而Java小程序則需要客戶端瀏覽器的支持.Java小程序運行之前必須先將其編譯后的字節(jié)碼嵌入HTML文件的和標記

12、中.當用戶瀏覽該HTML頁面時,Java小程序將從服務器端下載到客戶端由瀏覽器解釋執(zhí)行。1.2 Java編程環(huán)境編程環(huán)境3. Java程序的類型及不同的編程模式19v下載安裝JDKv設置環(huán)境變量v編寫JAVA源程序v編譯生成字節(jié)碼v運行程序1.2 Java編程環(huán)境編程環(huán)境4. Java應用程序(Java Application)開發(fā):20v下載安裝JDK: 打開瀏覽器,在地址欄輸入sun公司的網(wǎng)址:http:/ 找到適合于自己計算機平臺的Jdk版本,這里下載jdk-7-windows-i586.exe可執(zhí)行程序。1.2 Java編程環(huán)境編程環(huán)境4. Java應用程序(Java Applicat

13、ion)開發(fā):21v選擇目錄安裝到C:j2sdk1.5.0目錄1.2 Java編程環(huán)境編程環(huán)境4. Java應用程序(Java Application)開發(fā):22v配置環(huán)境變量在“我的電腦”處單擊右鍵,在快捷菜單中選擇“屬性”,選擇“高級”選項卡單擊“環(huán)境變量”按鈕。在打開的“環(huán)境變量”對話框中,選擇“新建”單擊“新建”按鈕以創(chuàng)建一個新的系統(tǒng)變量名 JAVA_HOME,其值為 Jdk 的安裝路徑選中Path變量,單擊編輯按鈕,設置變量值為D:jdk1.7.0bin。確定保存新建CLASSPATH變量,設置變量值為D:jdk1.7.0libtools.jar。確定保存1.2 Java編程環(huán)境編程

14、環(huán)境4. Java應用程序應用程序(Java Application)開發(fā)開發(fā):23v配置環(huán)境變量JAVA_HOMEPathCLASSPATH1.2 Java編程環(huán)境編程環(huán)境4. Java應用程序(Java Application)開發(fā):24v編寫源代碼 /文件名:HelloWorld.java public class HelloWorld /類名要和文件名一致 public static void main(String args) System.out.println(Hello World!); 1.2 Java編程環(huán)境編程環(huán)境4. Java應用程序(Java Application)

15、開發(fā):25v編譯及運行:編譯源代碼(在DOS環(huán)境下,進到源程序所在的目錄,執(zhí)行下面的命令:) javac HelloWorld.java 在同一個目錄下得到HelloWorld.class運行 java HelloWorld 屏幕將顯示字符串:Hello World!1.2 Java編程環(huán)境編程環(huán)境4. Java應用程序(Java Application)開發(fā):26 /源程序HelloWorldApplet.java import java.applet.Applet; import java.awt.Graphics; public class HelloWorldApplet extend

16、s Applet public String s;public void init() s = Hello World!; / 生成一個字符串對象public void paint(Graphics g) g.drawString(s, 50, 25); / 在瀏覽器中坐標為(50,25)的位置顯示字符串s 1.2 Java編程環(huán)境編程環(huán)境5.Java Applet小程序27vapplet程序是從方法init()開始執(zhí)行的,在該方法中完成了對字符串s的初始化工作v顯示功能是在方法paint()中執(zhí)行的。paint()是Applet類中的一個成員方法,其參數(shù)是圖形對象Graphics g,通過調

17、用對象g的drawString()方法就可以顯示輸出。 1.2 Java編程環(huán)境編程環(huán)境5.Java Applet小程序28v編譯后生成字節(jié)碼文件HelloWorldApplet.class.v將HelloWorldApplet.class嵌入到HTML頁面中的標記中將該html文件保存為: hello.html1.2 Java編程環(huán)境編程環(huán)境5.Java Applet小程序29v在dos環(huán)境下執(zhí)行命令: appletviewer hello.html 就可以在瀏覽器中看到這個HTML頁面1.2 Java編程環(huán)境編程環(huán)境5.Java Applet小程序30vEclipse簡介 Eclipse是

18、IBM主導開發(fā)的IDE(Integrated Development Environment)。從網(wǎng)站(/downloads)下載vEclipse只是一個框架和一組服務,通過插件構建開發(fā)環(huán)境。用戶可以將不需要的插件剔除,定制個性化的開發(fā)環(huán)境。Eclipse的優(yōu)勢正逐漸展現(xiàn),具有良好的前景??梢栽诰W(wǎng)站上找到各種各樣的eclipse插件1.2 Java編程環(huán)境編程環(huán)境5.Eclipse 集成開發(fā)工具31vEclipse 3.1啟動v選擇你自己的workspace(以后工程所存

19、放的目錄)。v如果選擇“Use this as the default and to not ask again”這個目錄將成為默認目錄。選擇你自己的workspace1.2 Java編程環(huán)境編程環(huán)境5.Eclipse 集成開發(fā)工具32vEclipse啟動1.2 Java編程環(huán)境編程環(huán)境5.Eclipse 集成開發(fā)工具33v建立Java項目示例 1. 選擇FileNewProject 2. 在 New Project 對話框(圖 4.1),選 Java Project (或是展開 Java 的數(shù)據(jù)夾,選 Java Project 3. 在 New Java Project 的窗口中輸入 Pro

20、ject 的名稱,后點擊Finish按鈕1.2 Java編程環(huán)境編程環(huán)境5.Eclipse 集成開發(fā)工具341.3 Java語言編程基礎教學重點:1. Java的常量和變量2. Java的簡單數(shù)據(jù)類型3. Java的運算符與表達式4. Java的程序流程控制351常量與變量v常量與變量是Java語言中的基本元素,常量一般表示一個,而變量則是程序中的基本存儲單位.v常量區(qū)分不同的類型,如整形常量123,實型常量12.3,字符常量a,布爾常量true、 false,字符串常量”This is a constant string”。vJava浮點類型常量默認為double,如要聲明一個常量為floa

21、t型, 在數(shù)字后加f或F,如: double d=3.14; float f=3.14f; v與C/C+不同,Java中不能通過#define命令把一個標識符定義為常量,而是通過關鍵字final來實現(xiàn),如:final double PI=3.14169;1.3 Java語言編程基礎語言編程基礎361常量與變量v變量的定義包括變量名、類型和作用域幾個部分。 如:int vari; float varf=12.3;v變量名是一個合法的標識符,變量名區(qū)分大小寫。變量名應具有一定的含義,以增加程序的可讀性。v變量類型可以是Java的任意一種數(shù)據(jù)類型。它決定了變量空間的大小和存放的內容v作用域指明了可訪

22、問該變量的范圍,變量在程序中聲明的位置隱含地指出了該變量的作用域。v按作用域來分,變量可以有下面幾種:成員變量、局部變量和方法參數(shù)。1.3 Java語言編程基礎語言編程基礎371常量與變量v成員變量在類中聲明,而不是在類的某個方法中聲明,它的作用域是整個類,即類中的方法可以使用他們。v局部變量在方法或方法的一塊代碼中聲明,它的作用域是整個方法或方法中的某個代碼塊。v方法參數(shù)用于將相應的數(shù)據(jù)傳遞給方法,它的作用域就是這個方法。1.3 Java語言編程基礎語言編程基礎38vclass Method4v float xx; /xx為成員變量v float aa(float x,float y) /x

23、,y為方法參數(shù)v float xx; /這里的xx為局部變量v xx=x+y; /對局部變量xx賦值v return xx;v v void bb(float x)v xx=x; /對成員變量賦值v vvclass TryMethod4v public static void main(String args)v Method4 a=new Method4();v System.out.println(方法aa中局部變量xx的值為: +a.aa(5,8);v System.out.println(執(zhí)行方法aa后,類的成員變量a.xx=+a.xx);v a.bb(8);v System.out.

24、println(執(zhí)行方法bb后,類的成員變量a.xx=+a.xx);v v1.3 Java語言編程基礎語言編程基礎執(zhí)行結果:執(zhí)行結果:方法方法aa中局部變量中局部變量xx的值為:的值為:13.0執(zhí)行方法執(zhí)行方法aa后,類的成員變量后,類的成員變量a.xx=0.0執(zhí)行方法執(zhí)行方法bb后,類的成員變量后,類的成員變量a.xx=8.0392.Java的數(shù)據(jù)類型v數(shù)據(jù)類型指的是一組性質相同的值的集合以及定義于這個集合上的一組操作的總稱。Java中的數(shù)據(jù)類型分為兩大類:一類稱基本數(shù)據(jù)類型,另一類稱構造數(shù)據(jù)類型。v基本數(shù)據(jù)類型是一些不可再分的簡單數(shù)據(jù)類型,如整型、浮點型等。而構造數(shù)據(jù)類型是由基本數(shù)據(jù)類型組

25、合而成的數(shù)據(jù)類型,如數(shù)組、類等。1.3 Java語言編程基礎語言編程基礎40Java的基本數(shù)據(jù)類型數(shù)據(jù)類型關鍵字分配內存空間(位寬)取值范圍字節(jié)型byte8-128127短整型short16-215215-1整型int32-231231-1長整型long64-263263-1單精度型float321.4E-453.4E+38雙精度型double644.9E-3241.797E+308字符型char16Unicode字符布爾型boolean1true 、false1.3 Java語言編程基礎語言編程基礎2.Java的數(shù)據(jù)類型412.Java的數(shù)據(jù)類型v字符類型: charvchar即字符型,Ja

26、va使用Unicode編碼,每個字符占16位。而C/C+中字符類型采用ASCII編碼,每個字符占8位,總共可以表示256個不同的字符。使用Unicode編碼可以表示從0到65536個不同的字符,這樣無論是東方字符還是西方字符,都可以統(tǒng)一用Unicode表示。1.3 Java語言編程基礎語言編程基礎422.Java的數(shù)據(jù)類型v數(shù)據(jù)類型轉換 整型、實型、字符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先要轉換成同一類型,然后進行運算。轉換從低級到高級則系統(tǒng)自動類型轉換,反之,從高級到低級則要進行強制類型轉換。 如:int three=3; char one=1; char four=(char)(t

27、hree+one);運算結果被強制轉換成運算結果被強制轉換成char型再型再賦給字符型變量賦給字符型變量fourOne被自動類型轉換成被自動類型轉換成 int型參與運算型參與運算1.3 Java語言編程基礎語言編程基礎433. Java的運算符與表達式v運算符 單目算術運算符:+ +、- -、- 雙目算術運算符:+、-、*、/、% 賦值運算符:=、+=、-=、*=、/=、%=、&=、|=、=、=、=、9?100:200;問:x=?;y=?答:x=10; y=11;結果:X=0;y=0.4結果:x=1; y=0;結果: y=1001.3 Java語言編程基礎語言編程基礎454. Java的流程控

28、制語句vJava語句 計算機高級語言中的語句大抵類似人類自然語言中的語句。一個語句形成程序的一個完整執(zhí)行單位。Java語句有:簡單語句 如賦值語句,聲明語句,方法調用等,每個語句用分號;結束復合語句(或語句塊) 用語句;語句;的語句組.分支語句(if、switch語句)-分支結構循環(huán)語句(while語句、dowhile語句、for語句) 跳轉語句:break; continue 1.3 Java語言編程基礎語言編程基礎464. Java的流程控制語句vIfelse語句(雙分支結構) if (表達式) 語句例:if (xy) y+=x; if (表達式) 語句1 else 語句2例:if (xy

29、) +y; else +x; if (表達式1) 語句1 else if (表達式2) 語句2 else if (表達式3) 語句3 else 語句 n /這時,else總是和離它最近的if 配對1.3 Java語言編程基礎語言編程基礎47vSwitch語句(多分支結構) switch(表達式) case 常量表達式1:語句組1;break; case 常量表達式2:語句組2;break; case 常量表達式3:語句組3;break; case 常量表達式n-1:語句組n-1;break; default:語句塊n; 如:switch(ch) case a: System.out.print

30、ln(ch);break; case b: System.out.println(ch);break; case c: System.out.println(ch);break; default: System.out.println(“非法字符“); 4. Java的流程控制語句1.3 Java語言編程基礎語言編程基礎484. Java的流程控制語句vWhile語句(循環(huán)結構) while(布爾表達式) 語句塊 /條件表達式為真執(zhí)行循環(huán)體 例 求1000以內的所有偶數(shù)的和(包含1000) public class TestWhile public static void main(Strin

31、g args) int i = 1, sum=0; while(i = 1000) if(i%2=0) sum = sum + i; i+; System.out.println(1000之內所有偶數(shù)的和是: + sum); 改變循環(huán)條件的語改變循環(huán)條件的語句句當循環(huán)條件為當循環(huán)條件為真時執(zhí)行循環(huán)真時執(zhí)行循環(huán)體體1.3 Java語言編程基礎語言編程基礎49vdoWhile語句(循環(huán)結構) Do 語句或語句塊 /循環(huán)體 while(條件表達式); 例 求1000以內的所有偶數(shù)的和(包含1000) public class TestDoWhile public static void main(String args) int i = 1, sum=0; do if(i%2=0) /判斷i是否為偶數(shù)sum = sum + i; i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論