1 / 18

Chapter 01 Introduction

Chapter 01 Introduction. Course Overview Some Programming ( 程式 ) Languages ( 語言 ) Installation ( 安裝 ) and Use ( 使用 ) of JDK Lectures / Handout Username: Jav@       Password: AQm65. Teaching ( 教學 ) Style ( 風格 ) in this Class ( 課程 ).

hova
Download Presentation

Chapter 01 Introduction

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. Chapter 01 Introduction • Course Overview • Some Programming (程式) Languages (語言) • Installation (安裝) and Use (使用) of JDK • Lectures / Handout • Username: Jav@       • Password: AQm65

  2. Teaching (教學) Style (風格) in this Class (課程) • Caveat: English (英文) is my secondary (次要的) language (語言). • Please raise your hand (舉手) ANYTIME if you have any concerns • Motivating examples implemented in Java and demo during the class • Bring your textbook or Codes in the computers • You practice some exercises during the class (if we have time) and at home • Web page: Due date and requirement of homework assignment • Learning (學習) Chinese (中文) along the way 

  3. Introduction • Core (核心) of book • Program clarity (清晰), using both structured (結構化) and object-oriented (物件導向) programming (程式設計) • Big book, cover half, good for future reference • Java • Powerful, object-oriented language • Fun to use for beginners, appropriate for experienced programmers • Language of choice for Internet (網際網路) and network (網路) communications (通訊)

  4. Live-Code Learning • Textbook approach: Use the language to teach the language • Learning by examples is the key to rapid mastery • Practicing Java regularly is essential for success • This book is geared for novice programmers, so the authors stress clarity (清晰) • New concepts highlighted in the text and codes • Line numbers for the code, easier to refer to in the text • Download example programs • www.deitel.com/books/jhtp8 • or Lectures / Handout

  5. Programming Tips • Good Programming Practices • Common Programming Errors (錯誤) • Testing and Debugging Tips • Performance (性能) Tips • Portability Tips • Software (軟體) Engineering (工程) Observations • Look-and-Feel Observations

  6. Two Approaches to Programming 1/2 • (1) Structured programming (結構化程式設計) • An approach to software development whereby a program is defined as a set of logical processes, which may not be carried out sequentially. • By taking the structured approach to programming, developers create software that is efficient in its execution. • Structured programming languages are based on functions (函數), subroutines, or procedures.

  7. Two Approaches to Programming 2/2 • (2) Object-oriented programming (OOP) (物件導向程式設計) • Allows a programmer to think modularly because programs are assembled into components called objects. • Objects: Building blocks of OOP, are reusable, modular components. An object is a self-contained unit containing functions and attributes. • Hardware component • OOP builds on and enhances structured programming

  8. Programming Style • Object-Oriented Programming (chapters 3, 8, 9, 10) • Java classes (類別) and objects (物件) • Program design (設計) • Structured Programming (chapters 4, 5, 6) • Java class methods (方法) • Program implementation (實現) • Disciplined approach to writing programs • Clear, easy to test, debug (移去錯誤), and modify

  9. C and C++ • C: Developed between 1969 and 1973 by Dennis Ritchie at the Bell Laboratories • Evolved from BCPL and B • Most widely used language among professional software developers for commercial applications • Unix • 1969 by a group of AT&T employees at Bell Labs • First in assembly language, recoded in C in 1973 • (Berkeley) BSD, (Sun’s) Solaris, Linux, Android • (object-oriented programming) C++ evolved from C • Developed by (Danish) B. Stroustrup in 1979 at Bell Labs

  10. Java • Java evolved from C++, which evolved from C • Developed in 1991 for intelligent consumer electronic devices by James Gosling of Sun Microsystems • Market did not develop, in danger of being cancelled • Internet exploded in 1993, saved project • Used Java to create web pages with dynamic content • Java formally announced in 1995 by Sun • Now used to create web pages with interactive content, enhance web servers, applications for consumer devices (handheld devices, cell phones)... • Sun: Part of Oracle

  11. Java Products Groups • This book is based on Java Standard (標準) Edition (版本) (Java SE) 6, Update 11 • Develop and deploy Java applications on desktops and servers, as well as in today's demanding embedded environments. • Java Enterprise (企業) Edition (Java EE) • Develop large-scale, distributed networking applications and web-based applications. • Java Micro (微小的) Edition (Java ME) • Develop applications for small, memory-constrained devices, such as cell phones, pagers and PDAs.

  12. 1.10 Java Class Libraries • Java programs • Consist of pieces called classes (類別) • Classes contain methods (方法), which perform tasks • Class libraries • Java API (Applications Programming Interface) • Rich collection of predefined classes which you can use • Have better performance (性能) • Improve program portability • Download the Java API documentationjava.sun.com/javase/downloads/

  13. What’s on the CD-ROM? • What you are required to use: • Java SE Development Kit (JDK) 6 Update 11 (jdk-6u11-windows-i586-p.exe), available on CD-ROM (directory software\Sun) 或上網找最新版 • html/software/install.htm: System Requirements, Running the JDK Installer, Troubleshooting (or Before You Begin in the book) • Other stuff (optional): • Java integrated development environment (IDE): NetBeans, Eclipse • MySQL

  14. Setting (設定) the PATH (路徑) Environment Variable • 設定路徑:Use javac, java, … under any directory • Windows 2000/Vista/Win 7: 開始 > 設定 > 控制台> 系統> 進階> 環境變數> 系統變數 > Path 下加入 c:\Program Files\Java\jdk1.7.0_45\bin; (說明) • 其中的 jdk1.7.0_45 隨您的版本而定

  15. 使用 Java 的步驟 • 打開檔案總管,到達檔案所存放的位置, 按 Shift + 滑鼠右鍵, 選 『在此處開啟命令視窗』 • File extension .java(a text file) • 檔案總管,工具/選項/檢視,隱藏或顯示副檔名 • C:\> javac GravityGame.java • 使用編譯器(compiler) javac 編譯,產生 GravityGame.class • C:\> java GravityGame • 執行 GravityGame.class

  16. Typical Java Development Environment (1/2) • Development steps • (1) Edit (e.g., with Notepad or Emacs) with file extension .java(a text file) • 檔案總管 (file manager),工具 (tool) / 選項 (option) / 檢視,隱藏 (hide) OR 顯示 (show up) 副檔名 • (2) Compile (with compiler (編譯器) javac) • Produce bytecodes (位元組碼), understood by Java interpreter, as a file *.class that will be interpreted during the execution phase

  17. Typical Java Development Environment (2/2) • Run-time steps • (3) Load: Class loader (application or applet) takes the .class file and transfers it to memory • C:\> java Welcome • (4) Verify: Check that downloaded classes are valid and do not violate Java’s security restriction • (5) Execute (執行): Bytecodes are executed by the Java Virtual Machine (JVM) • Virtual machine: A software application that simulates a computer. Hides the underlying operating system and hardware from the programs that interact with it.

  18. Professional Conduct • 50-minute classes with 10-minute break • Please handle your personal matter during the breaks. • Please do NOT use keyboard or mouse while I am teaching. • Hear sound  my voice   sore throat  • Way of big-room learning: Some feel easy (review) while some feel difficult (catch up) • You are encouraged to discuss with your classmates during practice time. • But you need to write your own code. No plagiarism. • Please bring your class note and homework handout. And MIND. • Method of happy learning • Work hard during the class • More time to play during your free time

More Related