J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, D.S. Malik D.S. Malik
Java Programming: From Problem Analysis to Program Design, Second Edition 2 Chapter 1: An Overview of Computers and Programming Languages Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: Overview Components of a computer system The language of a computer Evolution of programming languages. Processing a Java program Problem-solving technique Structured and object-oriented design methodologies Java Programming: From Problem Analysis to Program Design, Second Edition3
Introduction Computers have greatly affected our daily lives— helping us complete many tasks. Computer programs (software) are designed specifically for each task. Software is created with programming languages. Java is an example of a programming language. Java Programming: From Problem Analysis to Program Design, Second Edition4
An Overview of the History of Computers 1950s: Very large devices available to a select few. 1960s: Large corporations owned computers. 1970s: Computers got smaller and cheaper. 1990s: Computers got cheaper and faster and were found in most homes. Java Programming: From Problem Analysis to Program Design, Second Edition5
Elements of a Computer System A computer has two components: Hardware Software Java Programming: From Problem Analysis to Program Design, Second Edition6
Hardware Components of a Computer Central processing unit (CPU) Main memory Java Programming: From Problem Analysis to Program Design, Second Edition7
Central Processing Unit Control unit (CU) Arithmetic logic unit (ALU) Program counter (PC) Instruction register (IR) Java Programming: From Problem Analysis to Program Design, Second Edition8
Main Memory Ordered sequence of cells (memory cells). Directly connected to CPU. All programs must be brought into main memory before execution. When power is turned off, everything in main memory is lost. Java Programming: From Problem Analysis to Program Design, Second Edition9
Secondary Storage Provides permanent storage for information. Examples of secondary storage: Hard disks Floppy disks Zip disks CD-ROMs Tapes Java Programming: From Problem Analysis to Program Design, Second Edition10
Software Software consists of programs written to perform specific tasks. Two types of programs: System programs Application programs Java Programming: From Problem Analysis to Program Design, Second Edition11
System Programs System programs control the computer. The operating system (OS) is first to load when you turn on a computer. The OS monitors the overall activity of the computer and provides services. Example services provided by the OS: Memory management Input/output Activities Storage management Java Programing: From Problem Analysis to Program Design, Second Edition12
Application Programs Written using programming languages. Perform a specific task. Run by the OS. Example programs: Word processors Spreadsheets Games Java Programming: From Problem Analysis to Program Design, Second Edition13
Language of a Computer Machine language is the most basic language of a computer. A sequence of 0s and 1s. Every computer directly understands its own machine language. A bit is a binary digit, 0 or 1. A byte is a sequence of eight bits. Java Programming: From Problem Analysis to Program Design, Second Edition14
Language of a Computer Java Programming: From Problem Analysis to Program Design, Second Edition15
Evolution of Programming Languages Early computers programmed in machine language. Assembly languages were developed to make programmer’s job easier. In assembly language, an instruction is an easy-to remember form called a mnemonic. Assembler: Translates assembly language instructions into machine language. Java Programming: From Problem Analysis to Program Design, Second Edition16
Instructions in Assembly and Machine Languages Java Programming: From Problem Analysis to Program Design, Second Edition17
Java Programming: From Problem Analysis to Program Design, Second Edition18 Evolution of Programming Languages High-level languages make programming easier. Closer to spoken languages. Examples: Basic FORTRAN COBOL C/C++ Java
Java Programming: From Problem Analysis to Program Design, Second Edition19 History Of Java Developed by Sun Microsystems – a company known for its workstations. Java is well known for developing internet applications. it is used to : Create web pages with dynamic and interactive content. Develop large –scale enterprise applications. Enhance the functionality of WWW servers. Provide applications for customer devices ( ex. Cell phones). Java programs can run from a web browser.
Java Programming: From Problem Analysis to Program Design, Second Edition20 Basics of Java Environment The environment The language Java applications programming Interface API Various class libraries
Java Programming: From Problem Analysis to Program Design, Second Edition21 Processing a Java Program A Java program undergoes several stages : 1.Editing : use java code and save in a text file named className.java ( source program ). 2. Compiling : the compiler checks the source program for any syntax errors then translates the program into code understood by interpreter called bytecode saved in a file named className.class 3. Loading : the.class file is loaded into computer main memory for execution, and connected to all classes. 4. Verifying : to validate and secure against damage. 5. Interpreting : the Interpreter reads and translates each bytecode instruction into machine language and then executes it, one instrucion at a time.
Java Programming: From Problem Analysis to Program Design, Second Edition22 Processing a Java Program
Compiler: A program that translates a program written in a high-level language into the equivalent machine language. (In the case of Java, this machine language is the bytecode.) Source program: Written in a high-level language. Loader: Transfers the compiled code (bytecode) into main memory. Interpreter: Reads and translates each bytecode instruction into machine language and then executes it. Java Programming: From Problem Analysis to Program Design, Second Edition23
Java Programming: From Problem Analysis to Program Design, Second Edition24 Processing a Java Program Java Virtual Machine (JVM): A hypothetical computer developed to make Java programs machine independent ( i.e run on many different types of computer platforms ). Bytecode is the machine language for the JVM.
Java Programming: From Problem Analysis to Program Design, Second Edition25 Processing a Java Program Two types of Java programs: applications : standalone programs stored and executed on a local computer. applets : small programs stored on remote computers that users connect to via a WWW browser. Applets are loaded into the browser, executed then discarded.
Java Programming: From Problem Analysis to Program Design, Second Edition26 Example of a Java Program A simple java application: an application executes using the java interpreter. Example : // This prints a line of text public class Welcome { public static void main (String args[] ) { System.out.println(“ welcome to java”) ; }
Java Programming: From Problem Analysis to Program Design, Second Edition27 Example of a Java Program // single line comment /* */ multiple line comment Every java program must have at least one class. Each class begins with a class declaration that defines data and methods for the class. The class name here is Welcome, and contains a method main () Welcome is an identifier.
Java Programming: From Problem Analysis to Program Design, Second Edition28 Java Identifiers Names of things. Such as methods, class names.. Consists of: Letters Digits The underscore character ( _ ) The dollar sign ( $ ) Must begin with a letter, underscore, or the dollar sign. (i.e does not begin with a digit ) Java is case sensitive. A and a are different.
Java Programming: From Problem Analysis to Program Design, Second Edition29 Java Program- class definiton Always begin a class name with a capital letter. The class definition should be saved in a file that contains the class name.( i.e Welcome.java ) A file cannot contain two public classes. public static void main (String args[]) is a part of every java application program.
Java Programming: From Problem Analysis to Program Design, Second Edition30 Java Program- class definiton Java applications automatically begin executing at main (). The parentheses () after main indicate that main is a method. Class definitions normally contain one ore more methods. One of those methods must be called main. The void before main () means that main will not return any info.
Java Programming: From Problem Analysis to Program Design, Second Edition31 A Java Program public class ASimpleJavaProgram { public static void main(String[] args) { System.out.println("My first Java program."); System.out.println("The sum of 2 and 3 = " + 5); System.out.println("7 + 8 = " + (7 + 8)); } Class name Java o/p stmts Body of class Heading of method main
Java Programming: From Problem Analysis to Program Design, Second Edition32 A Java Program A java output statement causes the program to evaluate whatever is in the parentheses and display the result on screen. Anything in double quotation marks, called string, evaluates to itself. + is used to concatenate the strings. The system automatically converts the number 5 into a string,joins that string with the first string,and displays it.
Java Programming: From Problem Analysis to Program Design, Second Edition33 A Java Program The parentheses around 7+8 causes the system to add the numbers 7 and 8,resulting in 15. The number 15 is then converted to string 15 and joined with string “7+8”= “. Sample Run: My first Java program. The sum of 2 and 3 = = 15
Java Programming: From Problem Analysis to Program Design, Second Edition34 A Java Program The basic unit of a java program is a class. Every class consists of one or more methods. A method is a set of statements that accomplish something. A java class must contain one main method if it is an application. Execution always begins with method main in java application program.
Java Programming: From Problem Analysis to Program Design, Second Edition35 Internet,WWW and Java Internet : is an interconnection of networks that allows computers around the world to communicate with each other. In 197o’s, the US DOD developed techniques to interlink networks, i.e communication protocols so that networked computers could communicate Internet WWW uses s/w programs that enable users to view documents on any computer over the internet
Java Programming: From Problem Analysis to Program Design, Second Edition36 Internet,WWW and Java The primary language of web is HTML, a simple language for laying out and linking documents. HTML is not capable of interacting with users except to collect info via simple forms. Java applets make the web responsive and interactive
Java Programming: From Problem Analysis to Program Design, Second Edition37 Programming Methodologies Two basic approaches to programming design: Structured design Object-oriented design
Java Programming: From Problem Analysis to Program Design, Second Edition38 Structured Design 1.A problem is divided into smaller sub-problems. 2.Each sub-problem is analyzed, solved and a solution for this sub-problem is obtained. 3.The solutions of all sub-problems are combined to solve the overall problem. 4.Is called structured programming, top-down design approach, or modular programming.
Java Programming: From Problem Analysis to Program Design, Second Edition39 Object-Oriented Design (OOD) In OOD, a program is a collection of interacting objects. An object consists of data and operations. Steps in OOD: 1.Identify the objects which form the basis of the solution, then determine how these objects interact with each other. Example : write a program that automates the video rental process for a video store. The two main objects are : 1- video 2- customer
Java Programming: From Problem Analysis to Program Design, Second Edition40 Object-Oriented Design (OOD) Steps in OOD: 2. Specify the relevant data for each object and the possible operations to be performed on that data. Example : for the video object o the data might be : movie name,Starring actors,and Number of copies in stock. oThe operations on video object might include : checking the name of the movie, reducing the # of copies in stock by 1 after renting a copy.
Java Programming: From Problem Analysis to Program Design, Second Edition41 Object-Oriented Design (OOD) Each object consists of data and operations on those data The final program is a collection of interacting objects.
Java Programming: From Problem Analysis to Program Design, Second Edition42 Problem-Analysis-Coding- Execution Cycle Algorithm: A step-by-step, problem-solving process in which a solution is arrived at in a finite amount of time.
Java Programming: From Problem Analysis to Program Design, Second Edition43 Problem-Solving Process 1.Analyze the problem: Outline solution requirements and design an algorithm. 2.Implement the algorithm in a programming language (Java) and verify that the algorithm works. 3.Maintain the program: Use and modify if the problem domain changes.
Java Programming: From Problem Analysis to Program Design, Second Edition44 Problem-Analysis-Coding-Execution Cycle
example1 Design an algorithm to find the perimeter and area of a rectangle. Java Programming: From Problem Analysis to Program Design, Second Edition45
algorithm 1. get the length of the rectangle. 2. get the width of the rectangle. 3. Find the perimeter using the equation: perimeter = 2*(length + width) 4. Find the area using the equation: area = length* width Java Programming: From Problem Analysis to Program Design, Second Edition46
Example 2 Design an algorithm that calculates the average of 3 numbers. Java Programming: From Problem Analysis to Program Design, Second Edition47
algorithm 1. Get the three numbers A, B, C 2. Calculate the average average = (A+B+C) /3 3. print the average Java Programming: From Problem Analysis to Program Design, Second Edition48