JAVA程序設計 第二課_第1頁
JAVA程序設計 第二課_第2頁
JAVA程序設計 第二課_第3頁
JAVA程序設計 第二課_第4頁
JAVA程序設計 第二課_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設計西南財經(jīng)大學天府學院Tianfu

College

of

Southwestern

University

ofFinance

and

Economics郭進西南財經(jīng)大學天府學院—java程序設計第一章java概述計算機基礎知識回顧程序設計概述Java概述3Java環(huán)境搭建4第一個java程序編寫實現(xiàn)5西南財經(jīng)大學天府學院—java程序設計計算機基礎知識回顧——計算機系統(tǒng)計算機系統(tǒng)由硬件和軟件構成馮·諾依曼的通用計算機方案:

計算機硬件由??個基本部分組成:運算器、控制器、存儲器、輸入設備和輸出設備;用二進制表示計算機的指令和數(shù)據(jù);

存儲程序和程序控制:將程序和數(shù)據(jù)放在存儲器中,并讓計算機自動地執(zhí)行程序。西南財經(jīng)大學天府學院—java程序設計計算機基礎知識回顧——計算機系統(tǒng)西南財經(jīng)大學天府學院—java程序設計程序設計概述 程序員用各種程序設計語言編寫計算機指令。某些指令能夠直接被計算機執(zhí)行,而其它的指令還需要通過中間的翻譯過程才可被計算機執(zhí)行。 當今使用的計算機語言有上百種,大致可分為如下三類:機器語言、匯編語言和高級語言。西南財經(jīng)大學天府學院—java程序設計機器語言、匯編語言和高級語言機器語言高級語言匯編語言高級機語器言語用言簡的單每的一英條文語單句詞都和熟悉的數(shù)是學匯二表編進達語制式言形,用式并助的且記指用符令戶代代不替必機了解計算碼機器,的語從指言屬令的于系操硬統(tǒng)作件,碼設主,備要例,考如一慮解題算法般的A隨D實DC現(xiàn)PU。加的高不級同語而言不編同寫。的源程序可例以如在不同的計算機上使用,但是必須但經(jīng)是01過匯01編0編1譯1語成言加機還器是語面言向才機能執(zhí)行。器的01。01而101且因減機而異西南財經(jīng)大學天府學院—java程序設計匯編或高級語言

機器語言的方式:編譯:將原程序(高級語言編寫)翻譯成目標代碼(機器語言)。計算機執(zhí)行程序時執(zhí)行的是目標代碼。高級語言源程序編譯程序機器語言目標代碼鏈接執(zhí)行(編譯)解釋:計算機在執(zhí)行程序時,邊解釋邊執(zhí)行。高級語言源程序解釋程序執(zhí)行(解釋)西南財經(jīng)大學天府學院—java程序設計庫文本編輯器#include<stdio.h>int

main(){……編譯器連接器運行器001100010110000111……001100010110000111……------------------------------源代碼目標代碼可執(zhí)行代碼結果程序員西南財經(jīng)大學天府學院—java程序設計source

program…………ccoommpplliieerrobject

programother

objectfiles/librarieslliinnkkeerr………………………………executable

file編譯過程西南財經(jīng)大學天府學院—java程序設計一個程序應包括兩方面的內(nèi)容一個程序應包括兩方面的內(nèi)容數(shù)據(jù)類型(Data

types)數(shù)據(jù)結構(Data

structure)數(shù)據(jù)結構+算法=程序1、對數(shù)據(jù)的描述算法(algorithm)2、對操作的描述西南財經(jīng)大學天府學院—java程序設計設計、書寫及檢查調(diào)試程序的過程。數(shù)據(jù)結構確定算法編寫代碼調(diào)試運行整理結果

并攥寫文檔程序=數(shù)據(jù)結構+算法+程序設計方法+文檔程序=數(shù)據(jù)結構+算法+程序設計方法+文檔EXAMPLE[1-1]:0021班

學生成績表單姓

名英語高數(shù)總分春風8867夏天8079秋雨9283冬雪7690請計算下列給出的成績表單中“春風”的總成績姓

名英語高數(shù)總分春風8867夏天8079秋雨9283冬雪7690英語和高數(shù)成績均用整型數(shù)據(jù)表示:int score1,

score2,

sum;score1=88score2=67數(shù)據(jù)結構確定算法sum=score1+score2sum=0score1=88Score2=67sum=score1+score2Begin輸出sumEnd姓

名英語高數(shù)總分春風8867夏天8079秋雨9283冬雪7690數(shù)據(jù)結構確定算法編寫代碼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ù)總分春風8867155夏天8079秋雨9283冬雪7690數(shù)據(jù)結構確定算法編寫代碼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)試運行整理結果并攥寫文檔程程序序名名稱稱::ssuumm.c.c程程序序員員::李李曉曉程程序序功功能能::計計算算學學生生成成績績代代碼碼編編寫寫日日期期::22000088年年99月月77日日該該程程序序算算法法用用下下列列程程序序流流程程圖圖描描述述::…………程序設計的過程就是問題求解的過程.應用計算機求解問題是一個復雜的過程,包括問題分析,建立數(shù)據(jù)模型,設計算法,編程,調(diào)試和測試,文檔整理等。學習程序設計,要按這個步驟一步一步地解決問題。掌握和學會問題求解方法,是學習高級語言的重點,也是最大難

點。它將貫穿于教學的整個過程,滲透到各個教學環(huán)節(jié)。問題分析建立數(shù)據(jù)模型設計算法編輯調(diào)試和測試文檔整理圖1.

問題求解過程X1起止端點輸入/輸出一般處理預定義處理條件判斷循環(huán)上界循環(huán)下界流程線sum=0score1=88Score2=67sum=score1+score2Begin輸出sumEnd請用程序流程圖描述求解下列問題的算法姓

名英

語高

數(shù)總分春風8867EXAMPLE[1-2]:用程序流程圖表示的三種基本結構用程序流程圖表示的三種基本結構ABC順序結構AexpT選擇結構BAexpTFcase

expcase

1case

2……case

n選擇結構expTAF循環(huán)結構expTAFN--S圖表示算法的優(yōu)點:比文字描述直觀、形象、易于理解;比傳統(tǒng)流程圖緊湊易畫,而且廢除了流程線,整個算法結構是由各個基本結構按順序組成的。N--S流程圖中的上下順序就是執(zhí)行時的順序,寫算法和讀算法只需從上到下,十分方便。用N--S圖表示的算法都是結構化的算法,因為它不可能出現(xiàn)流程無規(guī)律的跳轉(zhuǎn),而只能自上而下地順序執(zhí)行。西南財經(jīng)大學天府學院—java程序設計第一篇Java語言基礎第二篇面向?qū)ο蠹夹g第三篇Java異常處理第四篇輸入輸出與多線程第五篇Java的應用西南財經(jīng)大學天府學院—java程序設計Java概述——產(chǎn)生背景1991年,電視機,機頂盒,錄象機的開發(fā)設計需要一種可移植、方便、高效的計算機語言。為了滿足這種需求,由Sun公司的

PatrickHaughton和James

Gosling領導的技術小組開發(fā)了JAVA。西南財經(jīng)大學天府學院—java程序設計Java概述——發(fā)展歷史SunMicrosystem公司為了發(fā)展消費性電子產(chǎn)品而進行了一個名為Green的項目計劃。這個計劃的負責人是James

Gosling。起初他以C++來寫一種內(nèi)嵌式軟件,可以放在烤面包機或PAD等小型電子消費設備里,使得機器更聰明,更具有人工智能。但后來他發(fā)現(xiàn)C++并不適合這類的任務!因為C++常 會有使系統(tǒng)失效的程序錯誤,尤其是內(nèi)存管理。西南財經(jīng)大學天府學院—java程序設計Gosling最后決定要發(fā)展一種新的語言,來解決C++的潛在性危險問題,這個語言名叫Oak(橡樹)。它保留了大部分與C++相似的語法,但卻把些較具危險性的功能加以改進,像內(nèi)存資源管理,便由語言本身來管理,以減少程序設計師的負擔及錯誤的產(chǎn)生。Oak是一種可移植性(portable)語言,也就是一種平臺獨立(platform-independent)的語言,能夠在各種芯片上運行。這樣子各家廠商就可降低研發(fā)成本,直接把應用程序應用在自家的產(chǎn)品上。西南財經(jīng)大學天府學院—java程序設計時間到了1994年,Oak的技術已日趨成熟,這時剛好網(wǎng)絡也正開始蓬勃發(fā)展。而Oak研發(fā)小組發(fā)現(xiàn)Oak很適合作為一種網(wǎng)絡程序語言。因此發(fā)展了一個能與Oak相配合的瀏覽器——WebRunner,后更名為HotJava,它證明了Oak是一種能在網(wǎng)絡上發(fā)展的程序語言。后來,因為Oak這個商標已被注冊走了,工程師們便想到以手中常享用的咖啡(Java)來重新命名,并于SunWorld95中被發(fā)表出來。從此以后,Java就隨著網(wǎng)絡的快速發(fā)展,而成了一個程序語言的明日之星。西南財經(jīng)大學天府學院—java程序設計西南財經(jīng)大學天府學院—java程序設計西南財經(jīng)大學天府學院—java程序設計Java概述——技術分支JAVAEEJSP

/

ServletEJB服務…JSP

/

ServletJAVA

EEEJB服務…JAVA

MECLDC、MIDP游戲通訊…JAVA

MECLDC、MIDP游戲通訊…JAVASE面向?qū)ο驤VM底層支持…基礎核心基礎核心JAVA

SE面向?qū)ο驤VM底層支持…西南財經(jīng)大學天府學院—java程序設計西南財經(jīng)大學天府學院—java程序設計Java概述——語言的特點 Java語言有下面一些特點:簡單、面向?qū)ο?、分布式、解釋?zhí)行、安全、體系結構中立、可移植、高性能、多線程以及動態(tài)性。西南財經(jīng)大學天府學院—java程序設計Java概述——Java工作原理對于大多數(shù)語言,如果要運行一個程序,要么編譯程序要么解釋程序;但是Java語言的程序則既要被編譯又要被解釋。編譯器將Java源程序翻譯為字節(jié)碼(bytecode)程序;解釋器(Java虛擬機)分析并解釋執(zhí)行字節(jié)碼程序。西南財經(jīng)大學天府學院—java程序設計源代碼目標碼可執(zhí)行代碼源代碼字節(jié)碼編譯連接運行操作系統(tǒng)編譯解釋執(zhí)行Java解釋器西南財經(jīng)大學天府學院—java程序設計Source Code(源程序

*.java)JVM(Java虛擬機)JVM(Java虛擬機)JVM(Java虛擬機)WindowsLinuxUnixcomplie

(編譯)Byte Code(字節(jié)碼文件

*.class)Load

(載入)execute

(解釋)西南財經(jīng)大學天府學院—java程序設計一次編寫,處處運行西南財經(jīng)大學天府學院—java程序設計非洲翻譯韓國翻譯美國翻譯非洲商人韓國商人美國商人中國商人問候的話語翻譯成非洲話翻譯成韓國話翻譯成美國話西南財經(jīng)大學天府學院—java程序設計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的構成:類加載器:用來取得從網(wǎng)絡或本地的類文件。字節(jié)確認器:確認類文件是否有正確的格式。JIT實時編譯器:使虛擬機能達到編譯式的運行效率。西南財經(jīng)大學天府學院—java程序設計JVM

(Java

Virtual

Machine)在一臺計算機上由軟件或硬件模擬的計算機。

Java虛擬機(JVM)讀取并處理經(jīng)編譯過的平臺無關的字節(jié)碼class文件。Java編譯器針對Java虛擬機產(chǎn)生class文件,因此是獨立于平臺的。Java解釋器負責將Java虛擬機的代碼在特定的平臺上運行。西南財經(jīng)大學天府學院—java程序設計Java概述——Java平臺平臺(Platform)是程序在其中運行的硬件或軟件環(huán)境最流行平臺:Windows,Linux,Solaris,MacOS

Java既是一種程序語言也是一個平臺。Java平臺是一種運行在其它硬件平臺上的純軟件平臺,它有兩個組件:Java虛擬機(Java

Virtual

Machine,JVM)和Java應用編程接口(Java

API)Java

API

和JVM

將程序與硬件分離西南財經(jīng)大學天府學院—java程序設計Java

API

和JVM

將程序與硬件分離西南財經(jīng)大學天府學院—java程序設計Java平臺又稱Java

運行時環(huán)境(Java

RuntimeEnvironment,JRE)。一臺計算機要想運行Java程序,則必須首先安裝

JRE。目前Java平臺有3種版本,以適應各種需求: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)大學天府學院—java程序設計JRE西南財經(jīng)大學天府學院—java程序設計Java概述——Java的垃圾回收機制(GC)不再使用的內(nèi)存空間應回收----垃圾收集。 在C/C++等語言中,由程序員負責回收無用內(nèi)存。 Java語言解除了程序員回收無用內(nèi)存空間的責任。它提供一種系統(tǒng)級線程跟蹤存儲空間的分配情況。并在JVM的空閑時,檢查并釋放那些可被釋放的存儲器空間。 垃圾收集在Java程序運行過程中自動進行,程序員無法精確控制和干預。西南財經(jīng)大學天府學院—java程序設計Java環(huán)境搭建Java開發(fā)

溫馨提示

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

評論

0/150

提交評論