Fundamentals of Programming. Budditha Hettige Department of Computer Science

Similar documents
Fundamentals of Programming

Fundamentals of Programming INTRODUCTION

Fundamentals of Programming. By Budditha Hettige

Fundamentals of Programming Data Types & Methods

Fundamentals of Programming. By Budditha Hettige

IT 1033: Fundamentals of Programming Loops

Full file at

IT 1033: Fundamentals of Programming Data types & variables

Data Types & Variables

Course Outline. Introduction to java

Arrays IT 1033: Fundamentals of Programming

Programming with Java

13 th Windsor Regional Secondary School Computer Programming Competition

Lecture Notes. System.out.println( Circle radius: + radius + area: + area); radius radius area area value

COMP 202 Java in one week

Computer Programming, I. Laboratory Manual. Experiment #2. Elementary Programming

COSC 123 Computer Creativity. Introduction to Java. Dr. Ramon Lawrence University of British Columbia Okanagan

Chapter 2: Data and Expressions

Introduction to Programming (Java) 2/12

Chapter 2: Data and Expressions

Introduction To Java. Chapter 1. Origins of the Java Language. Origins of the Java Language. Objects and Methods. Origins of the Java Language

Chapter 2: Programming Concepts

Lesson 02 Data Types and Statements. MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL

Wentworth Institute of Technology. Engineering & Technology WIT COMP1000. Java Basics

Control Statements: Part 1

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

CONTENTS: Compilation Data and Expressions COMP 202. More on Chapter 2

COMP-202: Foundations of Programming. Lecture 2: Variables, and Data Types Sandeep Manjanna, Summer 2015

Introduction to Java & Fundamental Data Types

Chapter 3 Syntax, Errors, and Debugging. Fundamentals of Java

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

COMP 202 Java in one week

COMP 202. Java in one week

Introduction to C++ IT 1033: Fundamentals of Programming

Introduction to Java Applications

Basics of Java Programming

Chapter 2 ELEMENTARY PROGRAMMING

Chapter 2 Working with Data Types and Operators

Università degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M

2.1. Chapter 2: Parts of a C++ Program. Parts of a C++ Program. Introduction to C++ Parts of a C++ Program

CEN 414 Java Programming

Building Java Programs. Chapter 2: Primitive Data and Definite Loops

CSCI 2010 Principles of Computer Science. Data and Expressions 08/09/2013 CSCI

UNIT- 3 Introduction to C++

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

1 Introduction Java, the beginning Java Virtual Machine A First Program BlueJ Raspberry Pi...

Chapter 2 Elementary Programming

Objectives. In this chapter, you will:

CS5000: Foundations of Programming. Mingon Kang, PhD Computer Science, Kennesaw State University

Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9

Introduction to Computers and Java

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Introduction to Computers and Java

Lecture Set 2: Starting Java

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

Introduction to Programming Using Java (98-388)

3. Java - Language Constructs I

Java Notes. 10th ICSE. Saravanan Ganesh

Lecture Set 2: Starting Java

CS11 Java. Fall Lecture 1

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Programming. Syntax and Semantics

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Chapter 3. Selections

Tools : The Java Compiler. The Java Interpreter. The Java Debugger

4 Programming Fundamentals. Introduction to Programming 1 1

Chapter 2: Data and Expressions

Room 3P16 Telephone: extension ~irjohnson/uqc146s1.html

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Chapter 2: Basic Elements of C++

Chapter 1 Introduction to java

CS111: PROGRAMMING LANGUAGE II

Data and Variables. Data Types Expressions. String Concatenation Variables Declaration Assignment Shorthand operators. Operators Precedence

Programming Language Basics

Chapter 2 Primitive Data Types and Operations. Objectives

More Programming Constructs -- Introduction

By the end of this section you should: Understand what the variables are and why they are used. Use C++ built in data types to create program

Chapter 1 Lab Algorithms, Errors, and Testing

Programming for Engineers Iteration

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;

Chapter 3: Operators, Expressions and Type Conversion

Chapter 2. Elementary Programming

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

Object Oriented Programming with Java

Fundamental of Programming (C)

Data and Expressions. Outline. Data and Expressions 12/18/2010. Let's explore some other fundamental programming concepts. Chapter 2 focuses on:

JAVA Programming Fundamentals

Section 2: Introduction to Java. Historical note

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

COMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette

Outline. Parts 1 to 3 introduce and sketch out the ideas of OOP. Part 5 deals with these ideas in closer detail.

Visual C# Instructor s Manual Table of Contents

3 The L oop Control Structure

Pace University. Fundamental Concepts of CS121 1

Conditional Programming

Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02

More Things We Can Do With It! Overview. Circle Calculations. πr 2. π = More operators and expression types More statements

Full file at

Transcription:

Fundamentals of Programming Budditha Hettige Department of Computer Science

Fundamentals of Programming Course Structure Lectures 30 Hours Practical /Tutorials 30 hours Assignment (30%) Practical Test (10 marks) Quizzes 4 (Get maximum 2 ) (10 x2 = 20 marks ) Total 30% Final Examination (70 %) 4 Questions (3 hours) (70%) Reference: https://budditha.wordpress.com/ 7/11/2015 Budditha Hettige (budditha@yahoo.com) 2

Course Structure Introduction Steps to Computer Programming Introduction to Java Input and output Variables Selections (if, switch) Loops (for, while, do-while) Methods To-Down Design Arrays Console application Menu driven application development Budditha Hettige (budditha@yahoo.com) 3

Introduction to Programming 7/11/2015 Budditha Hettige (budditha@yahoo.com) 4

Why people use machines? 7/11/2015 Budditha Hettige (budditha@yahoo.com) 5

Machines Café Machine ATM machine Calculator make a tea money transaction solve equation Each Machine has Input Output Process input Process Output Budditha Hettige (budditha@yahoo.com) 6

Café Machine Input Sugar Water Coffee Milk Output Tea Process???? Input Process Output Budditha Hettige (budditha@yahoo.com) 7

ATM machine Input??? Output??? Process??? Budditha Hettige (budditha@yahoo.com) 8

Calculator Input??? Output??? Process??? Budditha Hettige (budditha@yahoo.com) 9

Process of a Machine Work through the instructions given to it Read Write Do some calculations Go to next instruction The sequence of instructions is call a Program Program is a story to tell some task to others Budditha Hettige (budditha@yahoo.com) 10

What is a Programming? Programming is the way to give instructions Each program has Start Some work End Program is given/execute through the machine understood language Budditha Hettige (budditha@yahoo.com) 11

A Computer Machine that can solve problems for people by carrying out instructions given to it The sequence of instructions is called Program The language machine can understand is called machine language Budditha Hettige (budditha@yahoo.com) 12

Machine Language Machine language is a set of instructions executed directly by a computer's central processing unit (CPU) Budditha Hettige (budditha@yahoo.com) 13

Machine Language contd.. Advantages Machine can directly access (Electronic circuit) High Speed Disadvantages Human cannot identify Machine depended (Hardware depended) Budditha Hettige (budditha@yahoo.com) 14

Computer Language(s) Artificial Languages Human readable Ex: C/C++, Java Programming Language(L n ) Translator/ Interpreter Machine Language (L 0 ) Program ming Language (Ln) Machine Language (L 0 ) Machine Budditha Hettige (budditha@yahoo.com) 15

Interpretation Each instruction in L1 can execute through the relevant L0 instructions directly Program is call interpreter Two languages are needed to closely related Example: Sinhala English Sinhala - Pali Budditha Hettige (budditha@yahoo.com) 16

Translator (L 1 L 0 ) 1. Replace each instruction written in L1 in to LO 2. Program now execute new program 3. Program is called compiler/ translator Budditha Hettige (budditha@yahoo.com) 17

Compilers Translate high-level language to machine language Input (Source code) The original program in a high level language Output (Object code/ Machine Code) The translated version in machine language Example C++ compiler, JAVA Compiler etc. Budditha Hettige (budditha@yahoo.com) 18

Programming steps Compilers. A compiler translates the source code to target code Preprocessor adds to or modifies the contents of the source file before the compiler begins processing the code Linker combines the compilergenerated machine code with precompiled library code or compiled code from other sources to make a complete executable program 7/11/2015 Budditha Hettige (budditha@yahoo.com) 19

Programming language generations This classification is used to indicate increasing power of programming styles 1. First-generation programming languages 2. Second-generation programming languages 3. Third-generation programming languages 4. Fourth-generation programming languages 5. Fifth-generation programming languages Budditha Hettige (budditha@yahoo.com) 20

First-generation programming language (1GL) Is a machine-level programming language Translator isn t used to compile The instructions in 1GL are made of binary numbers, represented by 1s and 0s Advantage The code can run very fast and very efficiently because the instructions are executed directly by the CPU Disadvantage When an error occurs, the code is not as easy to fix Budditha Hettige (budditha@yahoo.com) 21

Second-generation programming language(2gl) Assembly language. Properties The code can be read and written by a programmer The language is specific to a particular processor family and environment Used in kernels and device drivers Budditha Hettige (budditha@yahoo.com) 22

Third-generation programming languages (3GL) Languages are more programmer-friendly Example C, C++, C#, Java, BASIC and Pascal Support structured programming. Must be translated into machine language by a compiler or interpreter Advantages Easier to read, write, and maintain Budditha Hettige (budditha@yahoo.com) 23

Fourth-generation programming languages(4gl) Designed to reduce programming effort Consist of Set of libraries CRUD generators Report generators DBMS Visual design tool and integration API Different types of 4GLs Table-driven (codeless) programming PowerBuilder Data management SAS, SPSS Report-generator programming languages Oracle Developer Suite Budditha Hettige (budditha@yahoo.com) 24

Fifth-generation programming language(5gl) Based on solving problems using constraints given to the program, rather than using an algorithm written by a programmer Use mainly in Artificial Intelligence research Example Prolog, OPS5, and Mercury Budditha Hettige (budditha@yahoo.com) 25

Selecting a suitable Computer Language Readability How easy to write the program in this particular language? Reliability How much would it cost to develop using a given language? How complicated the syntax going to be? Does the language have standards for greater readability? Budditha Hettige (budditha@yahoo.com) 26

Example Assembly Language Program Device drivers, Virus C / C++ Program Device drivers, DLLs JAVA / Visual C++ Program Desktop applications, Web Applications Prolog AI based applications, Games, Translators Budditha Hettige (budditha@yahoo.com) 27

Exercise To solve the following problems, identify the input, output and the process Find the area of a room Search a place of a city Calculate grade for the given mark Get some amount from ATM machine input Process Output Budditha Hettige (budditha@yahoo.com) 28

Stages of Computer Programming 1. Planning 2. Analysis 3. Design 4. Implementation 5. Testing 6. Maintenance and update Budditha Hettige (budditha@yahoo.com) 29

Planning Identify scope of the project Estimate the work involved Create a project schedule Begins with requirements that define the software to be developed. The project plan can be used to describe the task Budditha Hettige (budditha@yahoo.com) 30

Analysis Is a complete description of the behavior of a system Consist of Functional requirements Non-functional requirements Methods Interview Questionnaires Observation etc. Budditha Hettige (budditha@yahoo.com) 31

Software Design Software design is a process of problemsolving and planning for a software solution Types Top down Bottom up Module design Use to describe Algorithm Flowchart Pseudo code Budditha Hettige (budditha@yahoo.com) 32

Design process Budditha Hettige (budditha@yahoo.com) 33

Design cont. Flowchart: is a type of diagram that represents an algorithm or process Gives diagrammatic representation solution to a given problem Use in analyzing, designing, documenting or managing a process or program Budditha Hettige (budditha@yahoo.com) 34

Flowchart- building blocks Budditha Hettige (budditha@yahoo.com) 35

Flowchart-building blocks contd... Budditha Hettige (budditha@yahoo.com) 36

Example Budditha Hettige (budditha@yahoo.com) 37

Example Draw a flow chart to display total of the two numbers Budditha Hettige (budditha@yahoo.com) 38

Example Draw a flow chart to identify correct login for the following interface Budditha Hettige (budditha@yahoo.com) 39

Implementation Is a realization of a technical specification or algorithm as a program, software component through computer programming May exist for a given specification or standard Example World Wide Web Consortium-recommended specifications After implement Source code, together with documentation to make the code more readable. Budditha Hettige (budditha@yahoo.com) 40

Program Testing is an investigation conducted to provide information about the quality of the product A primary purpose of testing is to detect software failures Test White box test Black box test Budditha Hettige (budditha@yahoo.com) 41

Program Maintenance and Update Is the modification of a software product after delivery to correct faults Maintenance may span for 20 years, whereas development may be 1-2 year User guide, Maintenance manual need to provides Example Windows XP (Development few years, Maintenance.) Provides set of software updates patches etc. Budditha Hettige (budditha@yahoo.com) 42

The Characteristics of a Good Computer Program Reliability: The program should provide correct results at all times and should be free from errors. Maintainability: The existing program should be able to change or modify to meet new requirements. Portability: The program should be able to transfer to a different computer system. Readability: The program must be readable and understandable with the help of documentation. Performance: The program should handle the task more quickly and efficiently. Storage saving: The program should be written with the least number of instructions Budditha Hettige (budditha@yahoo.com) 43

Steps to Computer programming Identify Input, Output and process Make a design Use suitable programming language and implement your system Test your program Budditha Hettige (budditha@yahoo.com) 44

Activity You are required to design a software solution for a small library explain each steps of the software development 1. Identify requirements 2. Write project proposal 3. Make Complete Design 4. Implement a solution 5. Test solution 7/11/2015 Budditha Hettige (budditha@yahoo.com) 45

Design 7/11/2015 Budditha Hettige (budditha@yahoo.com) 46

Another Approach 7/11/2015 Budditha Hettige (budditha@yahoo.com) 47

Software Quality 7/11/2015 Budditha Hettige (budditha@yahoo.com) 48

Questions 7/11/2015 Budditha Hettige (budditha@yahoo.com) 49

Tools & Tips for Computer programming Source code Editor TextPad, Notepad Compiler JAVA Compiler, C++ compiler Language Knowledge Logical thinking ability Budditha Hettige (budditha@yahoo.com) 50

Programming with IDE IDE : integrated design environment consists of source code editor compiler and/or an interpreter build automation tools Debugger Construction of a GUI Class browser Object inspector Etc. Budditha Hettige (budditha@yahoo.com) 51

Programming IDEs Eclipse Eclipse is a multi-language software development environment http://www.eclipse.org/ Code:blocks http://www.codeblocks.org/ Netbeans http://netbeans.org/ Microsoft Visual Studio http://www.microsoft.com/visualstudio/en-us Budditha Hettige (budditha@yahoo.com) 52

Exercise Download Netbeans IDE and install it Download: http://netbeans.org/ Budditha Hettige (budditha@yahoo.com) 53

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE 7/11/2015 Budditha Hettige (budditha@yahoo.com) 54

Introduction to Java Is a programming language created by James Gosling from Sun Microsystems in 1991 Is a general-purpose, class-based, object-oriented Programming language is intended to let application developers write once, run anywhere. URL : http://www.oracle.com/ 7/11/2015 Budditha Hettige (budditha@yahoo.com) 55

Java cont Java programming language consists Java compiler: Java compiler translates Java coding into byte-code Java virtual machine(jvm) Java virtual machine interprets this byte-code and runs the program Java class libraries Java Class Library is a set of dynamically loadable libraries that Java applications can call at run time 7/11/2015 Budditha Hettige (budditha@yahoo.com) 56

Java Virtual Machine (JVM) Architecture JAVA Source File (.java) Java Virtual Machine Java Compiler JAVA Bite code (.class) Memory Manager Java API Byte code Verifier Interpreter 7/11/2015 Budditha Hettige (budditha@yahoo.com) 57

JAVA Vs C++ JAVA Source File (.java) C++ Source File (.cpp) Java Compiler C++ Compiler JAVA Bite code (.class) Executable program (.exe) Java VM JAVA VM can directly execute Operating system can directly execute 7/11/2015 Budditha Hettige (budditha@yahoo.com) 58

Programming Task Design Implement Compile and RUN 7/11/2015 Budditha Hettige (budditha@yahoo.com) 59

Characteristics Java has the following properties Platform independent Object-orientated programming language Strongly-typed programming language Interpreted and compiled language Automatic memory management 7/11/2015 Budditha Hettige (budditha@yahoo.com) 60

Platform independent Can Run on any Platform Windows Linux MaC OS JAVA Source File (.java) Java Compiler JAVA Bite code (.class) Java VM 7/11/2015 Budditha Hettige (budditha@yahoo.com) 61

Object-orientated programming language Object-oriented programming (OOP) is a programming paradigm that represents concepts as "objects" that have data fields (State) and methods (Behavior) What is an Objects? Object is a software bundle of related state and behavior Characteristics: state and behavior Example (Person) State (Name, NIC, height) Behavior (Speech, Sleep, eat) Object is an instance of a class (instance is a specific realization of any object) 7/11/2015 Budditha Hettige (budditha@yahoo.com) 62

What is a class? A Java class is a group of Java methods and variables Example (Person) State (Name, NIC, height) Behavior (Speech, Sleep, eat) class Person { } 7/11/2015 Budditha Hettige (budditha@yahoo.com) 63

Requirements for Class name Class name must begin with letter of the alphabet Contains only letters, digits, underscores or dollar sign Cannot be a language reserved keywords (public, class etc) Name cannot be following values (true, false or null) 7/11/2015 Budditha Hettige (budditha@yahoo.com) 64

Java Class name standard Begin with uppercase letter No spaces Emphasizes new word with an initial uppercase letter Example EmployeRecords Student FirstExample SampleProgram 7/11/2015 Budditha Hettige (budditha@yahoo.com) 65

Java Keywords 7/11/2015 Budditha Hettige (budditha@yahoo.com) 66

Install JAVA Download Java Development Kit (JDK) http://www.oracle.com RUN Installation setup SET PATH for the JAVA Test JAVA is working 7/11/2015 Budditha Hettige (budditha@yahoo.com) 67

Simple Java Program A class with a main Method public class FirstProgram { public static void main(string[] args) { System.out.println("Hello"); } } FirstProgram Operating System Output Main Method 7/11/2015 Budditha Hettige (budditha@yahoo.com) 68

A class without a main Method public class FirstProgram { } Operating System Can not Execute the program FirstProgram Operating System 7/11/2015 Budditha Hettige (budditha@yahoo.com) 69

Your first Java program Open a text editor (text pad, Notepad etc.) Type the following sample Save program as FirstProgram.java public class FirstProgram { public static void main(string[] args) { System.out.println("Hello World"); } } 7/11/2015 Budditha Hettige (budditha@yahoo.com) 70

Compile and RUN Using command prompt go to the place where in your java file To Compile: type javac <space><filename> Javac FirstProgram.java To Run: type java<space><filename> Java FirstProgram 7/11/2015 Budditha Hettige (budditha@yahoo.com) 71

First Java program public class FirstProgram { public static void main(string[] args) { System.out.println("Hello World"); } } Flow chart Start Display Hello World End 7/11/2015 Budditha Hettige (budditha@yahoo.com) 72

Print Output on Command window Function System.out.println( Some Text ); System.out.print( Some Text ); Example public class FirstProgram { public static void main(string[] args) { System.out.println("Hello World"); } } 7/11/2015 Budditha Hettige (budditha@yahoo.com) 73

Escape Sequences A character preceded by a backslash (\) is an escape sequence has special meaning to the compiler Escape Sequence Description \t Insert a tab in the text at this point. \b Insert a backspace in the text at this point. \n Insert a newline in the text at this point. \r Insert a carriage return in the text at this point. \f Insert a formfeed in the text at this point. \' Insert a single quote character in the text at this point. \" Insert a double quote character in the text at this point. \\ Insert a backslash character in the text at this point. 7/11/2015 Budditha Hettige (budditha@yahoo.com) 74

ASCII art with JAVA ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable (from a total of 128) characters defined by the ASCII Standard from System.out.println(" @ @ @ "); System.out.println(" @ @ @ @ "); System.out.println(" @ @ @ "); System.out.println(" \\ / "); System.out.println(" "); System.out.println(" "); System.out.println(" "); System.out.println(" "); System.out.println(" ( ) "); System.out.println(" ^^^^^ "); 7/11/2015 Budditha Hettige (budditha@yahoo.com) 75

Exercise 1. Why JAVA is Platform independent? 2. What is a class? 3. What is JAVA Runtime Environment (JRE)? 4. What is JAVA Class file? 5. Create a JAVA Program to display the following output EMPLOYEE DETAILS --------------------------------------- 1. Employee NO : HIT1001 2. Name : Mr. A. B. Gamage 3. Age : 30 4. Salary : 23507.50 5. Married : Y 6. Car (Y/N) : N --------------------------------------- 7/11/2015 Budditha Hettige (budditha@yahoo.com) 76

Exercise Write a Java program to display the following output. budditha@yahoo.com

Exercise Write a Java program to calculate and display total amount of the given unit price and quantity of an item. budditha@yahoo.com

Data Types Use various variables to store various information Variables are reserved memory locations to store values When you create a variable you reserve some space in memory Based on the data type of a variable, the operating system allocates memory and decides what can be stored in the reserved memory budditha@yahoo.com

Activity How to change items in the two bottle 7/11/2015 Budditha Hettige (budditha@yahoo.com) 80

Java Data types The eight primitive data types supported by the Java programming language 7/11/2015 Budditha Hettige (budditha@yahoo.com) 81

Data types 7/11/2015 Budditha Hettige (budditha@yahoo.com) 82

Limits of integer in java 7/11/2015 Budditha Hettige (budditha@yahoo.com) 83

Default values The default values for the above data type Data Type Default Value (for fields) byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char '\u0000' String (or any object) null boolean false 7/11/2015 Budditha Hettige (budditha@yahoo.com) 84

ASCII Code for the characters 7/11/2015 Budditha Hettige (budditha@yahoo.com) 85

Data type selection budditha@yahoo.com

Memory Allocation budditha@yahoo.com

Java Variables Declaration DataType <space> VaribaleName Example: Int count; Int studentage = 0; float GPA = 3.56 7/11/2015 Budditha Hettige (budditha@yahoo.com) 88

Variable name( rules) Can use only letters, digits and underscore The first character must be a simple letter Case sensitive Cannot use keywords No limits on length budditha@yahoo.com

Local, Instance & Class Variables classdata age localage budditha@yahoo.com

Variables in a program budditha@yahoo.com

Exercise Write a Java program to calculate and display total amount of the given unit price and quantity of an item. Solution What are the input(s) What are the output(s) How many variable are required What is the process budditha@yahoo.com

Answer 7/11/2015 Budditha Hettige (budditha@yahoo.com) 93

Constant variables Constants are declared like variables with the addition of the static final keywords static final double PI = 3.14159; Once declared and initialized, a constant can be used like a variable A constant may not be reassigned 7/11/2015 Budditha Hettige (budditha@yahoo.com) 94

Type Casting A way to convert a variable from one data type to another data type Use cast operator (type_name) expression (int) float_value budditha@yahoo.com

Java Memory concept Variable names correspond to location in the computer s memory Every variable has a name, a type, a size and a value A memory cell is never empty. But its initial contents may be meaningless to your program. The current contents of a memory cell are destroyed whenever new information is placed in that cell. Java has Total control about variables Programmer s No need to think much budditha@yahoo.com

Input / Output

Input from Keyboard Use Scanner import java.util.scanner; Create a Scanner object to Scan input from command window Scanner input = new Scanner(System.in); Read value from keyboard nextint() interger nextline () String nextfloat() float nextdouble ()double Example value = input.nextint(); 7/11/2015 Budditha Hettige (budditha@yahoo.com) 98

Example Create a JAVA Program that read data from key bard and display the result as follows EMPLOYEE DETAILS --------------------------------------- 1. Employee NO : HIT1001 2. Name : Mr. A. B. Gamage 2. Age : 30 3. Salary : 23507.50 4. Married : Y 5. Car (Y/N) : N --------------------------------------- 7/11/2015 Budditha Hettige (budditha@yahoo.com) 99

Exercise Write a Java program to read two numbers from keyboard and display the Average. budditha@yahoo.com

Solution import java.util.scanner; public class FundamantalApp { public static void main(string[] args) { Scanner input = new Scanner(System.in); int value1, value2; float avg; System.out.println("Enter value1 :"); value1 = input.nextint(); System.out.println("Enter value1 :"); value2 = input.nextint(); avg = (value1 + value2)/2; System.out.println("Average is "+ avg); } } 7/11/2015 Budditha Hettige (budditha@yahoo.com) 101

Examples: Create a java program to calculate area of a room. 7/11/2015 Budditha Hettige (budditha@yahoo.com) 102

Answer 7/11/2015 Budditha Hettige (budditha@yahoo.com) 103

Example Create a java program to calculate area of the following figure c a 7/11/2015 Budditha Hettige (budditha@yahoo.com) b 104

Answer 7/11/2015 Budditha Hettige (budditha@yahoo.com) 105

Exercise Create a Java program to calculate and display total amount of given unit price and quantity of the some item. budditha@yahoo.com

Answer budditha@yahoo.com

Java Formatting System.out.format("%f, %1$+020.10f %n", Math.PI); 7/11/2015 Budditha Hettige (budditha@yahoo.com) 108

Example Write a C++ program which will convert a weight in KG to pounds and ounces. ( 1 Kg = 2.2046 pounds) budditha@yahoo.com

Example Write a C++ program which will convert a Celsius temperature into Fahrenheit budditha@yahoo.com

Operators

Example What is the output of the Variable y Budditha Hettige (budditha@yahoo.com)

Java Operators Assignment operator (=) Arithmetic operators ( +, -, *, /, % ) Compound assignment (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, =) Increment and decrement (++, --) Relational and comparison operators ( ==,!=, >, <, >=, <= ) Logical operators (!, &&, ) Conditional ternary operator (? ) Comma operator (, ) Budditha Hettige (budditha@yahoo.com)

Java Operators Budditha Hettige (budditha@yahoo.com)

Binary Operators The binary operators take two arguments as operands Left Operand Right Operand Operator Budditha Hettige (budditha@yahoo.com)

Unary Operators The unary operators take one arguments as operand Operand Operator Budditha Hettige (budditha@yahoo.com)

Assignment operator (=) The assignment operator assigns a value to a variable. Budditha Hettige (budditha@yahoo.com)

Arithmetic operators( +, -, *, /, % ) The five arithmetical operations supported by C++ are Budditha Hettige (budditha@yahoo.com)

Compound assignment (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, =) Budditha Hettige (budditha@yahoo.com)

Combined assignment operators Each arithmetic operator has a corresponding assignment operator. Operator Effect L = Left Operator R = Right Operator += Assign (L + R) to L -= Assign (L - R) to L *= Assign (L * R) to L /= Assign (L / R) to L %= Assign (L % R) to L Budditha Hettige (budditha@yahoo.com)

Example Budditha Hettige (budditha@yahoo.com)

Unary Operators The unary operators take one arguments - unary minus (negation) + unary plus -- decrement ++ increment Budditha Hettige (budditha@yahoo.com)

Unary Operators The unary minus (-) makes a positive number into a negative number and a negative number into a positive number. The unary plus (+) does not change the number. The decrement operator (--) decrements the value of its operand by 1. The increment operator (++) increments the value of its operand by 1. Budditha Hettige (budditha@yahoo.com)

The prefix version (++x or --x) Comes before the operand, as in ++x First increments or decrements the variable by 1 and then uses the value of the variable. means Change x Then assign to y y = 6, x = 6. Budditha Hettige (budditha@yahoo.com)

The postfix version (x++ or x--) Comes after the operand, as in x++ Uses the current value of the variable and then increment or decrements the variable by 1. means Assign z to y. Then change z. y is 5, z is 6. Budditha Hettige (budditha@yahoo.com)

Relational and comparison operators The result of such an operation is either true or false (i.e., a Boolean value) Budditha Hettige (budditha@yahoo.com)

Example Budditha Hettige (budditha@yahoo.com)

Logical Operators To combine or modify existing expressions.! NOT && AND OR Example a > 5 && b > 5 ch == y ch == Y!valid!(x > 5) Budditha Hettige (budditha@yahoo.com)

Conditional ternary operator (? ) The conditional operator evaluates an expression, returning one value if that expression evaluates to true, and a different one if the expression evaluates as false. Syntax is: condition? result1 : result2 Budditha Hettige (budditha@yahoo.com)

Bitwise operators ( &,, ^, ~, <<, >> ) Bitwise operators modify variables considering the bit patterns that represent the values they store. Budditha Hettige (budditha@yahoo.com)

Precedence of operators Budditha Hettige (budditha@yahoo.com)

Selections

Exercise Write a Java program to read an examination mark from keyboard and print pass if mark >= 40. Budditha Hettige (buditha@yahoo.com)

Java Selection (if Statement) One-Way (if) Selection Syntax if (expression) { statement(s) } If m>=40 PASS Statement executed if value of expression true Budditha Hettige (buditha@yahoo.com)

Java Selection (if Statement) Two-Way (if...else) if (expression) { statement1; } else { statement2; } If expression true, statement1 executed, otherwise statement2 executed Budditha Hettige (buditha@yahoo.com)

if-then-else Statement Syntax if (Condition) { statement(s) } else { statement(s) } Example Budditha Hettige (buditha@yahoo.com)

Exercise Write a C++ program to print the biggest number of the two given numbers Budditha Hettige (buditha@yahoo.com)

Exercise Write a C++ program to print the biggest number of the three given numbers Budditha Hettige (buditha@yahoo.com)

Exercise Write a C++ program to print the grade for a given mark. 0 40 60 75 100 Budditha Hettige (buditha@yahoo.com)

Solution 1 Budditha Hettige (buditha@yahoo.com)

Nested if and if...else Statements Nesting: one control statement in another Syntax of nested if...else statements: if (condition1) statement1; else if (condition2) statement2;... else if (condition-n) statement-n; else statement-z; Budditha Hettige (buditha@yahoo.com)

Answer with Nested if 7/11/2015 Budditha Hettige (budditha@yahoo.com) 142

Exercise Write a Java program to print the grade for a given marks Budditha Hettige (buditha@yahoo.com)

Debug Debugging is a methodical process of finding and reducing the number of bugs, or defects

Debug Programming errors are called bugs Programming errors may be Compiler errors Runtime errors Logical errors Going through the code, examining it and looking for something wrong in the implementation (bugs) and correcting them is called debugging Budditha Hettige (buditha@yahoo.com)

Debugging Options Make break points Right click on statement and add break point Add watches to see the values of the variables Click Debug Debugging window - Watches Budditha Hettige (buditha@yahoo.com)

Debugging cont. Start debugging (Press F8) Debug Commands F8 Start / Continue F7 Next Line Shift+F8 Stop Budditha Hettige (buditha@yahoo.com)

Exercise Write a C++ program that reads month as an integer and print the name of the month Draw a flowchart to describe your solution Debug your code and find execution path for the following Month = 1; Month = 12; Month = 6; Budditha Hettige (buditha@yahoo.com)

Switch Run with number of possible execution paths A switch works with the byte, short, char, and int primitive data types

Switch switch structure: alternate to if...else Example 1: switch(x) { case x1: case x2: default: } statements1; break; statements2; break; statements4; break; Budditha Hettige (buditha@yahoo.com)

Exercise 5.6 Write a C++ program that reads month as an integer and print the name of a month. (Use Switch) Budditha Hettige (buditha@yahoo.com)

Exercise 5.7 Draw a flowchart to above program Budditha Hettige (buditha@yahoo.com)

Exercise Write a Java program that reads day as an integer (1-7)and print the name Use only if-else statement and implement your solution Use switch statement and implement your solution Draw flowcharts to above two programs Compare performance of the two methods (if and Switch) Use debug and find the execution path Budditha Hettige (buditha@yahoo.com)

Exercise Write a JAVA program that reads day as an integer (1-7)and print the name 7/11/2015 Budditha Hettige (budditha@yahoo.com) 154

Exercise Write a Java program to display a given date as the following formats. Your program should read date as the three inputs (day, month and year) and generates the output forms. Option 1: 21.05.2001 Option 2: 21.05.01 Option 3: 21 st May 2001 Budditha Hettige (buditha@yahoo.com)

Answer 7/11/2015 Budditha Hettige (budditha@yahoo.com) 156

Answer 1. Print a day 2. Print (st/nd/rd/th) 3. Print month 4. Print year Budditha Hettige (buditha@yahoo.com)

Exercise Write a Java program to print the bill for an item bought by a customer from a shop. The program should ask unit price and quantity of an item and calculate the total cost If item quantity greater than 10 give one item free Add 3.5 % discount for the total if total cost grater than 2500. The bill should contain all the above information and amount of money tendered and the correct amount of change. Budditha Hettige (buditha@yahoo.com)

Exercise Write a JAVA program to find the roots of the quadratic equation ax 2 + bx + c = 0 where x represents a variable or an unknown, and a, b, and c are constants. Hint: The following equation shows the solutions of the quadratic equation Read more on quadratic equation: http://en.wikipedia.org/wiki/quadratic_equation 7/11/2015 Budditha Hettige (budditha@yahoo.com) 159

Loops Loops have as purpose to repeat a statement a certain number of times or while a condition is fulfilled.

Repetitions: Loops A loop is a sequence of instruction s that is continually repeated until a certain condition is reached. The statement may be repeated For a specific number of items For an indeterminate number of times, depending on the truth or falsity of some condition. Budditha Hettige (budditha@yahoo.com)

Loops C++ provides three types of loops for loops (1- n times) Repeat a section of code known number of times while loops (0 more times) Loop is used to repeat a specific block of code an unknown number of times do while loops (1 more times) A do while loop is a control flow statement that executes a block of code at least once, and then repeatedly executes the block Budditha Hettige (budditha@yahoo.com)

Repeat some work Do some repeated work Initialization (Start number) Condition (do repeat action until satisfy some condition) Update (Next Value) Example Initialization Start with 1 Condition Count up to 50 Update Count 1 by 1 Budditha Hettige (budditha@yahoo.com)

For Loop Syntax for (initialization; condition; update) { statement(s) } Initialization Example Condition Update Budditha Hettige (budditha@yahoo.com)

Exercise Write a Java program to find the factorial of a given number Example: Budditha Hettige (budditha@yahoo.com)

Nested for Loops A loop can be nested inside of another loop Syntax for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); } Budditha Hettige (budditha@yahoo.com)

Exercise Write a Java program to display the following Multiplication table Budditha Hettige (budditha@yahoo.com)

Exercise 1. Write a Java program to print the following figure a) * b) 1 ** 12 *** 123 **** 1234 ***** 12345 Budditha Hettige (budditha@yahoo.com)

While Loop Allows the repetition of a statement based on the truth value of a condition Can run 0 to infinite times Budditha Hettige (budditha@yahoo.com)

While Loop Syntax while (Condition) { statement(s) } Example Initialization Condition Update Budditha Hettige (budditha@yahoo.com)

Exercise Write a Java program to find the factorial of a given number (Use While loop) Budditha Hettige (budditha@yahoo.com)

Exercise Write a Java program to accept numbers until the user enters a 999 and output the sum of the given numbers Budditha Hettige (budditha@yahoo.com)

Exercise Create a java program to identify the given number is Palindrome number or not. Read number as an integer Find the number is Palindrome or not Print the results Hint: A palindromic number or numeral palindrome is a number that remains the same when its digits are reversed. Like 16461 Budditha Hettige (budditha@yahoo.com)

Answers Budditha Hettige (budditha@yahoo.com)

Do-while Loop do while loop also depends on a condition, but unlike while loop, its condition is evaluated at the bottom of the loop, after the body has already executed. Budditha Hettige (budditha@yahoo.com)

Do-while Loop Syntax do { statement(s) } while (condition); Example Initialization Update Condition Budditha Hettige (budditha@yahoo.com)

Loops comparison For while do-while Budditha Hettige (budditha@yahoo.com)

Exercise Accept numbers until the user enters a 999 and output the average of the given numbers Budditha Hettige (budditha@yahoo.com)

Exercise Using do-while loop, create a java program to display the selected option in the following menu; [1] Enter data [2] Print data [3] Exit the program do-while Switch Budditha Hettige (budditha@yahoo.com)

Answer Budditha Hettige (budditha@yahoo.com)

Exercise Write a Java program to read N number of integers and find the total and average. N is an input 1, 2, 3.. N Use for, while and do-while loops Draw 3 flow chart for the above 3 programs Budditha Hettige (budditha@yahoo.com)

Exercise Write a Java program to compute the gross pay for an employee. An employee is paid at hourly rate for the first 40 hours worked in a week. Any hours worked in excess of 40 hours are paid at the overtime rate of one and half times that. Your program should print the pay sheets of all the employees. Budditha Hettige (budditha@yahoo.com)

Functions and Methods

Exercise Create a Java program to display the following wordart.(mam) Budditha Hettige (budditha@yahoo.com) 184

Functions Functions are a basic building block for writing Java programs. Breaking a program up into separate functions, each of which performs a particular task, makes it easier to develop and debug a program Solution for code reuse Functions allow for breaking down the program into discrete units Use to modular Programing Budditha Hettige (budditha@yahoo.com) 185

Methods Is a group of statements that is executed when it is called from some point of the program. Types Built-in: Build-in methods are part of the compiler package, such as System.out.println( ) User-defined: User-defined methods are created by you Format Return type MethodName (Argument..) { } 7/11/2015 Budditha Hettige (budditha@yahoo.com) 186

Method Example 1 PrintMe Main printme 7/11/2015 Budditha Hettige (budditha@yahoo.com) 187

Method Example 2 PrintMe Main printme 7/11/2015 Budditha Hettige (budditha@yahoo.com) 188

Method Example 3 7/11/2015 Budditha Hettige (budditha@yahoo.com) 189

Scope of a variable 1 2 3 4 7/11/2015 Budditha Hettige (budditha@yahoo.com) 190

Example Create a Java Programs to do to the following 1. Read Celsius temperature and calculate the Fahrenheit temperature Hint: Celsius to Fahrenheit: ( C 9 / 5 ) + 32 = F A Method to read data from keyboard A Method to Calculate data A Method to Print Data 7/11/2015 Budditha Hettige (budditha@yahoo.com) 191

Methods 7/11/2015 Budditha Hettige (budditha@yahoo.com) 192

Methods 7/11/2015 Budditha Hettige (budditha@yahoo.com) 193

Complete Program getvalue Main getvalue Claculate calculate printdata printdata 7/11/2015 Budditha Hettige (budditha@yahoo.com) 194

Top-Down Design Main getvalue claculate printdata 7/11/2015 Budditha Hettige (budditha@yahoo.com) 195

Bottom-up Design Main getvalue claculate printdata 7/11/2015 Budditha Hettige (budditha@yahoo.com) 196

Modular Design getvalue printdata claculate Main 7/11/2015 Budditha Hettige (budditha@yahoo.com) 197

Example Create a JAVA Program that reads 3 integer values from keyboard and print total and average values. Hint: Draw a top down design Implement your solution 7/11/2015 Budditha Hettige (budditha@yahoo.com) 198

Arrays

What is Array An array, is a data structure consisting of a collection of elements Each identified by at least one array index or key simplest type of data structure is a linear array, also called one-dimensional array 7/11/2015 Budditha Hettige (budditha@yahoo.com) 200

Arrays An array is a container object that holds a fixed number of values of a single type 7/11/2015 Budditha Hettige (budditha@yahoo.com) 201

Arrays contd. Declares an array of integers int[] anarray; Allocates memory for 10 integers anarray = new int[10]; Initialize first element anarray[0] = 100; Display Values System.out.println( E0 + anarray[0]); 7/11/2015 Budditha Hettige (budditha@yahoo.com) 202

Example Write a Java program to store marks of 10 students and print average mark? Output of your program is as follows Student 1 67 2 89... Marks --------------------- Average 45.56 ===================== 7/11/2015 Budditha Hettige (budditha@yahoo.com) 203

Write a Java program that read 10 integer marks (Range 0 to 100) form keyboard and print the result sheet as shown below. Exercise Write a Java program that read 10 integer marks (Range 0 to 100) form keyboard and print the result sheet as shown below. ICT 126 2.0 Introduction to Computer Programming ------------------------------------------------ ####### RESULT SHEET ###### ------------------------------------------------ Index NO Marks ================================================ 1 56 2 79 3 45 1. 23... 7/11/2015 Budditha Hettige (budditha@yahoo.com) 204

Find elements Find the largest and small mark of the above marks array 7/11/2015 Budditha Hettige (budditha@yahoo.com) 205

Example (several arrays) Create 2 Arrays to store Student name and GPA values of the 25 students in a class Enter all values and print results in the following format Student summary --------------------- Saman Kumara 2.56 Ruwan Silva 1.94 7/11/2015 Budditha Hettige (budditha@yahoo.com) 206

Multiple Arrays Write a C++ program to store 10 student information in class with considering name, age, height. Your program should read 10 students information from keyboard and display results as given below name age height -------------------------- saman 14 5.7 kamal 12 5.1 7/11/2015 Budditha Hettige (budditha@yahoo.com) 207

Console Applications

Console Application Runs only console screen(command window) NO GUI Use Low resources Use only key board action 7/11/2015 Budditha Hettige (budditha@yahoo.com) 209

Example 7/11/2015 Budditha Hettige (budditha@yahoo.com) 210

Example user interface 7/11/2015 Budditha Hettige (budditha@yahoo.com) 211

Example Main Menu 7/11/2015 Budditha Hettige (budditha@yahoo.com) 212

Example 3 (contd.) Action 7/11/2015 Budditha Hettige (budditha@yahoo.com) 213

Example 3 (contd.) Summary 7/11/2015 Budditha Hettige (budditha@yahoo.com) 214

Example 4 Create Java Application to calculate total price for the sold items. Your program should run as a menu driven application User can add items (any ) and print total, number of items and discount User can total sales price for a day This program should run until user exit 7/11/2015 Budditha Hettige (budditha@yahoo.com) 215

Run Application Without Netbeans 7/11/2015 Budditha Hettige (budditha@yahoo.com) 216

RUN Application 7/11/2015 Budditha Hettige (budditha@yahoo.com) 217

Model Questions

7/11/2015 Budditha Hettige (budditha@yahoo.com) 219

END. 7/11/2015 Budditha Hettige (budditha@yahoo.com) 220