Object-Oriented Programming

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

Entry Point of Execution: the main Method. Elementary Programming. Learning Outcomes. Development Process

Lecture Set 4: More About Methods and More About Operators

Program Fundamentals

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

CS 106 Introduction to Computer Science I

Lecture 2: Variables and Operators. AITI Nigeria Summer 2012 University of Lagos.

cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1

Basics of Java Programming

Tester vs. Controller. Elementary Programming. Learning Outcomes. Compile Time vs. Run Time

Elementary Programming

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

Datatypes, Variables, and Operations

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

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

COMP-202 Unit 2: Java Basics. CONTENTS: Using Expressions and Variables Types Strings Methods

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand

Accelerating Information Technology Innovation

4 Programming Fundamentals. Introduction to Programming 1 1

Sir Muhammad Naveed. Arslan Ahmed Shaad ( ) Muhammad Bilal ( )

Programming with Java

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

Lecture Set 4: More About Methods and More About Operators

Review. Primitive Data Types & Variables. String Mathematical operators: + - * / % Comparison: < > <= >= == int, long float, double boolean char

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

COMP Primitive and Class Types. Yi Hong May 14, 2015

Building Java Programs

Building Java Programs

Chapter 1 Introduction to java

CIS133J. Working with Numbers in Java

Object-Oriented Programming. Topic 2: Fundamental Programming Structures in Java

Ex: If you use a program to record sales, you will want to remember data:

Getting started with Java

Chapter 2. C++ Basics. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015

Building Java Programs

Lecture 3 Operators MIT AITI

3. Java - Language Constructs I

Course Outline. Introduction to java

Prof. Navrati Saxena TA: Rochak Sachan

Computational Expression

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

CS313D: ADVANCED PROGRAMMING LANGUAGE

Definite Loops. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Using a Variable for Counting

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

Chapter 2. C++ Basics

Introduction to Java Applications

Declaration and Memory

Basic Operations jgrasp debugger Writing Programs & Checkstyle

Introduction to Java & Fundamental Data Types

Outline. Overview. Control statements. Classes and methods. history and advantage how to: program, compile and execute 8 data types 3 types of errors

CS111: PROGRAMMING LANGUAGE II

CMPT 125: Lecture 3 Data and Expressions

Chapter 2. C++ Basics. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Chapter 3: Operators, Expressions and Type Conversion

Software and Programming 1

Java Bytecode (binary file)

Object oriented programming. Instructor: Masoud Asghari Web page: Ch: 3

CGS 3066: Spring 2015 JavaScript Reference

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

Chapter Overview. C++ Basics. Variables and Assignments. Variables and Assignments. Keywords. Identifiers. 2.1 Variables and Assignments

1007 Imperative Programming Part II

Topic 4 Expressions and variables

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

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018

JAVA OPERATORS GENERAL

Interpreted vs Compiled. Java Compile. Classes, Objects, and Methods. Hello World 10/6/2016. Python Interpreted. Java Compiled

Lecture 2. COMP1406/1006 (the Java course) Fall M. Jason Hinek Carleton University

MODULE 02: BASIC COMPUTATION IN JAVA

Operators. Java operators are classified into three categories:

SECTION II: LANGUAGE BASICS

Java Basic Programming Constructs

Important Java terminology

Section 2.2 Your First Program in Java: Printing a Line of Text

Entry Point of Execution: the main Method. Elementary Programming. Compile Time vs. Run Time. Learning Outcomes

An Introduction to Processing

Control Structures in Java if-else and switch

Building Java Programs Chapter 2

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

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic

Chapter 2 Elementary Programming

Programming Basics. Digital Urban Visualization. People as Flows. ia

Chapter 2. Elementary Programming

JAVA Programming Fundamentals

CS313D: ADVANCED PROGRAMMING LANGUAGE

Full file at

5/3/2006. Today! HelloWorld in BlueJ. HelloWorld in BlueJ, Cont. HelloWorld in BlueJ, Cont. HelloWorld in BlueJ, Cont. HelloWorld in BlueJ, Cont.

DATA TYPES AND EXPRESSIONS

Values and Variables 1 / 30

CS 231 Data Structures and Algorithms, Fall 2016

Introduction to Programming Using Java (98-388)

Chapter 2: Data and Expressions

Chapter 2 ELEMENTARY PROGRAMMING

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

Building Java Programs Chapter 2. bug. Primitive Data and Definite Loops. Copyright (c) Pearson All rights reserved. Software Flaw.

Building Java Programs Chapter 2

Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal

CSC 1214: Object-Oriented Programming

Transcription:

Object-Oriented Programming

Java Syntax Program Structure Variables and basic data types. Industry standard naming conventions. Java syntax and coding conventions If Then Else Case statements Looping (for, while) Classes and Methods 2

Variables & Data Types

Data types Java supports 8 basic data types known as Primitive Types. Four Integer types Two real (or floating-point) types A boolean type A character type Java also supports class and array data types (collectively known as Reference types), which will be discussed later. 4

Primitive Types Integers Keywor d Size Min value Max value byte 8-bit -128 127 short 16-bit -32768 32767 int 32-bit -2147483648 2147483647 long 64-bit - 92233720368547758087 9223372036854775807 int daysinyear = 365; /* declares an integer named daysinyear, assigns it the value of 365*/ 5

Primitive Types Real Numbers Keyword Size Min value Max value float 32-bit 1.4E-45 3.4028235E38 double 64-bit 4.9E-324 1.797693134862315 7E308 float price = 8.99f; /* declares a float named price, assigns it the value of 8.99 */ 6

Primitive Types Boolean/char Keywor d Size or Format Description boolean true/false true or false char 16-bit Unicode A single character \u0000 - \uffff boolean trustworthy = true; char firstletter = 'a'; 7

Strings A String represents a group of characters. String is not a primitive type, it is a Java class. Strings can be used like primitive types in many ways. Assign literal values or Add Strings together System.out.println("Joe"); String name = "Joe"; System.out.println(name); String fullname = name + " Thomas"; We ll discuss String in detail later. 8

Variable Naming Conventions Variables must start with a letter, a dollar sign ($), or an underscore (_). Followed by any of the above characters and/or numbers. Can be any length. Avoid short abbreviations - your tools will do most of the typing for you! 9

Naming Conventions cont Variables cannot be a Java keyword, or any Java reserved keyword. By convention, begin with a lowercase letter and no separating character between words (also called the title case rule). Each following word starts with a capital letter. myvariablename int registration = 100; short conferenceroomcapacity = 500; float feeperperson = 1199.99f; boolean conferenceiscancelled = false; 10

Java and Case-Sensitivity Java is a case sensitive language. result and Result are different variables. int result = 123; int Result = 123; // don t do this! REMEMBER: Everything in Java is CASE sensitive. 11

Java Program Statements

Java Statements Each Java statement ends with a ;. int count; char indicator; It is permitted to have two or more statements on a single line, but it is not recommended. int x = 0; int y = 1; 13

Block A block is zero or more Java statements Blocks are defined by { { int x = 5; int y = 0; 14

{ Scope Rules A variable is available only within its scope. Scope is the defining block and all contained blocks. { int x = 5; System.out.println(x); System.out.println(x); // error! 15

Scope Rules - Example 2 { int x = 10; { int x = 5; // error! System.out.println(x); System.out.println(x); 16

Find the Defect 1 There is an naming convention mistake in the following program. Can you find it? public class MyClass { public static void main(string args[]) { String Name = "Bob"; System.out.println( name ); 17

Find the Defect 2 There is one syntax error in the following code. Can you find it? public class MyClass { public static void main(string args[]) { System.out.println( Hello there! ); 18

Find the Defect 3 There are two syntax errors in the following code. Can you find them? public class MyClass { public static void main(string args[]) { system.out.println("hello there!") 19

Key Points Java statements must end with a ; Variables must have a type Variables must have a name int count; Java is case sensitive 20

Comments Two ways to comment in Java: Single Line Comment int states = 50; // current number of states Multiple Line Comment /* This code computes the total amount due by the customer including applicable interest, late fees and principal by the next due date */ float amountdue = principal + latefees + interest; 21

Performing Calculations in Java

Arithmetic Operators Operator Description Example + add y = x + 1; - subtract y = x - 1; * multiply y = x * 10; / divide y = x / 5; % modulus returns remainder y = x % 3; 23

Operator Precedence Java s Mathematical Order of Precedence The operator precedence defines what operators take precedence over other operators, and hence get executed first. Expressions contained within parenthesis are evaluated first. The order of precedence for the mathematical operators is from left to right in the following order: Multiplication and Division Addition and Subtraction 24

Operator Precedence Example int x = 2; int y = 10; int z = 3; int r; Example 1: r = x + y * z; // result is 32 Example 2: r = (x + y) * z; // result is 36 Explanation Rule: Parenthesis determine 1 st order of mathematical operations. Example 1: Multiplication first; then addition Example 2: Math proceeds first with the parenthesis then the multiplication takes place. 25

Lab #1 Ask user to state the price of an item to be purchased. Display a bill to the user that shows the original price, the amount of tax to be charged at NJ tax rate, and the total amount the customer will pay. 1. Turn Pseudo-code into Java code 1. What type of variables need to be declared 2. What are the key formulas? 3. What do you have to print out? 2. Create print statement(s) that output: Price: 20 Tax: 1.4 Total: 21.4 26

Branching & Decision-Making If Else

if/else Statements if ( test condition ) { do this when true; else { do this when false; 28

int x; if/else Example System.out.println( Enter a number"); x = input.nextint(); if ( x > 10 ) { System.out.println("x is greater than 10"); else { System.out.println("x is NOT greater than 10"); 29

Nested if/else Statements if ( test condition ) { do this when true; else if (2nd test condition){ do this when true for 2 nd condition; else { do this if both test conditions are false 30

int x; Nested if/else Example System.out.println( Enter a number"); x = input.nextint(); if ( x > 10 ) { System.out.println("x is greater than 10"); else if ( x < 10 ) { System.out.println("x is less than 10"); else { System.out.println("x is equal to 10!"); The else can be combined with if. The last else becomes the default condition. 31

Test Condition Operators Operator Description Example < less than if ( x < y ) > greater than if ( x > y ) >= greater than or if ( x >= y ) equal <= less than or equal if ( x <= y ) == equality (notice there are TWO = signs here) if ( x == y ) = assignment x = y;!= not equal if ( x!= y )! negation not if (!false ) 32

Equality Operator == is very different from =. Rule: == is used to compare two variables. = is used only for assignment. if (a = 0) // compiler error! if (a == 0) // compiler happy! 33

Logical Operators Operator Example Description && ((x==5)&&(y==3)) ((x==5) (y==3)) Conditional statements using && (Logical AND) or (Logical OR) are only evaluated as much as needed to make a DEFINITE decision. These are known as short-circuit operators, and should USUALLY be used in conditional statements. 34

Branching & Decision-Making case / switch statements

switch statement switch statement is used when multiple, discreet options exist System.out.println( Pick a number from 1 to 3 ); int number = input.nextint(); String winner = ; switch (number) { case 1: winner = Big Prize! ; break; case 2: winner = Medium Prize! ; break; case 3: winner = Small Prize! ; break; default: winner = No Prize! ; break; System.out.println( You win: + winner); 36

switch statement General format: Initialize option variable; switch (option variable) { case choice1: do something; break; case choice2 : do something; break; case choice3 : do something; break; and so on default: do default action; break; default is used when there is no match on any other choice 37

Repeating your program steps Looping

for Loops A Java for loop repeats a block of statements a fixed number of times. for (int i = 0; i < 4; i++ ) { System.out.println(i); Output: 0 1 2 3 What is the value of i after the for loop? 39

for Loops General format: for (initialize control variable; specify test condition; increment or decrement control variable ) { do something; As long as the for loop test condition remains true, the loop will continue to run

Increment/Decrement Operators Keyword Description Code Equivalent ++var Pre-Increment ++x; x = x + 1; var++ Post-Increment x++; x = x + 1; --var Pre-Decrement --x; x = x 1; var-- Post-Decrement x--; x = x 1; With the Pre operators the variable is inc/decremented BEFORE it is used. With the Post operators the variable is inc/decremented AFTER it is used. 41

Pre-Post Increment/Decrement Example Initial x Expressio Final y Final x n 3 y=x++ 3 4 3 y=++x 4 4 3 y=x-- 3 2 3 y=--x 2 2 42

while Loops A Java while loop continually executes a block of statements while a condition remains true. A while loop executes zero or more times. int i = 0; while (i < 5) { System.out.println(i++); 43

while Loops General format: initialize control variable to true state; while (specify test condition) { do something; if (end loop test condition) { set control variable to false state; As long as the while loop test condition remains true, the loop will continue to run

break Statement and Loops The break statement immediately ends a loop. What is the output? int i = 0 while(i < 5) { if (i == 2) { break; i++; System.out.println(i); 45

continue Statement and Loops A continue statement allows one to skip the rest of the current loop iteration. What is the output? for (int i = 0; i < 5; i++ ) { if (i == 2) { continue; System.out.println(i); 46

Classes & Methods

Classes & Methods Up until now, we ve been creating simple programs with a single method - main public Class Classname { public static void main (String[] args) { Do something;

Classes & Methods We now want to create classes with specialized methods public Class MyClass { public static void method1 () { Do something; // this method has no inputs and no return value public static float method2 (int varname) { float newvalue = 0; newvalue = Do something with varname; return(newvalue); // this method takes an integer and returns a float

Classes & Methods We want our main program to call those classes and their methods public Class MainClass { public static void main (String[] args) { MyClass.method1(); //no inputs to method1 System.out.println( Enter your selection: ); int i = input.nextint(); int k; k = MyClass.method2(i); //the input to method2 is (i)

Classes & Methods Method that has no input and no return value public Class MyClass { public static void method1 () { do something; // the empty parentheses, (), indicates no input value // The use of void indicates no return value

Classes & Methods Method that has both an input and a return value public Class MyClass { public static returnvaluetype method2 (type inputvariable) { returnvaluetype returnvariable; // declare variable returnvariable = do something with inputvariable; return (returnvariable); /* this method takes inputvariable, manipulates it and sends back returnvariable */

Extra, unused slides

Lab Practice if/else Let s practice using if then/else and loops. We ll test integers from 1 to 10 to determine if the number is even or odd and print it. HINT: We need to us % operator. Output: 1 is odd 2 is even 3 is odd 10 is even 54

Our first program: Hello World print( ), println( ) Use escape character to format output: \n \t class HelloWorld{ static public void main(string[] args){ System.out.print("Hello"); System.out.print(", World"); System.out.print("\nHello\n"); // \n means new line System.out.println("Hello!"); //println prints a line followed by a line break System.out.println(); //this prints an empty line System.out.print("H\te\tl\tl\to"); // \t means tab 55

Lab #1 Edit your HelloWorld program to practice declaring and using Java primitive types. 1. declare an int named age, assign it a value. 2. declare a double named d, assign it a value. 3. declare a boolean named iscrazy, assign it a true value. 4. declare an char named exclaim, assign it a value!. 5. declare a string named name, assign it your name. 6. Create a print statement that outputs: Hello Lori, You are 18 years old! 56

Shorthand Operators in Java Java Shorthand Equivalent Expanded Java x += 2; or x+=2; x = x + 2; x -= 3; or x-=3; x = x - 3; x *= 4; or x*=4; x = x * 4; x /= 5; or x/=5; x = x / 5; x %= 6; or x%=6; x = x % 6; You may code either way, code performance is not affected. 57

Lab Write new class named opertest Declare variables x and y. Set x to 1. Set y = ++x; Print y = ++x is + y. Set x = 1. Set y = x++; Print y = x++ is + y. 58

& AND Example int x = 5; int y = 0; if ((y > 0) & ((x / y) > 6)) x = x + 1; Why is this a problem? 59

Short Circuit AND Example int x = 5; int y = 0; if ((y > 0) && ((x / y) > 6)) x = x + 1; Why does this work better? 60

OR Example boolean cash = true; boolean credit = false; boolean check = true; if (cash credit check) //do something Why is this inefficient? 61

Short Circuit OR Example boolean cash = true; boolean credit = false; boolean check = true; if (cash credit check) //do something Why is this more efficient? 62