




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Java程序設(shè)計西南財經(jīng)大學(xué)天府學(xué)院Tianfu
College
of
Southwestern
University
ofFinance
and
Economics郭進西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計第一章java概述計算機基礎(chǔ)知識回顧程序設(shè)計概述Java概述3Java環(huán)境搭建4第一個java程序編寫實現(xiàn)5西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計計算機基礎(chǔ)知識回顧——計算機系統(tǒng)計算機系統(tǒng)由硬件和軟件構(gòu)成馮·諾依曼的通用計算機方案:
計算機硬件由??個基本部分組成:運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備;用二進制表示計算機的指令和數(shù)據(jù);
存儲程序和程序控制:將程序和數(shù)據(jù)放在存儲器中,并讓計算機自動地執(zhí)行程序。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計計算機基礎(chǔ)知識回顧——計算機系統(tǒng)西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計程序設(shè)計概述 程序員用各種程序設(shè)計語言編寫計算機指令。某些指令能夠直接被計算機執(zhí)行,而其它的指令還需要通過中間的翻譯過程才可被計算機執(zhí)行。 當今使用的計算機語言有上百種,大致可分為如下三類:機器語言、匯編語言和高級語言。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計機器語言、匯編語言和高級語言機器語言高級語言匯編語言高級機語器言語用言簡的單每的一英條文語單句詞都和熟悉的數(shù)是學(xué)匯二表編進達語制式言形,用式并助的且記指用符令戶代代不替必機了解計算碼機器,的語從指言屬令的于系操硬統(tǒng)作件,碼設(shè)主,備要例,考如一慮解題算法般的A隨D實DC現(xiàn)PU。加的高不級同語而言不編同寫。的源程序可例以如在不同的計算機上使用,但是必須但經(jīng)是01過匯01編0編1譯1語成言加機還器是語面言向才機能執(zhí)行。器的01。01而101且因減機而異西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計匯編或高級語言
機器語言的方式:編譯:將原程序(高級語言編寫)翻譯成目標代碼(機器語言)。計算機執(zhí)行程序時執(zhí)行的是目標代碼。高級語言源程序編譯程序機器語言目標代碼鏈接執(zhí)行(編譯)解釋:計算機在執(zhí)行程序時,邊解釋邊執(zhí)行。高級語言源程序解釋程序執(zhí)行(解釋)西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計庫文本編輯器#include<stdio.h>int
main(){……編譯器連接器運行器001100010110000111……001100010110000111……------------------------------源代碼目標代碼可執(zhí)行代碼結(jié)果程序員西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計source
program…………ccoommpplliieerrobject
programother
objectfiles/librarieslliinnkkeerr………………………………executable
file編譯過程西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計一個程序應(yīng)包括兩方面的內(nèi)容一個程序應(yīng)包括兩方面的內(nèi)容數(shù)據(jù)類型(Data
types)數(shù)據(jù)結(jié)構(gòu)(Data
structure)數(shù)據(jù)結(jié)構(gòu)+算法=程序1、對數(shù)據(jù)的描述算法(algorithm)2、對操作的描述西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計設(shè)計、書寫及檢查調(diào)試程序的過程。數(shù)據(jù)結(jié)構(gòu)確定算法編寫代碼調(diào)試運行整理結(jié)果
并攥寫文檔程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計方法+文檔程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計方法+文檔EXAMPLE[1-1]:0021班
學(xué)生成績表單姓
名英語高數(shù)總分春風(fēng)8867夏天8079秋雨9283冬雪7690請計算下列給出的成績表單中“春風(fēng)”的總成績姓
名英語高數(shù)總分春風(fēng)8867夏天8079秋雨9283冬雪7690英語和高數(shù)成績均用整型數(shù)據(jù)表示:int score1,
score2,
sum;score1=88score2=67數(shù)據(jù)結(jié)構(gòu)確定算法sum=score1+score2sum=0score1=88Score2=67sum=score1+score2Begin輸出sumEnd姓
名英語高數(shù)總分春風(fēng)8867夏天8079秋雨9283冬雪7690數(shù)據(jù)結(jié)構(gòu)確定算法編寫代碼main(){
int
score1,
score2,sum=0;score1=88;score2=67;sum=score1+score2;printf(“sum=%d\n”,
sum);}main(){
int
score1,
score2,sum=0;score1=88;score2=67;sum=score1+score2;printf(“sum=%d\n”,
sum);}sum=0score1=88Score2=67sum=score1+score2Begin輸出sumEnd姓
名英語高數(shù)總分春風(fēng)8867155夏天8079秋雨9283冬雪7690數(shù)據(jù)結(jié)構(gòu)確定算法編寫代碼main(){
int
score1,
score2,sum=0;score1=88;score2=67;sum=score1+score2;printf(“sum=%d\n”,
sum);}main(){
int
score1,
score2,sum=0;score1=88;score2=67;sum=score1+score2;printf(“sum=%d\n”,
sum);}調(diào)試運行整理結(jié)果并攥寫文檔程程序序名名稱稱::ssuumm.c.c程程序序員員::李李曉曉程程序序功功能能::計計算算學(xué)學(xué)生生成成績績代代碼碼編編寫寫日日期期::22000088年年99月月77日日該該程程序序算算法法用用下下列列程程序序流流程程圖圖描描述述::…………程序設(shè)計的過程就是問題求解的過程.應(yīng)用計算機求解問題是一個復(fù)雜的過程,包括問題分析,建立數(shù)據(jù)模型,設(shè)計算法,編程,調(diào)試和測試,文檔整理等。學(xué)習(xí)程序設(shè)計,要按這個步驟一步一步地解決問題。掌握和學(xué)會問題求解方法,是學(xué)習(xí)高級語言的重點,也是最大難
點。它將貫穿于教學(xué)的整個過程,滲透到各個教學(xué)環(huán)節(jié)。問題分析建立數(shù)據(jù)模型設(shè)計算法編輯調(diào)試和測試文檔整理圖1.
問題求解過程X1起止端點輸入/輸出一般處理預(yù)定義處理條件判斷循環(huán)上界循環(huán)下界流程線sum=0score1=88Score2=67sum=score1+score2Begin輸出sumEnd請用程序流程圖描述求解下列問題的算法姓
名英
語高
數(shù)總分春風(fēng)8867EXAMPLE[1-2]:用程序流程圖表示的三種基本結(jié)構(gòu)用程序流程圖表示的三種基本結(jié)構(gòu)ABC順序結(jié)構(gòu)AexpT選擇結(jié)構(gòu)BAexpTFcase
expcase
1case
2……case
n選擇結(jié)構(gòu)expTAF循環(huán)結(jié)構(gòu)expTAFN--S圖表示算法的優(yōu)點:比文字描述直觀、形象、易于理解;比傳統(tǒng)流程圖緊湊易畫,而且廢除了流程線,整個算法結(jié)構(gòu)是由各個基本結(jié)構(gòu)按順序組成的。N--S流程圖中的上下順序就是執(zhí)行時的順序,寫算法和讀算法只需從上到下,十分方便。用N--S圖表示的算法都是結(jié)構(gòu)化的算法,因為它不可能出現(xiàn)流程無規(guī)律的跳轉(zhuǎn),而只能自上而下地順序執(zhí)行。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計第一篇Java語言基礎(chǔ)第二篇面向?qū)ο蠹夹g(shù)第三篇Java異常處理第四篇輸入輸出與多線程第五篇Java的應(yīng)用西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——產(chǎn)生背景1991年,電視機,機頂盒,錄象機的開發(fā)設(shè)計需要一種可移植、方便、高效的計算機語言。為了滿足這種需求,由Sun公司的
PatrickHaughton和James
Gosling領(lǐng)導(dǎo)的技術(shù)小組開發(fā)了JAVA。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——發(fā)展歷史SunMicrosystem公司為了發(fā)展消費性電子產(chǎn)品而進行了一個名為Green的項目計劃。這個計劃的負責人是James
Gosling。起初他以C++來寫一種內(nèi)嵌式軟件,可以放在烤面包機或PAD等小型電子消費設(shè)備里,使得機器更聰明,更具有人工智能。但后來他發(fā)現(xiàn)C++并不適合這類的任務(wù)!因為C++常 會有使系統(tǒng)失效的程序錯誤,尤其是內(nèi)存管理。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Gosling最后決定要發(fā)展一種新的語言,來解決C++的潛在性危險問題,這個語言名叫Oak(橡樹)。它保留了大部分與C++相似的語法,但卻把些較具危險性的功能加以改進,像內(nèi)存資源管理,便由語言本身來管理,以減少程序設(shè)計師的負擔及錯誤的產(chǎn)生。Oak是一種可移植性(portable)語言,也就是一種平臺獨立(platform-independent)的語言,能夠在各種芯片上運行。這樣子各家廠商就可降低研發(fā)成本,直接把應(yīng)用程序應(yīng)用在自家的產(chǎn)品上。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計時間到了1994年,Oak的技術(shù)已日趨成熟,這時剛好網(wǎng)絡(luò)也正開始蓬勃發(fā)展。而Oak研發(fā)小組發(fā)現(xiàn)Oak很適合作為一種網(wǎng)絡(luò)程序語言。因此發(fā)展了一個能與Oak相配合的瀏覽器——WebRunner,后更名為HotJava,它證明了Oak是一種能在網(wǎng)絡(luò)上發(fā)展的程序語言。后來,因為Oak這個商標已被注冊走了,工程師們便想到以手中常享用的咖啡(Java)來重新命名,并于SunWorld95中被發(fā)表出來。從此以后,Java就隨著網(wǎng)絡(luò)的快速發(fā)展,而成了一個程序語言的明日之星。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——技術(shù)分支JAVAEEJSP
/
ServletEJB服務(wù)…JSP
/
ServletJAVA
EEEJB服務(wù)…JAVA
MECLDC、MIDP游戲通訊…JAVA
MECLDC、MIDP游戲通訊…JAVASE面向?qū)ο驤VM底層支持…基礎(chǔ)核心基礎(chǔ)核心JAVA
SE面向?qū)ο驤VM底層支持…西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——語言的特點 Java語言有下面一些特點:簡單、面向?qū)ο蟆⒎植际?、解釋?zhí)行、安全、體系結(jié)構(gòu)中立、可移植、高性能、多線程以及動態(tài)性。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——Java工作原理對于大多數(shù)語言,如果要運行一個程序,要么編譯程序要么解釋程序;但是Java語言的程序則既要被編譯又要被解釋。編譯器將Java源程序翻譯為字節(jié)碼(bytecode)程序;解釋器(Java虛擬機)分析并解釋執(zhí)行字節(jié)碼程序。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計源代碼目標碼可執(zhí)行代碼源代碼字節(jié)碼編譯連接運行操作系統(tǒng)編譯解釋執(zhí)行Java解釋器西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Source Code(源程序
*.java)JVM(Java虛擬機)JVM(Java虛擬機)JVM(Java虛擬機)WindowsLinuxUnixcomplie
(編譯)Byte Code(字節(jié)碼文件
*.class)Load
(載入)execute
(解釋)西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計一次編寫,處處運行西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計非洲翻譯韓國翻譯美國翻譯非洲商人韓國商人美國商人中國商人問候的話語翻譯成非洲話翻譯成韓國話翻譯成美國話西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——Java虛擬機Java虛擬機是以Java字節(jié)碼為指令組的軟CPU,負責對本地*.class文件進行解釋執(zhí)行。JVM的定義:An
imaginary
machine
that
is
implemented
by
emulating
it
insoftware
on
a
real
machine.
Code
for
the
Java
Virtual
Machine
isstored
in
.class
files.JVM的構(gòu)成:類加載器:用來取得從網(wǎng)絡(luò)或本地的類文件。字節(jié)確認器:確認類文件是否有正確的格式。JIT實時編譯器:使虛擬機能達到編譯式的運行效率。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計JVM
(Java
Virtual
Machine)在一臺計算機上由軟件或硬件模擬的計算機。
Java虛擬機(JVM)讀取并處理經(jīng)編譯過的平臺無關(guān)的字節(jié)碼class文件。Java編譯器針對Java虛擬機產(chǎn)生class文件,因此是獨立于平臺的。Java解釋器負責將Java虛擬機的代碼在特定的平臺上運行。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——Java平臺平臺(Platform)是程序在其中運行的硬件或軟件環(huán)境最流行平臺:Windows,Linux,Solaris,MacOS
Java既是一種程序語言也是一個平臺。Java平臺是一種運行在其它硬件平臺上的純軟件平臺,它有兩個組件:Java虛擬機(Java
Virtual
Machine,JVM)和Java應(yīng)用編程接口(Java
API)Java
API
和JVM
將程序與硬件分離西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java
API
和JVM
將程序與硬件分離西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java平臺又稱Java
運行時環(huán)境(Java
RuntimeEnvironment,JRE)。一臺計算機要想運行Java程序,則必須首先安裝
JRE。目前Java平臺有3種版本,以適應(yīng)各種需求:JavaTM
2
Platform,
Standard
Edition
(J2SE)
(標準版)JavaTM
2
Platform,
Enterprise
Edition
(J2EE)
(企業(yè)版)JavaTM
2
Platform,
Micro
Edition
(J2ME)
(小型家電版)借助這些平臺版本,使得Java程序能在各式大小型機器及操作系統(tǒng)上運行,達成所謂程序可移植性、跨平臺的目標。Java平臺的這些特性,使得微軟倍感威脅。微軟現(xiàn)今所提出的.Net,便是視Java平臺為強力競爭對手之一。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計JRE西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java概述——Java的垃圾回收機制(GC)不再使用的內(nèi)存空間應(yīng)回收----垃圾收集。 在C/C++等語言中,由程序員負責回收無用內(nèi)存。 Java語言解除了程序員回收無用內(nèi)存空間的責任。它提供一種系統(tǒng)級線程跟蹤存儲空間的分配情況。并在JVM的空閑時,檢查并釋放那些可被釋放的存儲器空間。 垃圾收集在Java程序運行過程中自動進行,程序員無法精確控制和干預(yù)。西南財經(jīng)大學(xué)天府學(xué)院—java程序設(shè)計Java環(huán)境搭建Java開發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年五月份校園林蔭道落葉循環(huán)利用養(yǎng)護技術(shù)協(xié)議
- 李國章詩歌中的田園意象研究-全面剖析
- 2024年6月份墻體廣告與土壤濕度監(jiān)測聯(lián)動合同
- 預(yù)埋件基礎(chǔ)施工方案
- 區(qū)間問題求解技巧-全面剖析
- 智能配送系統(tǒng)的動態(tài)路徑規(guī)劃-全面剖析
- 植物抗蟲性機理探討-全面剖析
- 生育政策與社會福利-全面剖析
- 測繪數(shù)據(jù)處理算法-全面剖析
- 人工智能在社會福利精準幫扶中的應(yīng)用-全面剖析
- 中藥學(xué)電子版教材
- 市政道路電力、照明、通信管道工程施工方案方案
- 球的體積和表面積說課稿
- GB/T 30726-2014固體生物質(zhì)燃料灰熔融性測定方法
- 可吸收絲素修復(fù)膜(CQZ1900597)
- 凱萊通綜合版
- 步行功能訓(xùn)練詳解課件
- 幾內(nèi)亞共和國《礦產(chǎn)法》
- 物理講義納米光子學(xué)
- 保潔服務(wù)禮儀培訓(xùn)(共55張)課件
- 中考英語寫作指導(dǎo)課件(共41張PPT)
評論
0/150
提交評論