1 / 51

System development with Java

System development with Java. Instructors: Rina Zviel-Girshin Interdiciplinary Center Herzlia School of the Computer Science Fall: 2000-2001. Information Source. Course site : www.idc.ac.il/ Course book: Java Software Solutions /Lewis & Loftus Thinking in Java / Bruce Eckle.

jeff
Download Presentation

System development with Java

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. System development with Java Instructors: Rina Zviel-Girshin Interdiciplinary Center Herzlia School of the Computer Science Fall: 2000-2001 Rina Zviel-Girshin @ASC

  2. Information Source • Course site : www.idc.ac.il/ • Course book: Java Software Solutions /Lewis & Loftus Thinking in Java / Bruce Eckle Rina Zviel-Girshin @ASC

  3. Course Methodology • Non-Linearity Spiral model Hypermedia • CAI – Computer Assisted Instruction •  Interactive learning •  Labs and programming •  Multi-approach: inductive-deductive trails Rina Zviel-Girshin @ASC

  4. Programming Languages and Java • Programming languages • Java language • The basic program • Java syntax Rina Zviel-Girshin @ASC

  5. Programming • The process of writing programs called a programming. • The process requires: • Programming language • A translator of the programming language into machine language • Programs are written in programming language. Rina Zviel-Girshin @ASC

  6. Syntax • Syntax describes the grammatical rules of a language. • Valid words • Valid grammar constructions • Valid punctuation • Programs must be syntactically correct. Rina Zviel-Girshin @ASC

  7. Semantics • Semantics gives the meaning of what you write with a language. • A programming language must precisely define the meaning of every statement that can be written with it. • Programs must be semantically correct. Rina Zviel-Girshin @ASC

  8. Example • The following sentence is syntactically correct but semantically incorrect. “ Java programs are green and yellow.” • All words are correct words. • Punctuation is correct. • But logically the sentence makes no sense. Rina Zviel-Girshin @ASC

  9. Programming languages • There are several families of the programming languages: • Procedural ( Pascal, C++, Java) • Logical ( Prolog) • Visual ( Visual Basic) • Document (HTML, LATEX) Rina Zviel-Girshin @ASC

  10. Programming languages • Procedural languages can be divided into: • Machine languages • Low-level (Assembler ) • Intermediate-level (C) • High-Level (C++, Java) Rina Zviel-Girshin @ASC

  11. Java • Java is high-level language. • Java is object oriented language. • In this course we will use the terms: • OOP, • OOA , • OOD. Rina Zviel-Girshin @ASC

  12. OOA andOOD OOA- Object-Oriented Analysis is a way to analyze a problem. OOD- Object-Oriented Design is a way to design a solution. Both see the world as: • objects and • their relations (behavior, communication). Rina Zviel-Girshin @ASC

  13. OOA andOOD (cont) • The way to analyze a problem is to define the objects relevant to it and their behavior. •  The way to solve a problem is to realize the objects relevant and the behavior we need. •  Both are useful as preliminary stages in OOP- Object Oriented Programming. Rina Zviel-Girshin @ASC

  14. OOP Objects are the building blocks of: • the problem • the solution • the input source • the output target • the environment Rina Zviel-Girshin @ASC

  15. Objects Objects include both: • data (fields, variables, state) • processing (behavior, methods, functions) Objects have two kinds of behavior: • outer – I/O, messages, relations with others • inner – processing (usually computing the messages) Rina Zviel-Girshin @ASC

  16. Objects (cont) • Relations between objects are implemented using communication (messages). • Communication can have many forms. • Some forms are very different from the usual idea of a message. • Objects acquire structure using their relations. • The structure is usually tree-like. Rina Zviel-Girshin @ASC

  17. High-level languages • Writing programs in machine language is possible but very difficult and time consuming. • Programs usually written in a more human readable language - high-level language. • Java is high-level language. • A program written in any computer language must be translated into a machine language in order to be executed. Rina Zviel-Girshin @ASC

  18. Translators • Compiler • A compiler is a program that translates a source program (usually high level language) into target program (usually machine language program). • The resulting program can be executed many times. • Interpreter • An interpreter is a program that reads, translates and executes the source program statement by statement. • The translation is done each time the program runs. Rina Zviel-Girshin @ASC

  19. Java • Java is a high-level, third generation programming language, like C, Fortran, Smalltalk. • Shares much of C's syntax. • Designed by a group at Sun MicroSystems. • Originally called Oak. Rina Zviel-Girshin @ASC

  20. Java advantages • Platform independent “Write once, run anywhere”. • Improve robustness, remove unsafe language loopholes. • According to Sun: “ Java is simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multithread, and dynamic language.” Rina Zviel-Girshin @ASC

  21. Java disadvantages • The main Java disadvantage: Efficiency concerns. Looking to the future: VM performance will improve. Rina Zviel-Girshin @ASC

  22. Java environments • Java has many environments. • The number grows as Java evolves. • Among them are: • Text applications • Beans • Applets • GUI Applications • Packages Rina Zviel-Girshin @ASC

  23. Two main environments The two main environments: • Web Browser • Operating System Rina Zviel-Girshin @ASC

  24. Web Browser • In the browser environment the browser acts as an intermediate between the program and the operating system. • The JVM resides inside the browser. • The program can be simpler. • The program has to work in graphical mode. • The program is called “Applet” (a small application). Rina Zviel-Girshin @ASC

  25. Operating System • In the operating system environment the program is called “application”. • Application has a more rigid structure. • Application can be textual or graphical. • Application is less secure. Rina Zviel-Girshin @ASC

  26. Learning Java The specific challenge is twofold: • Learning the language technical aspect: the large set of • new features • class libraries • classes • methods which are provided as part of the language. • Learning to maximize the benefits of the object-oriented paradigm. Rina Zviel-Girshin @ASC

  27. OOA and OOD vs. OOP OOA is a way of analyzing - OOD is a way of thinking – OOP is a way of doing. OOA is about “why” – OOD is about “what” – OOP is about “how”. Rina Zviel-Girshin @ASC

  28. Starting to Program • The basic idea of the course is to start programming as soon as possible. • At first you will have to take a lot of things on trust. • Promise: we will return to the details later. Rina Zviel-Girshin @ASC

  29. Java programs All Java programs have three parts: • Auxiliary prescriptions • A class – an envelope around the other components • Code per se – • Optionally – other components which include the instructions themselves • Instructions to be executed Rina Zviel-Girshin @ASC

  30. Writing a Java Program • Use an editor to type the program code. • Save the code file. • Compile the file with Java language compiler. • Fix the bugs! • Run the program. Rina Zviel-Girshin @ASC

  31. A basic Java Program // Prints “How are you?” to the screen class My { public static void main (String[] args) { System.out.println(“How are you?”); } } Rina Zviel-Girshin @ASC

  32. A basic Java Program // Prints “How are you?” to the screen class My { public static void main (String[] args) { System.out.println(“How are you?”); } } Rina Zviel-Girshin @ASC

  33. Java program structure • A Java is made up of one or more classes. • Classes have names. • The ‘My’ program consists of one class named ‘My’. Rina Zviel-Girshin @ASC

  34. Class structure • A Java class contains one or more methods. • Methods have names too. • The program (the class) has to have a main method. • The method is called (surprisingly) – main. Rina Zviel-Girshin @ASC

  35. Main • The main method has a standard syntax: public static void main(String args[]) { … // your code } • There can be only one main per file. • The main method contains the code to be executed when the program runs. Rina Zviel-Girshin @ASC

  36. Method structure • A method contains one or more statements. • The main method of My program has a single statement: System.out.println(“How are you?”); Rina Zviel-Girshin @ASC

  37. Stages of Writing and Executing Assumptions: • Using only the basic JDK software • Assuming the JDK was installed properly • In the WIN/DOS environment • Class name is My • File name is My.java • Directory (folder) name is c:\java Rina Zviel-Girshin @ASC

  38. Stages of Writing and Executing • Open a text editor that can produce a plain text file (such as Notepad). • Create a source code file with the extension on the file name being .java . The file has to have the same name as the outer class. • Start a the DOS command environment by opening MSDOS prompt (using the Start->Programs->MSDOS Prompt series of choices). Rina Zviel-Girshin @ASC

  39. Stages of Writing and Executing • Change directory to the directory containing the source file. • Compile the file, using the prompt command: javac My.java • The result is My.class in the same folder. • Run using the prompt command: java My Rina Zviel-Girshin @ASC

  40. Applets The program has to import two packages: • applet.Applet • awt The program (the class) has to extend the Applet class, using the following syntax: public class My extends Applet { // your code } Rina Zviel-Girshin @ASC

  41. Basic applet code The final code looks like this: import java.awt.*; import java.applet.*; public class My extends Applet { // your code } Rina Zviel-Girshin @ASC

  42. Stages of Writing and Executing • Applet can’t be run directly. • Applet has to be run in Browser and by the Browser. • Web browser executes web pages. • Web page should call the applet code. Rina Zviel-Girshin @ASC

  43. Call to applet The call to applet consist of: • the command APPLET • the name of the applet class • the dimensions of the panel in which the applet will run Rina Zviel-Girshin @ASC

  44. Example • Assuming the name of the applet class is HelloWorld.class the call to applet looks like this: <APPLET CODE = "HelloWorld.class" WIDTH = 150 HEIGHT= 50> </APPLET> Rina Zviel-Girshin @ASC

  45. HTML The call to applet has to be in HTML file. The file can look as follows: <HTML> <HEAD> <TITLE>Java applet test page</TITLE> </HEAD> <BODY> <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=50> </APPLET> </BODY> </HTML> Rina Zviel-Girshin @ASC

  46. Execution Assuming the file is called HelloWorld.html • The stages common to all, described above. • Open the file HelloWorld.html in the Browser. Rina Zviel-Girshin @ASC

  47. Java Compiler • The Java compiler is called javac. • Java programs are compiled to byte code. Rina Zviel-Girshin @ASC

  48. Byte code • The Java compiler translates Java program into a special representation called byte code. • Java byte code is a machine code for Java virtual Machine(JVM). • VM is a platform-specific tool to interpret the byte code and to translate it to commands for certain processor and OS. • The use of the byte code makes Java platform independent. Rina Zviel-Girshin @ASC

  49. Compile-interpret-execute cycle Rina Zviel-Girshin @ASC

  50. Compile-interpret-execute cycle Rina Zviel-Girshin @ASC

More Related