Java Classes and Objects
|
|
- Erik Fisher
- 6 years ago
- Views:
Transcription
1
2 Table of contents 1 Introduction Case Study - Stack 2 3 Integer String
3 Case Study - Stack Introduction
4 Case Study - Stack Classes Template for creating objects Definition of State (What it knows) Definition of Behaviour (What it can do)
5 Case Study - Stack Object (Instance) A single realization of a Class Has a State Behaviours can be invoked on it
6 Case Study - Stack Analogies from real life People - John and Mary are Instances of a Human Class Human is an abstract definition just like a Class John and Mary are concrete, they exist Houses - Two houses from the same blueprint can be created The blueprints can define a door and how it should open The door can actually be opened on a specific house
7 Case Study - Stack Case Study - Stack
8 Case Study - Stack Case Study - Stack What is the behaviour we want?
9 Case Study - Stack Case Study - Stack What is the behaviour we want? We want to be able to create a stack object
10 Case Study - Stack Case Study - Stack What is the behaviour we want? We want to be able to create a stack object We want to request the stack to push an element
11 Case Study - Stack Case Study - Stack What is the behaviour we want? We want to be able to create a stack object We want to request the stack to push an element We want to query the stack about its top element
12 Case Study - Stack Case Study - Stack What is the behaviour we want? We want to be able to create a stack object We want to request the stack to push an element We want to query the stack about its top element We want to request the stack to pop an element
13 Case Study - Stack Case Study - Stack What is the behaviour we want? We want to be able to create a stack object We want to request the stack to push an element We want to query the stack about its top element We want to request the stack to pop an element We want to query the stack about its size
14 Case Study - Stack Case Study - Stack What is the behaviour we want? We want to be able to create a stack object We want to request the stack to push an element We want to query the stack about its top element We want to request the stack to pop an element We want to query the stack about its size Implementation constraints We will build a stack that can hold up to X elements We will build a stack of integers
15
16 What should happen when we try to use top/pop on an empty stack?
17 What should happen when we try to use top/pop on an empty stack? What should happen when we try pushing into a full stack?
18 Note What should happen when we try to use top/pop on an empty stack? What should happen when we try pushing into a full stack? We will solve the issues using the tools we know, for now. We will see better ways of dealing with these problems at later stages of the course
19 Data structure What basic data types do we need to represent a stack? Array of elements Integer value to indicate the position of the top in the array Do we need an integer value for the size of the array?
20 Class structure overview 6 class BoundedPositiveIntegerStack { 9 static final int EMPTY_STACK = -1; 14 private int [] elements ; 17 private int numberofelements ; 34 BoundedPositiveIntegerStack () { 44 boolean push ( int element ) { 64 int pop () { 80 int top () { 96 int size () { 109 }
21 Class structure overview - Class definition 6 class BoundedPositiveIntegerStack { 9 static final int EMPTY_STACK = -1; 14 private int [] elements ; 17 private int numberofelements ; 34 BoundedPositiveIntegerStack () { 44 boolean push ( int element ) { 64 int pop () { 80 int top () { 96 int size () { 109 }
22 Class definition 3 /** 4 * A bounded stack of positive integers. 5 */ 6 class BoundedPositiveIntegerStack {... Note This code will be located in a file called BoundedPositiveIntegerStack.java, the name of the file must match the name of the class.
23 Class structure overview - Variables 6 class BoundedPositiveIntegerStack { 9 static final int EMPTY_STACK = -1; 14 private int [] elements ; 17 private int numberofelements ; 34 BoundedPositiveIntegerStack () { 44 boolean push ( int element ) { 64 int pop () { 80 int top () { 96 int size () { 109 }
24 Field / Member variables Just like the definition of a regular variable Only inside the class block instead of a specific method This defines the Possible States of our class 13 // array of elements 14 private int [] elements ; // number of elements in our stack 17 private int numberofelements ;
25 Field variables VS Static variables Member variable Memory allocated per Object Static variable Memory allocated per Class A global variable in a context of a specific class 8 // indication that the stack is empty 9 static final int EMPTY_STACK = -1; Note Static variables should be avoided, mostly used for defining const values in a context of a class
26 Class structure overview - Constructors 6 class BoundedPositiveIntegerStack { 9 static final int EMPTY_STACK = -1; 14 private int [] elements ; 17 private int numberofelements ; 34 BoundedPositiveIntegerStack () { 44 boolean push ( int element ) { 64 int pop () { 80 int top () { 96 int size () { 109 }
27 Constructors A special function that will be called, when object is created Has to be the same name as the class We can define what parameters are needed to create an object Initializes State of Objects 19 /** 20 * constructor with configurable max stack size. 21 * 22 maxsize maximum number of elements in stack. 23 */ 24 BoundedPositiveIntegerStack ( int maxsize ) { 25 // create a new array 26 this. elements = new int [ maxsize ]; 27 // initialize number of elements to 0 ( empty stack ) 28 this. numberofelements = 0; 29 } Note Notice that there is no return value in a constructor definition
28 The keyword this A reference to self, for accessing your own field variables / methods 19 /** 20 * constructor with configurable max stack size. 21 * 22 maxsize maximum number of elements in stack. 23 */ 24 BoundedPositiveIntegerStack ( int maxsize ) { 25 // create a new array 26 this. elements = new int [ maxsize ]; 27 // initialize number of elements to 0 ( empty stack ) 28 this. numberofelements = 0; 29 } Note Using this is not required but it s a good practice to distinguish between local variables and field variables
29 the new statement Creates a new object of the requested class (allocates memory on the Heap) Calls the constructor 14 BoundedPositiveIntegerStack stacka = 15 new BoundedPositiveIntegerStack (1000) ;
30 Memory regions Stack (not to be confused with the Stack we implemented) Holds information about what function your are in now and what functions called it Holds all the basic local variables for each executed function Heap Holds all non basic variables Typically much bigger than the Stack
31 Constructors - continued We can define multiple constructors as long as they have different parameters (Constructor overloading) A constructor without any parameters is called a Default Constructor 10 // the default max size of the stack 11 static final int DEFAULT_NEW_STACK_SIZE = 50; /** 35 * Default constructor 36 */ 37 BoundedPositiveIntegerStack () { 38 // create a new array ( default size ) 39 this. elements = new int [ DEFAULT_NEW_STACK_SIZE ]; 40 // initialize number of elements to 0 ( empty stack ) 41 this. numberofelements = 0; 42 }
32 Constructors - continued 2 Why replicate almost the same code twice? We can call other constructors using this() 10 // the default max size of the stack 11 static final int DEFAULT_NEW_STACK_SIZE = 50; BoundedPositiveIntegerStack ( int maxsize ) { 25 // create a new array 26 this. elements = new int [ maxsize ]; 27 // initialize number of elements to 0 ( empty stack ) 28 this. numberofelements = 0; 29 } /** 32 * constructor with default max stack size. 33 */ 34 BoundedPositiveIntegerStack () { 35 this ( DEFAULT_NEW_STACK_SIZE ); 36 }
33 Using overloaded constructors Calls the correct Constructor based on the passed parameters 13 // create a two instances of the stack class 14 BoundedPositiveIntegerStack stacka = 15 new BoundedPositiveIntegerStack (1000) ; BoundedPositiveIntegerStack stackb = 18 new BoundedPositiveIntegerStack (); Note If two constructors had the same parameters, you wouldn t be able to know which one to call either!
34 Class structure overview - Methods 6 class BoundedPositiveIntegerStack { 9 static final int EMPTY_STACK = -1; 14 private int [] elements ; 17 private int numberofelements ; 34 BoundedPositiveIntegerStack () { 44 boolean push ( int element ) { 64 int pop () { 80 int top () { 96 int size () { 109 }
35 Methods Functions belonging to our class Can be invoked on an Instance of a class Define the Behaviour of the class
36 Methods - size Query the size of the stack: 91 /** 92 * The number of elements currently in the stack. 93 * 94 number of elements. 95 */ 96 int size () { 97 return this. numberofelements ; 98 }
37 Methods - push Request the stack to push an element: 38 /** 39 * push an element into the stack. 40 * 41 element the element to push into the stack. 42 true if element was added to the stack, false otherwise. 43 */ 44 boolean push ( int element ) { 45 // check if we have space to add a new element, 46 // and the element is indeed positive 47 if ( element >= 0 && numberofelements < this. elements. length ) { 48 // add the new element 49 this. elements [this. numberofelements ] = element ; 50 this. numberofelements += 1; 51 // return success of adding the element 52 return true ; 53 } else { 54 // return failure since we have no more space left 55 return false ; 56 } 57 }
38 Methods - top Query the stack about its top element: 8 // indication that the stack is empty 9 static final int EMPTY_STACK = -1; /** 76 * The top element in the stack. 77 * 78 top element, or EMPTY_STACK if nothing is the stack. 79 */ 80 int top () { 81 // check if we have any elements in the stack 82 if (this. numberofelements == 0) { 83 // return an indication that the stack is empty 84 return EMPTY_STACK ; 85 } else { 86 // return the correct element 87 return this. elements [this. numberofelements - 1]; 88 } 89 }
39 Methods - pop Request the stack to pop an element: 59 /** 60 * Pop element from the stack. 61 * 62 top element, or EMPTY_STACK if nothing is the stack. 63 */ 64 int pop () { 65 // get the element on top of the stack 66 int top = top (); 67 // decrement the number of elements, unless the stack is already empty 68 if ( top!= EMPTY_STACK ) { 69 this. numberofelements -= 1; 70 } 71 // return the element 72 return top ; 73 }
40 How to arrange all the pieces? Standard order of all components: 1 Statics 2 Field variables 3 Constructors 4 Methods
41 Using methods calling methods on objects using the. (dot) operator 20 // push 1 to 10 into the stack 21 for ( int i = 1; i <= 10; i += 1) { 22 stacka. push (i); 23 } // push all even numbers between 1 and for ( int i = 1; i <= 5; i += 1) { 27 stackb. push (i * 2); 28 }
42 Accessing static variables Using the. (dot) operator on the name of the class (as it s a per class variable) 33 // push elements in A into B 10 to 1 34 while ( stacka.top ()!= BoundedPositiveIntegerStack. EMPTY_STACK ) { 35 stackb.push ( stacka.pop ()); 36 } Note Can be accessed through a variable but you should never use it, it s confusing!
43 Additional Examples Show Towers Of Hanoi code Show compilation of multiple files in command line
44 Integer String
45 Integer String Integer A Simple object wrapper of a single int value 1 Integer number = new Integer (7) Useful static information 1 Integer. MAX_VALUE 2 Integer. MIN_VALUE Can be null 1 Integer number = null ; Note How can we improve our previous?
46 Integer String Integer - continued int will convert to Integer automatically 1 Integer number = 7; Natural assignment 1 int a = 8; 2 Integer b = a; Unnatural assignment, can you see the problem? 1 Integer a = null ; 2 int b = a;
47 Integer String String Every String is an object 1 String str1 = " Hello World "; 2 String str2 = " Goodbye World "; 3 String str3 = " Goodbye World "; Check how long it is 1 str1. length () // 11 Compare two Strings (why == wont work?) 1 str1. equals (str2 ) // returns false 2 str2. equals (str3 ) // returns true
48 Integer String String - continued Get a specific character inside a String 1 String str = " Boring "; 2 char c = str. charat (2) ; // returns r Check prefix / postix 1 String str = " "; 2 str. startswith ("12"); // returns true 3 str. endswith ("45"); // returns true Change case: 1 String str = " abc "; 2 str. touppercase (); // returns new String "ABC "
49 Integer String String - continued 2 Remove prefix and postfix whitespaces 1 String str = " Hello "; 2 str.trim (); // returns new String " Hello " Search for a sub string 1 String str = " "; 2 str. indexof ("34"); // returns 2 3 str. indexof ("78"); // returns -1 to indicate sub string not found Much more in the JavaDoc String.html
50 Integer String Summary 1 Introduction Case Study - Stack 2 3 Integer String
Exceptions and Design
Exceptions and Exceptions and Table of contents 1 Error Handling Overview Exceptions RuntimeExceptions 2 Exceptions and Overview Exceptions RuntimeExceptions Exceptions Exceptions and Overview Exceptions
More informationStack. 4. In Stack all Operations such as Insertion and Deletion are permitted at only one end. Size of the Stack 6. Maximum Value of Stack Top 5
What is Stack? Stack 1. Stack is LIFO Structure [ Last in First Out ] 2. Stack is Ordered List of Elements of Same Type. 3. Stack is Linear List 4. In Stack all Operations such as Insertion and Deletion
More informationCS 251 Intermediate Programming Methods and Classes
CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationStacks. Chapter 5. Copyright 2012 by Pearson Education, Inc. All rights reserved
Stacks Chapter 5 Copyright 2012 by Pearson Education, Inc. All rights reserved Contents Specifications of the ADT Stack Using a Stack to Process Algebraic Expressions A Problem Solved: Checking for Balanced
More informationAssoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Marenglen Biba (C) 2010 Pearson Education, Inc. All This chapter discusses class String, from the java.lang package. These classes provide the foundation for string and character manipulation
More informationClass API. Class API. Constructors. CS200: Computer Science I. Module 19 More Objects
CS200: Computer Science I Module 19 More Objects Kevin Sahr, PhD Department of Computer Science Southern Oregon University 1 Class API a class API can contain three different types of methods: 1. constructors
More informationAssoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Marenglen Biba (C) 2010 Pearson Education, Inc. All Advanced Java This chapter discusses class String, class StringBuilder and class Character from the java.lang package. These classes provide
More informationC++ (Non for C Programmer) (BT307) 40 Hours
C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular
More informationIndex COPYRIGHTED MATERIAL
Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationObject Oriented Programming
Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented
More informationLesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014
Lesson 10A OOP Fundamentals By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Definition Pointers vs containers Object vs primitives Constructors Methods Object class
More information9 Working with the Java Class Library
9 Working with the Java Class Library 1 Objectives At the end of the lesson, the student should be able to: Explain object-oriented programming and some of its concepts Differentiate between classes and
More informationCOMP 202 Recursion. CONTENTS: Recursion. COMP Recursion 1
COMP 202 Recursion CONTENTS: Recursion COMP 202 - Recursion 1 Recursive Thinking A recursive definition is one which uses the word or concept being defined in the definition itself COMP 202 - Recursion
More informationJava Primer 1: Types, Classes and Operators
Java Primer 1 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Java Primer 1: Types,
More informationCprE 288 Introduction to Embedded Systems Exam 1 Review. 1
CprE 288 Introduction to Embedded Systems Exam 1 Review http://class.ece.iastate.edu/cpre288 1 Overview of Today s Lecture Announcements Exam 1 Review http://class.ece.iastate.edu/cpre288 2 Announcements
More informationObjects and Classes. 1 Creating Classes and Objects. CSCI-UA 101 Objects and Classes
Based on Introduction to Java Programming, Y. Daniel Liang, Brief Version, 10/E 1 Creating Classes and Objects Classes give us a way of defining custom data types and associating data with operations on
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 02: Using Objects MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Using Objects 2 Introduction to Object Oriented Programming Paradigm Objects and References Memory Management
More informationIntroduction to Programming (Java) 4/12
Introduction to Programming (Java) 4/12 Michal Krátký Department of Computer Science Technical University of Ostrava Introduction to Programming (Java) 2008/2009 c 2006 2008 Michal Krátký Introduction
More informationCS201- Introduction to Programming Current Quizzes
CS201- Introduction to Programming Current Quizzes Q.1 char name [] = Hello World ; In the above statement, a memory of characters will be allocated 13 11 12 (Ans) Q.2 A function is a block of statements
More informationObject Oriented Programming
Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented
More informationProgramming in C and C++
Programming in C and C++ 5. C++: Overloading, Namespaces, and Classes Dr. Neel Krishnaswami University of Cambridge (based on notes from and with thanks to Anil Madhavapeddy, Alan Mycroft, Alastair Beresford
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationObject Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.
CMSC 131: Chapter 28 Final Review: What you learned this semester The Big Picture Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. Java
More informationSearching and Strings. IST 256 Application Programming for Information Systems
Searching and Strings IST 256 Application Programming for Information Systems Searching for Strings In an array, we do a simple linear search for an item by going through the array in order from the first
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationLargest Online Community of VU Students
WWW.VUPages.com http://forum.vupages.com WWW.VUTUBE.EDU.PK Largest Online Community of VU Students MIDTERM EXAMINATION SEMESTER FALL 2003 CS301-DATA STRUCTURE Total Marks:86 Duration: 60min Instructions
More informationCommon Misunderstandings from Exam 1 Material
Common Misunderstandings from Exam 1 Material Kyle Dewey Stack and Heap Allocation with Pointers char c = c ; char* p1 = malloc(sizeof(char)); char** p2 = &p1; Where is c allocated? Where is p1 itself
More informationData Structures & Algorithm Analysis. Lecturer: Souad Alonazi
Data Structures & Algorithm Analysis Lec(3) Stacks Lecturer: Souad Alonazi What is a stack? Stores a set of elements in a particular order Stack principle: LAST IN FIRST OUT = LIFO It means: the last element
More informationWeiss Chapter 1 terminology (parenthesized numbers are page numbers)
Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement
More informationCS 211 Programming Practicum Spring 2018
Due: Thursday, 4/5/18 at 11:59 pm Infix Expression Evaluator Programming Project 5 For this lab, write a C++ program that will evaluate an infix expression. The algorithm REQUIRED for this program will
More informationStack ADT. ! push(x) puts the element x on top of the stack! pop removes the topmost element from the stack.
STACK Stack ADT 2 A stack is an abstract data type based on the list data model All operations are performed at one end of the list called the top of the stack (TOS) LIFO (for last-in first-out) list is
More informationAssociate Professor Dr. Raed Ibraheem Hamed
Associate Professor Dr. Raed Ibraheem Hamed University of Human Development, College of Science and Technology Computer Science Department 2015 2016 1 What this Lecture is about: Stack Structure Stack
More information3. Java - Language Constructs I
Educational Objectives 3. Java - Language Constructs I Names and Identifiers, Variables, Assignments, Constants, Datatypes, Operations, Evaluation of Expressions, Type Conversions You know the basic blocks
More informationCSE143 Exam with answers Problem numbering may differ from the test as given. Midterm #2 February 16, 2001
CSE143 Exam with answers Problem numbering may differ from the test as given. All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to
More informationAbstract Data Types. Stack. January 26, 2018 Cinda Heeren / Geoffrey Tien 1
Abstract Data Types Stack January 26, 2018 Cinda Heeren / Geoffrey Tien 1 Abstract data types and data structures An Abstract Data Type (ADT) is: A collection of data Describes what data are stored but
More informationCSC Java Programming, Fall Java Data Types and Control Constructs
CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference
More information1. Stack Implementation Using 1D Array
Lecture 5 Stacks 1 Lecture Content 1. Stack Implementation Using 1D Array 2. Stack Implementation Using Singly Linked List 3. Applications of Stack 3.1 Infix and Postfix Arithmetic Expressions 3.2 Evaluate
More information1. Describe History of C++? 2. What is Dev. C++? 3. Why Use Dev. C++ instead of C++ DOS IDE?
1. Describe History of C++? The C++ programming language has a history going back to 1979, when Bjarne Stroustrup was doing work for his Ph.D. thesis. One of the languages Stroustrup had the opportunity
More informationCS350: Data Structures Stacks
Stacks James Moscola Department of Engineering & Computer Science York College of Pennsylvania James Moscola Stacks Stacks are a very common data structure that can be used for a variety of data storage
More informationCS 211 Programming Practicum Spring 2017
Due: Tuesday, 3/28/17 at 11:59 pm Infix Expression Evaluator Programming Project 5 For this lab, write a JAVA program that will evaluate an infix expression. The algorithm REQUIRED for this program will
More informationData Structure. Recitation IV
Data Structure Recitation IV Topic Java Generics Java error handling Stack Lab 2 Java Generics The following code snippet without generics requires casting: List list = new ArrayList(); list.add("hello");
More informationCS 211 Programming Practicum Fall 2018
Due: Wednesday, 11/7/18 at 11:59 pm Infix Expression Evaluator Programming Project 5 For this lab, write a C++ program that will evaluate an infix expression. The algorithm REQUIRED for this program will
More informationCSC 1600 Memory Layout for Unix Processes"
CSC 16 Memory Layout for Unix Processes" 1 Lecture Goals" Behind the scenes of running a program" Code, executable, and process" Memory layout for UNIX processes, and relationship to C" : code and constant
More informationObjectives. Introduce static keyword examine syntax describe common uses
Static Objectives Introduce static keyword examine syntax describe common uses 2 Static Static represents something which is part of a type rather than part of an object Two uses of static field method
More informationWorking with Strings. Lecture 2. Hartmut Kaiser. hkaiser/spring_2015/csc1254.html
Working with Strings Lecture 2 Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/ hkaiser/spring_2015/csc1254.html Abstract This lecture will look at strings. What are strings? How can we input/output
More informationCS201 Some Important Definitions
CS201 Some Important Definitions For Viva Preparation 1. What is a program? A program is a precise sequence of steps to solve a particular problem. 2. What is a class? We write a C++ program using data
More informationCMSC 341 Lecture 6 Templates, Stacks & Queues. Based on slides by Shawn Lupoli & Katherine Gibson at UMBC
CMSC 341 Lecture 6 Templates, Stacks & Queues Based on slides by Shawn Lupoli & Katherine Gibson at UMBC Today s Topics Data types in C++ Overloading functions Templates How to implement them Possible
More informationComputer Science CS221 Test 2 Name. 1. Give a definition of the following terms, and include a brief example. a) Big Oh
Computer Science CS221 Test 2 Name 1. Give a definition of the following terms, and include a brief example. a) Big Oh b) abstract class c) overriding d) implementing an interface 10/21/1999 Page 1 of
More informationObject Oriented Modeling
Object Oriented Modeling Object oriented modeling is a method that models the characteristics of real or abstract objects from application domain using classes and objects. Objects Software objects are
More informationIntroduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview
Introduction to Visual Basic and Visual C++ Introduction to Java Lesson 13 Overview I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Overview JDK Editions Before you can write and run the simple
More informationFundamental Concepts and Definitions
Fundamental Concepts and Definitions Identifier / Symbol / Name These terms are synonymous: they refer to the name given to a programming component. Classes, variables, functions, and methods are the most
More informationIn Java there are three types of data values:
In Java there are three types of data values: primitive data values (int, double, boolean, etc.) arrays (actually a special type of object) objects An object might represent a string of characters, a planet,
More information7.1 Optional Parameters
Chapter 7: C++ Bells and Whistles A number of C++ features are introduced in this chapter: default parameters, const class members, and operator extensions. 7.1 Optional Parameters Purpose and Rules. Default
More informationObject Oriented Software Design II
Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
More informationdouble d0, d1, d2, d3; double * dp = new double[4]; double da[4];
All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to be syntactically correct, unless something in the question or one of the answers
More information1 P a g e A r y a n C o l l e g e \ B S c _ I T \ C \
BSc IT C Programming (2013-2017) Unit I Q1. What do you understand by type conversion? (2013) Q2. Why we need different data types? (2013) Q3 What is the output of the following (2013) main() Printf( %d,
More informationJava How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.
Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;
More informationCOMP-202. Recursion. COMP Recursion, 2011 Jörg Kienzle and others
COMP-202 Recursion Recursion Recursive Definitions Run-time Stacks Recursive Programming Recursion vs. Iteration Indirect Recursion Lecture Outline 2 Recursive Definitions (1) A recursive definition is
More informationJava Programming Tutorial 1
Java Programming Tutorial 1 Every programming language has two defining characteristics: Syntax Semantics Programming Writing code with good style also provides the following benefits: It improves the
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationDecaf Language Reference Manual
Decaf Language Reference Manual C. R. Ramakrishnan Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794-4400 cram@cs.stonybrook.edu February 12, 2012 Decaf is a small object oriented
More informationOutline. Introduction Stack Operations Stack Implementation Implementation of Push and Pop operations Applications. ADT for stacks
Stack Chapter 4 Outline Introduction Stack Operations Stack Implementation Implementation of Push and Pop operations Applications Recursive Programming Evaluation of Expressions ADT for stacks Introduction
More informationIntro to OOP Visibility/protection levels and constructors Friend, convert constructor, destructor Operator overloading a<=b a.
Intro to OOP - Object and class - The sequence to define and use a class in a program - How/when to use scope resolution operator - How/when to the dot operator - Should be able to write the prototype
More informationCreating an object Instance variables
Introduction to Objects: Semantics and Syntax Defining i an object Creating an object Instance variables Instance methods What is OOP? Object-oriented programming (constructing software using objects)
More informationAbstract Data Types and Data Structures
Unit 6, Part 1 Abstract Data Types and Data Structures Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Congrats on completing the first half! In the second half, we will study fundamental
More informationInstantiation of Template class
Class Templates Templates are like advanced macros. They are useful for building new classes that depend on already existing user defined classes or built-in types. Example: stack of int or stack of double
More informationDS Assignment II. Full Sized Image
DS Assignment II 1. A) For the Towers of Hanoi problem, show the call tree during the recursive call Towers(3, A, C, B). In the tree, label the root node as Towers (3, A, C, B) while marking all the intermediate
More information182 review 1. Course Goals
Course Goals 182 review 1 More experience solving problems w/ algorithms and programs minimize static methods use: main( ) use and overload constructors multiple class designs and programming solutions
More informationChapter 12 - Templates
Chapter 12 - Templates O utline 12.1 Introd uction 12.2 Function Te m plate s 12.3 Ove rload ing Te m plate Functions 12.4 Class Te m p late s 12.5 Class Te m plate s and Non-type Param e te rs 12.6 Te
More informationPROFESSOR: DR.JALILI BY: MAHDI ESHAGHI
PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI 1 2 Overview Distributed OZ Java RMI CORBA IDL IDL VS C++ CORBA VS RMI 3 Distributed OZ Oz Language Multi paradigm language, strong support for compositionality and
More information3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.
3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.
More informationJavaScript. History. Adding JavaScript to a page. CS144: Web Applications
JavaScript Started as a simple script in a Web page that is interpreted and run by the browser Supported by most modern browsers Allows dynamic update of a web page More generally, allows running an arbitrary
More informationPractice exam for CMSC131-04, Fall 2017
Practice exam for CMSC131-04, Fall 2017 Q1 makepalindrome - Relevant topics: arrays, loops Write a method makepalidrome that takes an int array, return a new int array that contains the values from the
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationWelcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 8/19/ Review. Here s a simple C++ program:
Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams
More informationString. Other languages that implement strings as character arrays
1. length() 2. tostring() 3. charat() 4. getchars() 5. getbytes() 6. tochararray() 7. equals() 8. equalsignorecase() 9. regionmatches() 10. startswith() 11. endswith() 12. compareto() 13. indexof() 14.
More informationAP Computer Science Chapter 10 Implementing and Using Classes Study Guide
AP Computer Science Chapter 10 Implementing and Using Classes Study Guide 1. A class that uses a given class X is called a client of X. 2. Private features of a class can be directly accessed only within
More information1d: tests knowing about bitwise fields and union/struct differences.
Question 1 1a: char ptr[] = Hello World ; char a = ptr[1], b = *(ptr+6); Creates an array of 12 elements, 11 visible letters and a character value 0 at the end. i true ii true iii false iv false v true
More informationArrays. Returning arrays Pointers Dynamic arrays Smart pointers Vectors
Arrays Returning arrays Pointers Dynamic arrays Smart pointers Vectors To declare an array specify the type, its name, and its size in []s int arr1[10]; //or int arr2[] = {1,2,3,4,5,6,7,8}; arr2 has 8
More information7 TEMPLATES AND STL. 7.1 Function Templates
7 templates and STL:: Function Templates 7 TEMPLATES AND STL 7.1 Function Templates Support generic programming functions have parameterized types (can have other parameters as well) functions are instantiated
More informationIncrement and the While. Class 15
Increment and the While Class 15 Increment and Decrement Operators Increment and Decrement Increase or decrease a value by one, respectively. the most common operation in all of programming is to increment
More informationBASIC ELEMENTS OF A COMPUTER PROGRAM
BASIC ELEMENTS OF A COMPUTER PROGRAM CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING LOGO Contents 1 Identifier 2 3 Rules for naming and declaring data variables Basic data types 4 Arithmetic operators
More information1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8
Epic Test Review 1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4 Write a line of code that outputs the phase Hello World to the console without creating a new line character. System.out.print(
More informationInternet & World Wide Web How to Program, 5/e by Pearson Education, Inc. All Rights Reserved.
Internet & World Wide Web How to Program, 5/e Sequential execution Execute statements in the order they appear in the code Transfer of control Changing the order in which statements execute All scripts
More informationG52CPP C++ Programming Lecture 13
G52CPP C++ Programming Lecture 13 Dr Jason Atkin http://www.cs.nott.ac.uk/~jaa/cpp/ g52cpp.html 1 Last lecture Function pointers Arrays of function pointers Virtual and non-virtual functions vtable and
More informationWhere does the insert method place the new entry in the array? Assume array indexing starts from 0(zero).
Suppose we have a circular array implementation of the queue,with ten items in the queue stored at data[2] through data[11]. The current capacity of an array is 12. Where does the insert method place the
More informationC++_ MARKS 40 MIN
C++_16.9.2018 40 MARKS 40 MIN https://tinyurl.com/ya62ayzs 1) Declaration of a pointer more than once may cause A. Error B. Abort C. Trap D. Null 2Whice is not a correct variable type in C++? A. float
More informationCMPS 390 Data Structures
CMPS 390 Data Structures Programming Assignment #02 Infix to Postfix 1. Complete two methods in Java program (Postfix.java) to convert an infix expression into a postfix expression and evaluate the postfix
More informationWelcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 1/9/ Review. Here s a simple C++ program:
Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams
More informationMULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR
STUDENT IDENTIFICATION NO MULTIMEDIA COLLEGE JALAN GURNEY KIRI 54100 KUALA LUMPUR FIFTH SEMESTER FINAL EXAMINATION, 2014/2015 SESSION PSD2023 ALGORITHM & DATA STRUCTURE DSEW-E-F-2/13 25 MAY 2015 9.00 AM
More informationOBJECT ORIENTED PROGRAMMING
Classes and Objects So far you have explored the structure of a simple program that starts execution at main() and enables you to declare local and global variables and constants and branch your execution
More informationAn Introduction To Writing Your Own Classes CSC 123 Fall 2018 Howard Rosenthal
An Introduction To Writing Your Own Classes CSC 123 Fall 2018 Howard Rosenthal Lesson Goals Understand Object Oriented Programming The Syntax of Class Definitions Constructors this Object Oriented "Hello
More informationCSE 142 Su 04 Computer Programming 1 - Java. Objects
Objects Objects have state and behavior. State is maintained in instance variables which live as long as the object does. Behavior is implemented in methods, which can be called by other objects to request
More informationMain loop structure. A Technical Support System. The exit condition. Main loop body
Main concepts to be covered More sophisticated behavior Using library classes Reading documentation Using library classes to implement some more advanced functionality 5.0 2 The Java class library Thousands
More informationName: Username: I. 20. Section: II. p p p III. p p p p Total 100. CMSC 202 Section 06 Fall 2015
CMSC 202 Section 06 Fall 2015 Computer Science II Midterm Exam I Name: Username: Score Max Section: (check one) 07 - Sushant Athley, Tuesday 11:30am 08 - Aishwarya Bhide, Thursday 11:30am 09 - Phanindra
More informationDEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING B.E SECOND SEMESTER CS 6202 PROGRAMMING AND DATA STRUCTURES I TWO MARKS UNIT I- 2 MARKS
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING B.E SECOND SEMESTER CS 6202 PROGRAMMING AND DATA STRUCTURES I TWO MARKS UNIT I- 2 MARKS 1. Define global declaration? The variables that are used in more
More information12/22/11. Java How to Program, 9/e. public must be stored in a file that has the same name as the class and ends with the.java file-name extension.
Java How to Program, 9/e Education, Inc. All Rights Reserved. } Covered in this chapter Classes Objects Methods Parameters double primitive type } Create a new class (GradeBook) } Use it to create an object.
More informationSelected Questions from by Nageshwara Rao
Selected Questions from http://way2java.com by Nageshwara Rao Swaminathan J Amrita University swaminathanj@am.amrita.edu November 24, 2016 Swaminathan J (Amrita University) way2java.com (Nageshwara Rao)
More information