1 / 279

Programming (SE7)

Programming (SE7). 環境工程系 丁文輝 ting@mail.ksu.edu.tw. 環境工程系電腦課程 ( 規画案 ). 計算機概論 (BCC) 計算機程式 (Programming) 計算機圖學 (CG) 資料庫管理系統 (DBMS) 數値分析 (NA) 地理資訊系統 (GIS) 環工電腦應用. 逢甲大學水利工程學系工學士 中央大學 ( 教育部委訓 ) 大專資訊師資班 成功大學環境工程學系工學碩士 成功大學環境工程學系博士候選人. 自己紹介 - 澄原日先 ( すみはら ひさき ). 台中市坤財營造廠工地主任

beate
Download Presentation

Programming (SE7)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming (SE7) 環境工程系 丁文輝 ting@mail.ksu.edu.tw

  2. 環境工程系電腦課程(規画案) • 計算機概論 (BCC) • 計算機程式(Programming) • 計算機圖學 (CG) • 資料庫管理系統 (DBMS) • 數値分析 (NA) • 地理資訊系統 (GIS) • 環工電腦應用 Java programming

  3. 逢甲大學水利工程學系工學士 中央大學(教育部委訓)大專資訊師資班 成功大學環境工程學系工學碩士 成功大學環境工程學系博士候選人 自己紹介-澄原日先(すみはら ひさき) • 台中市坤財營造廠工地主任 • 台中市政府清潔管理所垃圾處理場場長 • 崑山工商專校環境工程科講師兼科主任 • 崑山科技大學環境工程學系助理教授 Java programming

  4. 計算機概論 計算機程式 FORTRAN, BASIC, PASCAL, JAVA 組合語言 8086/8088, 80286 資料結構 系統分析 計算機圖學 資料庫管理系統 專業應用軟體 PEⅡ, dBASEⅢ+, Lotus 123, Office, ACAD, SAS/SPSS, Sigma Plot, GIS 數値分析 電腦應用 高等結構, 海洋放流 電腦相關課程研習 (すみはら) Java programming

  5. 教科書‧参考書 • JAVA2程式設計從零開始 (適用JDK7) 何嘉益(等),上奇 (2012) • Java初學指引 – 使用SE7 陳錦輝,博碩 (2011) • 挑戰Java程式語言 蔡文輝(等), 全華 (2006) • JAVA SE6程式設計基礎與實習手冊 李廷圭,松崗 (2009) Java programming

  6. Javaテキスト • 東海大学(日本), 坂田圭司 • http://kgclass.jp/text/java • 勤益科大(JAVA Note), 朱孝國 • http://irw.ncut.edu.tw/peterju/java.html • 崑山科大(網路大學), 丁文輝 • http://elearning.ksu.edu.tw Java programming

  7. 注意事項 • コンピュータ室は飲食禁止。 • 紙節約のため、デジタルファイルを請求して下さい。 • パワーポイントを利用しない授業の方が多かったので、教科書で、よく復習して下さい。 • 再試験は行いません。4年生は特に心して望むように! Java programming

  8. 成績評価 • 欠席が3分の1を超えた場合、単位の取得は難しい。 • 評価はおおよそ出席(40%)、宿題(20%)、最終試験(40%)などを通じて総合的に判定する。 • ちなみに先学期(101_2)「javaプログラミング」において、受講者100人中、不可は26人,約26%。 (四環一A 20%, 四環一B 31%) Java programming

  9. オフィスアワー • 月曜日(10:00-11:30) • 火曜日(10:00-11:30) • 金曜日(10:00-11:30) • (特に授業に関する)質問,相談にこたえます • 設計3棟4F(D3402) • メールはいつでもかまいません • ting@mail.ksu.edu.tw Java programming

  10. Introduction Datatype Input/Output Assignment Selection Iteration Array Method 計算機程式 (Java SE7, 2013春) Java programming

  11. Console Assignment Expression Divisor If / If-else Switch-case For loop While loop Random Bubble sort Method Recursive プログラミング基礎演習 Java programming

  12. プログラミング言語の構成 プログラム モジュール 手続きと関数 文 処理の最小単位。「a=b+c;」など。 式 演算子と非演算子からなる。a*b、a>bなど。 語 名前、データ、演算子、予約語(for,ifなど)。 文字 英数字、特殊記号等。 Java programming

  13. プログラミング言語発展の歴史 時間 言語以前 低水準言語 オブジェクト指向言語 機械語 Delphi アセンブリ言語 高水準言語 C++Builder FORTRAN PL/1 ビジュアル開発環境 COBOL ALGOL ALGOL68 PASCAL Ada Object PASCAL BASIC C言語 C++ Lisp Java 超高水準言語 Prolog Smalltalk Java programming 参考:河村一樹、斐品正照

  14. FORTRAN BASIC Pascal Java programming Java (2011)

  15. Java programming

  16. Java programming

  17. プログラミング言語 Java programming

  18. Java programming

  19. 代表的なオブジェクト指向言語(1) • SmallTalk • 最初のオブジェクト指向言語 • C++ • C言語の拡張言語 • 多重継承 Java programming

  20. 代表的なオブジェクト指向言語(2) • Java • C言語をベースにインターネットに適した言語として開発 • Unix, Windowsなど様々なプラットフォーム上でプログラムが動作(Write Once, Run Anywhere) • 単一継承 Java programming

  21. 代表的なオブジェクト指向言語(3) • Ruby • オブジェクト指向スクリプト言語 • Visual Basic, Visual C++ • Microsoftのアプリケーション開発言語 • C# • MicrosoftのJava likeなアプリケーション開発言語 Java programming

  22. 物件導向程式設計 • 物件(object) • 屬性(property) • 方法(method) • 類別(class) • 物件變數(variable) • 物件實體(instance) Java programming

  23. 物件導向程式設計的特點(1) • 封裝(encapsulation) • 將資料 (屬性) 與操作此資料的函數 (方法) 包在一起的特性 • 繼承(inheritance) • 承接所有父類別 (Parent Class) 所有屬性方法,並可以加以改造的特性 Java programming

  24. 物件導向程式設計的特點(2) • 多型(polymophism) • 呼叫相同的函式,卻會出現不同的行為的現象 • 過載(Overloading): 將一個函數名稱,賦予一種以上的函數實體,以便依據當時情況,擇一執行 • 覆寫(Overriding): 將繼承下來的方法,以同名函數蓋掉的特色 Java programming

  25. Java version history JDK 1.0 (January 23, 1996) JDK 1.1 (February 19, 1997) J2SE 1.2 (December 8, 1998) J2SE 1.3 (May 8, 2000) J2SE 1.4 (February 6, 2002) J2SE 5.0 (September 30, 2004) Java SE 6 (December 11, 2006) Java SE 7 (July 28, 2011) Java programming

  26. Java的版本 • Java自第二版(1.2)開始分為三個版本,類別函式庫名稱也由 JDK(Java Deve-lopment Kit) 改成 Java 2 SDK(Software Development Kit) • J2EE(Enterprise Edition) • J2SE(Standard Edition) • J2ME(Micro Edition) Java programming

  27. Java Platforms Java Card for smartcards. Java Platform, Micro Edition (Java ME). Java Platform, Standard Edition (Java SE). Java Platform, Enterprise Edition (Java EE). Java programming

  28. Java Platform Edition Java programming

  29. JAVA 國際認證 Java programming

  30. Development Environments • Sun Java Development Kit (JDK) • Sun NetBeans • IBM Eclipse, GNU Eclipse • Borland JBuilder • MetroWerks CodeWarrior • BlueJ • jGRASP Java programming

  31. Interpretation vs. Compilation C++ Source (*.c) Java Source (*.java) C++ Compiler Java Compiler Byte-code (*.class) Java Virtual Machine Client Platform (hardware/operating system) Client Platform (hardware/operating system) Java programming

  32. JDK(Java Development Kit) Java programming

  33. JDK(Java Development Kit) Java programming

  34. JDK(Java Development Kit) • javac(.exe) • Java的編譯器, 可將.java原始档編譯為.class類別档。 • java(.exe) • JVM虚擬機器的執行档, 可用來執行Java Application的Bytecode(.class類別档)。 Java programming

  35. Java Virtual Machine x86 アーキテクチャ (JavaVM) MIPS アーキテクチャ (JavaVM) Java ソースコード Java コンパイル (javac) Java バイトコード SPARC アーキテクチャ (JavaVM) …… Java programming

  36. Java Virtual Machine Java programming

  37. Java Virtual Machine Java programming

  38. Garbage Collection (1) • Garbage Collection 機制可以自動偵測未被任何參考參照到的陣列或物件,「必要時」會將其所佔記憶體空間釋放。 • [例]: int[ ] a = new int[100]; int[ ] b = new int[200]; a = b; Java programming

  39. Garbage Collection (2) • 如欲釋放某物件或陣列,只需要停止參照,或指定為null,即可由Garbage Collection 機制將其釋放。 • [例]: int[ ] c = new int[300]; …… c = null; Java programming

  40. Garbage Collection (3) • 由 Garbage Collection 機制管理記憶體可避免人為的錯誤; 但未被參照到的物件之空間並非馬上被釋放回收,且須時間運作,效率較差。 Java programming

  41. IDE (Integrated Development Environment) • NetBeans (Sun) • JBuilder (Borland) • Eclipse (IBM) Java programming

  42. <Java言語> <通常の言語> ソース ソース 翻訳 翻訳 バイトコード 機械語Windows 機械語Mac 機械語Linux JVMWindows JVMMac JVM Linux 実行 実行 実行 実行 実行 実行 Javaの実行環境 機械語はプラットフォーム毎に異なる。 Java programming

  43. Java語言的特點 (1) 簡單(Simple):指的是去除了C/C++中較少使用或可能不安全的功能,例如指標,運算子重載,多重繼承等。 物件導向的(Object-oriented):利用OOP的三種基本特性:PIE(多型,繼承,封裝),來設計出可重複使用的元件,使系統有彈性易於維護。 Java programming

  44. Java語言的特點 (2) 網路的(Network-Savvy):提供容易使用的API來撰寫網路程式 直譯式的(Interpreted):bytecode在JVM上執行時,JIT負責轉換為機器碼。 穩健的(Robust):捨棄了對記憶體的指標運作。 Java programming

  45. Java語言的特點 (3) 安全性(Secure): 資源回收處理 (Garbage Collection)由JVM自行作記憶體管理,例外處理 (Exception) 可預防突發錯誤的産生。 結構中立(Architecture Neutral):程式執行在虚擬機器上。 Java programming

  46. Java語言的特點 (4) 可攜的(Portable): Write once, run any-where指的是由JVM與不同的作業系統溝通。 高效率的(High Performance):利用HotSpot, JIT技術改善效能。 多執行緒的(Multithreaded):Java程序可發出多隻並行的輕量化行程。 Java programming

  47. Java語言的特點 (5) • 動態的(Dynamic):Java程式執行時動態的連結類別庫。 • 支援萬國碼(Unicode):變數與類別名稱皆可使用中文 Java programming

  48. 資料型態(Data type) • 基本資料型態(primitive data type) • 結構化資料型態(structured data type) • 抽象資料型態(abstract data type) Java programming

  49. Java的資料型態(1) Java的資料型態大小不會像C/C++一樣隨著平台不同而不同,它在所有平台上都是一樣的。 由於Java在char的型態部分採用Unicode, 換句話説, 可以用中文取變數名稱。 Java的變數可以指向二種資料型態: 1.原生資料型態2.參考資料型態 Java programming

  50. Java的資料型態(2) • 參考資料型態(wrapper class)定義在 java.lang 的套件中。 • 原生資料型態中的整數資料型態(byte, short, int, long)可使用10進位, 8進位與16進位表示。 • 原生資料型態中的浮點數資料型態(float, double),預設浮點數為double型態。 Java programming

More Related