Java An Introduction. Outline. Introduction

Size: px
Start display at page:

Download "Java An Introduction. Outline. Introduction"

Transcription

1 Java An Introduction References: Internet Course notes by E.Burris Computing Fundamentals with Java, by Rick Mercer Beginning Java Objects - From Concepts to Codeby Jacquie Barker Object-Oriented Design & Patterns, Cay Horstmann Sun white papers on Java 8/27/ Outline Introduction The Java Virtual Machine Types of Java Programs Java vs C++ Java essential language features 8/27/ Introduction Java is a general-purpose objectoriented programming language. Its syntax is similar to C and C++, but it omits many of the features that make C and C++ complex, confusing and unsafe. 8/27/

2 Introduction Java allows you to write platform independent programs. The Java virtual machine (JVM) enables portability as well as security. Compile-time and runtime checks allow the language to be secure. 8/27/ Java Virtual Machine C++ programs are compiled to produce binary object files. The binary code of these files is specific to the hardware architecture (underlying mach. lang.) Java is an interpreted language. You compile a Java source file (.java) into intermediate byte code (.class file) which is platform independent. The byte codes are interpreted at runtime by the Java Virtual Machine (JVM). 8/27/ Java Virtual Machine It's called a virtual machine because most implementations of the virtual machine will be in software on top of another hardware machine platform. The JVM runs under the OS and the Java program runs under the JVM. 8/27/

3 Java Virtual Machine A Java program can run on any computer that contains the Java Virtual Machine. The byte code format of a program and the JVM allow the language to be small and architecture neutral. 8/27/ Applications Types of Java Programs Stand-alone Java programs. No graphical user interface (GUI) Servlets Platform-independent server-side programs/components Servlets function as CGI programs on the server. Servlets run on the server and interact with clients through a web server. Servlets are real Java classes that get called and may be loaded and cached at the web server. 8/27/ Applets Types of Java Programs Java programs that execute within a browser such as Internet Explorer, Netscape Navigator, and HotJava. (HotJava was the first browser to provide support for executable content.) The applet viewer that comes with the Java Development Kit (JDK) has very few restrictions (the only restriction is you can't delete a file). Applets running in web browsers have many more restrictions (called keeping applet within a sandbox ). 8/27/

4 Java Objects & Methods Java is an object-oriented language Except for simple, native data types, all data in Java are objects All GUI building blocks (windows, buttons, etc) are objects All functions are called methods The main program is a main method that is contained within a class - not stand alone 8/27/ Structure of a Java Program Introductory /** Comments FirstProgram.java A trivial program to illustrate Java programming elements. */ Class wrapper public class FirstProgram{ Main method signature public static void main(string[] args) { System.out.println( Hello World! ); 8/27/ Java vs C++ 8/27/

5 Java vs C++ Java's syntax and semantics are like those of C++ Java doesn't have any implementation-dependent behaviors. All primitive types are guaranteed to be a specific size. For example, in C++ an int may be 16-bits or 32-bits. In Java an int is always 32-bits. C++ allows stand-alone or global functions. In Java all functions must be the member of some class. Static member functions don't require the instance of a class to execute. 8/27/ Java vs C++ In C++ you have to declare a function (provide a prototype) before you can use it. Java doesn't have this requirement because the compiler makes multiple passes. In C++ objects can be created at compile time or at run time. In Java all objects are allocated dynamically from the heap(i.e. at run time). In Java there is no way to directly manipulate memory locations by address. No pointer arithmetic with arrays 8/27/ Pointers vs Object References Java always uses pointers.they re called references An object variable is a reference to an object -- a value that describes the location of the object. Java C++ C++ Bank b; Bank *b; (dynamic) Bank b; (static) b = new Bank(); b = new Bank(); In Java, only the dot operator is used for dereference (no arrows or *s). Java C++ C++ b.setbalance(100); b->setbalance(100); (*b).setbalance(100); b.setbalance(100); 8/27/

6 Object References Multiple variables can store references to the same object. For example, after the following statements: Bank b = new Bank(); Bank anotherbank = b; both object variables refer to the same object 8/27/ Java References Pointers in Java are safe You cannot create invalid pointers The garbage collector automatically reclaims unused objects -- you can't have a memory leak. 8/27/ Implicit Parameter this this refers to the object on which the method was invoked. Assume class Bank has the method public void setname (String name) { this.name = name; then bank.setname( First National ) sets the name field of the Bank object to the value of the explicit parameter which is also called name. Use of this resolves ambiguity between the name field and name parameter 8/27/

7 Another example using this public class Bank { /** sets another bank s name to this bank s other a reference to the other Bank */ public void copynameto(bank other) other.name = this.name; Bank b1 = new Bank( National Bank ); Bank b2 = new Bank( Commerce ); b1.copynameto(b2); A method can never update the contents of a variable that is passed as a parameter other.name is changed; after return, b2.name is changed Contents of b2 is same object reference 8/27/2003 before and after the call 19 Java super Method In Java the keyword super refers to the superclass or parent class of a class. super is a reference you can use to call a method in the parent class. public void paintcomponent(graphics g) { super.paintcomponent(g); 8/27/ Java super Method The reference super is also used to call a specific constructor in a parent class. This Class s Constructor public class TypeSafeVector extends Vector { TypeSafeVector(int size, Object elementtype) {... super(size); Vector class constructor 8/27/

8 Java vs C++ In C++ the integer 0 can be exchanged for the bool value false and any non-zero integer can be exchanged for the value true. In Java you can't interchange integer and boolean values. In Java both primitive types and reference types are passed by value. There is no pass by reference (&). 8/27/ Java vs C++ Java objects don't have destructors. Java doesn't have a pre -processor. Java has no typedefs, #defines or structs There is no goto statement in Java. (goto is a reserved word, but it isn't used.) But you can add a label to a loop and use that label as an argument on a break or continue statement. 8/27/ Java vs C++ Java has no enum types. To get the same functionality as an enum, you can declare a class. For example: public class Rainbow{ private Rainbow(String name) {this.name=name; public static final Rainbow YELLOW = new Rainbow( YELLOW ); public static final Rainbow BLUE = new Rainbow( BLUE ); public static final Rainbow RED = new Rainbow( RED ); public static final Rainbow GREEN = new Rainbow( GREEN ); public static final Rainbow PURPLE = new Rainbow( PURPLE ); To refer to the BLUE constant, use the notation Rainbow color = Rainbow.BLUE; Static fields belong to the class, not the objects 8/27/

9 Java vs C++ Java has no arithmetic operator overloading. Effects of operator overloading can be achieved by declaring a class, appropriate instance variables, and appropriate methods to manipulate those variables. 8/27/ Java vs C++ : Exceptions Exception handling is optional in C++; it is mandatory in Java. If you do something that causes ( throws ) an exception, then the program must handle ( catch ) it. 8/27/ Exception Handling The exception handling mechanism in Java also might be considered a form of control flow. When an exception occurs, the runtime system takes control and looks up the call stack for an exception handler. If it finds one, it transfers control to the exception handler. If it doesn't find one, the default behavior is to terminate the program. 8/27/

10 Java vs C++ No multiple inheritance. Java uses interfaces to implement multiple inheritance. An interface is a definition of a set of methods that one or more classes will implement. An important issue of interfaces is that they declare only methods and constants. Variables may not be defined in interfaces. (Sun) 8/27/ Java Language Features 8/27/ Data Types Two categories of data types in Java: 1. primitive 2. reference A primitive data type represents a single value of a certain type and size recognizable by the compiler. For example, int i = 5; defines a 4-byte storage area that will hold integer values in the two's complement data format. A reference data type represents a reference to an instance of a class. 8/27/

11 Data Types There are 8 primitive data types in Java: Integers Data type Length Format byte 1 byte Two's Complement short 2 bytes Two's Complement int 4 bytes Two's Complement long 8 bytes Two's Complement 8/27/ Data Types Floating Point Data type Length Format float 4 bytes IEEE 754 double 8 bytes IEEE 754 Other Data type Length Format char 2 bytes Unicode boolean N/A true/false Note: no unsigned int type 8/27/ public class test { Data Types - Example public static void main(string[] args) { // Integer types byte b; // 1 byte short s; // 2 bytes int i; // 4 bytes long l; // 8 bytes // Floating point types follow IEEE 754 format float f; // 4 bytes (6-7) significant decimal digits double d; // 8 bytes (15) significant decimal digits 8/27/

12 Data Types - Example // Character type // Characters are represented in Unicode char c; // 2 byte Unicode // Boolean -- note, this is different from C++(bool) boolean bl; // can be true or false i = 1; s = 2; l = 3L; b = 128; // Why is this an error? 8/27/ Data Types - Example f = 1.2; // Why is this an error? (see next slide) f = 1.3F; d = 1.4; // Why is this NOT an error? c = 'c'; // How is this different from c = "c"; c = '\u2122'; // \u2122 is the tm symbol bl = true; 8/27/ Data Types Decimal constants (such as 1.2) are by default of type double. You can't directly assign or convert a double to a float because there might be a loss of data.. You specify a decimal constant of type float by following the value with an F. For example: 1.2F. boolean and int are not interchangeable in Java 8/27/

13 Unicode The Unicode Standard is a universal character encoding standard used for the representation and processing of text. Unicode provides a unique number for every character, for any platform, for any program, for any language Unicode is a 16-bit encoding standard with enough room to represent the characters and symbols included in most of the languages of the world. For more information about Unicode check out the Unicode web site at 8/27/ Variables A variable is an instance of a primitive or reference type. In the diagram, i is primitive. References act like pointers. Java doesn't call them pointers, though, because references don't support all of the features associated with pointers as they are used in other languages such as C++ (e.g. pointer arithmetic). 8/27/ Variables Variable names are represented in Unicode. Local variables must have a value before they are used. The length of a variable name is essentially unlimited. Variable names are formed with lower/uppercase letters and optional _ 8/27/

14 Initializing Variables By convention, the following values are used to initialize variables of built-in types: boolean answer = false; //note spelling int i=0; double rate = 0.0; char ch = ; //blank space String name = null; 8/27/ Naming conventions Variable names are lowercase if one word. If compound words, the first letter of second (third ) word is capitalized. item productnumber nameofthiscustomer 8/27/ Constants The key word final denotes a constant: final int MAX_VALUE = 3; You can assign a value to a final variable only once. You don't have to assign a value in the definition, but it's good programming style. Final variables are all capitals. 8/27/

15 Operators Operators are defined and behave like the operators in C++ Relational (<, >, ) Arithmetic Conditional (and, or, ) Assignment Shift (>>, <<) Bitwise 8/27/ Other Operators Shortcut if-then-else (? : ) If the expression before the '?' is true, the expression before the ':' is returned; otherwise the expression after the ': is returned. "You " + (score > 70? "passed" : "failed") + " the test" Array declaration/access ([ ]) new (create new object or array) String [] names = new String[3]; 8/27/ Dot operator (.) Other Operators The only operator used to access the methods or member data of an object. instanceof Tests whether a reference is of a particular type or is to a class that implements a particular interface Object obj = e.nextelement(); if (obj instanceofshape) { Shape s = (Shape) obj; 8/27/

16 Other Operators cast operator (type). Converts from one type to another. The example here casts a reference to an Object to a reference to a Shape. Shape s = (Shape) e.nextelement(); Precedence chart - use of parentheses overrides All operations (except assignment) of equal precedence are performed left to right. The assignment operator is evaluated right to left. 8/27/ Type Conversions Automatic type conversions are done only if no precision will be lost in the conversion (C++ will convert and truncate if necessary) int x; double y = 3.5; x = y; //in Java, will be an error Explicit type conversion can be done with a cast to override this decision: x = (int) y; //cast the double to an int 8/27/ Blocks Statements within {'s form a block. A block can be used anywhere a statement can be used. Blocks define the scope of variables. The variables defined within a block are not known outside of the block they are defined in 8/27/

17 Blocks public class test { public static void main(string[] args) { if (args.length > 1) { int x = 0; // x is only known within this block else {... 8/27/ Control Conditional, loops and branching are defined and behave as in C++ Note, that although i isn't physically declared within the block of statements that make up the for loop below, it's scope is the for loop expression and block of statements. This allows you to reuse for-loop index variables. For example: for(int i=0;i<5;i++){ for(int i=0;i<20;i++){ 8/27/ Branching There is no goto statement in Java, but Java does include the break, continue, and return statements. These statements provide a more structured way of branching. The break statement transfers control to the end of the immediate loop or switch statement which contains it. 8/27/

18 Break statement If there are nested loops, the break statement breaks out of the most closely nested loop, not the most closely nested block. A non-labeled break statement must appear within a loop or switch statement. A labeled break may appear within any block. 8/27/ Other Language Features 8/27/ String class Strings are Java programming language objects The reserved word begins with capital S since it is a class name A length() accessor method is provided to obtain the number of characters in the string. The + operator indicates string concatenation. 8/27/

19 String class There are actually two kinds of string objects: 1. The String class is for read-only (immutable) objects. 2. The StringBuffer class is for string objects you wish to modify (mutable string objects). Can create a string in two ways: String stra = stringa ; //preferred method String stra = new String( stringa ); 8/27/ ArrayList Class Class in java.utilthat lets you collect a sequence of objects of any type add method inserts new objects are at the end of the array list ArrayList namelist = new ArrayList(); namelist.add( Hong ); namelist.add( Juan ); namelist.add( Gracie ); Hong Juan Gracie /27/ ArrayList Methods size : returns number elements in array list get : returns element at i th position as anobject for (int i=0; i<namelist.size(); i++) { String name = (String) namelist.get(i); set : lets you overwrite an existing element namelist.set(2, George ); If a nonexistent position is accessed, an IndexOutOfBounds Exception is thrown Must cast returned object 8/27/

20 ArrayList Methods remove : takes out an element from middle of array list namelist.remove(1); add(i,object) : adds element in middle of array list namelist.add(1, Olivia ); These operations are not efficient, since they require that remaining elements be moved up or down Hong Olivia Juan Gracie /27/ LinkedList class A linked list supports insertion and removal of objects efficiently from any location LinkedList class implements the linked list data structure LinkedList namelist = new LinkedList(); add method inserts elements at end of linked list 8/27/ LinkedList class Accessing elements in the middle of the list is done with an iterator Iteratorobjects can access a position anywhere in the list ListIterator iterator = namelist.listiterator(); next() advances iterator to next position of the list and returns element the iterator just passed hasnext() tests if iterator has already passed the last element in the list 8/27/

21 LinkedList class while (iterator.hasnext()) { String name = (String) iterator.next(); To traverse the list again, after reaching the end of the list, define another iterator 8/27/ LinkedList class Adding an element in the middle of the list iterate past insert location and call add: iterator = namelist.listiterator(); iterator.next(); iterator.add( Dolly ); Removing an element from the list call next until you jump over element you want to remove (e.g. third) : iterator = namelist.listiterator(); iterator.next(); iterator.next(); iterator.next(); iterator.remove(); 8/27/ Arrays Can hold primitive types Arrays are first-class objects ; that is, they have an internal runtime representation in memory. Unlike in C++, an exception is generated if the index is outside the bounds of the array Elements are initialized to zero, false or null 8/27/

22 Arrays Ways to declare arrays: int[ ] test = new int[100]; double number [ ] = new double[40000]; // C++ way String[ ] name = new String[15]; BankAccount[ ] customer = new BankAccount[100]; public static void main(string [ ]argv); public static void main(string argv[ ]); 8/27/ Arrays Arrays can also be initialized without using new int numbers = {2,4,6,8,10; The length variable returns the capacity of an array. System.out.println(numbers.length); //returns 5 If size is exceeded, you must construct a new array and move elements from old array to new one 8/27/ Arrays Arrays are passed as parameters like they are in C++ public static void main (String[ ] args) args is an array that holds input strings typed at the keyboard when a program is launched from the command line. For example: java ComputeResults in.data 8/27/

23 Vector class Allows you to store items without having to worry about sizing the container To use, must import java.util.* or java.util.vector Instantiating the Vector class: Vector coursestaken = new Vector(); Adding courses to the vector: Course c1 = new Course ( CS101 ); Course c2 = new Course ( CS191 ); coursestaken.add(c1); coursestaken.add(c1); How many have been added: int courses = coursestaken.size(); 8/27/ Vectors and Casting Vectors hold Object references Object class (in the java.lang package) is the parent class to all other classes. It is the root of the entire Java inheritance hierarchy. When a vector is accessed, it returns a generic Object reference. The programmer must cast the result to the appropriate type of data(i.e. class) that is stored in the vector. 8/27/ Vectors and Casting Assume that we have added 5 Course objects to the vector coursestaken. To retrieve those courses, we can use a for-loop: for (int i=0; i<coursestaken.size(); i++) { Course c = (Course) coursestaken.elementat(i); System.out.println(c.getName()); 8/27/

24 Some(not all) Vector Methods add(object): adds object reference to end of vector add(int, Object) : adds object reference to position in vector indicated by integer argument set(int,object ) : replaces nth object reference with specified object reference elementat(int) : retrieves nth object reference as type Object (requires cast) removeelementat(int) : takes out nth reference 8/27/ Some(not all) Vector Methods remove(object) :removes first occurrence of Object reference indexof(object ) : returns an integer indicating the first position of the object reference in the vector,if found contains(object) : returns true if object reference found in the vector; false otherwise isempty() : returns true if vector is empty; false otherwise clear() : empties the vector 8/27/

Java Language Features

Java Language Features Java Language Features References: Object-Oriented Development Using Java, Xiaoping Jia Internet Course notes by E.Burris Computing Fundamentals with Java, by Rick Mercer Beginning Java Objects - From

More information

Introduction to Programming Using Java (98-388)

Introduction 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 information

1 Shyam sir JAVA Notes

1 Shyam sir JAVA Notes 1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write

More information

Introduction 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. 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 information

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring

More information

15CS45 : OBJECT ORIENTED CONCEPTS

15CS45 : OBJECT ORIENTED CONCEPTS 15CS45 : OBJECT ORIENTED CONCEPTS QUESTION BANK: What do you know about Java? What are the supported platforms by Java Programming Language? List any five features of Java? Why is Java Architectural Neutral?

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss 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 information

Index COPYRIGHTED MATERIAL

Index 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 information

Pace University. Fundamental Concepts of CS121 1

Pace University. Fundamental Concepts of CS121 1 Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

More information

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

Object oriented programming. Instructor: Masoud Asghari Web page:   Ch: 3 Object oriented programming Instructor: Masoud Asghari Web page: http://www.masses.ir/lectures/oops2017sut Ch: 3 1 In this slide We follow: https://docs.oracle.com/javase/tutorial/index.html Trail: Learning

More information

CS260 Intro to Java & Android 03.Java Language Basics

CS260 Intro to Java & Android 03.Java Language Basics 03.Java Language Basics http://www.tutorialspoint.com/java/index.htm CS260 - Intro to Java & Android 1 What is the distinction between fields and variables? Java has the following kinds of variables: Instance

More information

Short Notes of CS201

Short 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 information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

CS201 - Introduction to Programming Glossary By

CS201 - 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 information

Brief Summary of Java

Brief Summary of Java Brief Summary of Java Java programs are compiled into an intermediate format, known as bytecode, and then run through an interpreter that executes in a Java Virtual Machine (JVM). The basic syntax of Java

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 2

CS321 Languages and Compiler Design I. Winter 2012 Lecture 2 CS321 Languages and Compiler Design I Winter 2012 Lecture 2 1 A (RE-)INTRODUCTION TO JAVA FOR C++/C PROGRAMMERS Why Java? Developed by Sun Microsystems (now Oracle) beginning in 1995. Conceived as a better,

More information

Java Primer 1: Types, Classes and Operators

Java 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 information

CS 231 Data Structures and Algorithms, Fall 2016

CS 231 Data Structures and Algorithms, Fall 2016 CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard

More information

Programming. Syntax and Semantics

Programming. Syntax and Semantics Programming For the next ten weeks you will learn basic programming principles There is much more to programming than knowing a programming language When programming you need to use a tool, in this case

More information

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types

More information

Computer Components. Software{ User Programs. Operating System. Hardware

Computer Components. Software{ User Programs. Operating System. Hardware Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point

More information

Operators and Expressions

Operators and Expressions Operators and Expressions Conversions. Widening and Narrowing Primitive Conversions Widening and Narrowing Reference Conversions Conversions up the type hierarchy are called widening reference conversions

More information

3. Java - Language Constructs I

3. 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 information

Program Fundamentals

Program Fundamentals Program Fundamentals /* HelloWorld.java * The classic Hello, world! program */ class HelloWorld { public static void main (String[ ] args) { System.out.println( Hello, world! ); } } /* HelloWorld.java

More information

Java Intro 3. Java Intro 3. Class Libraries and the Java API. Outline

Java Intro 3. Java Intro 3. Class Libraries and the Java API. Outline Java Intro 3 9/7/2007 1 Java Intro 3 Outline Java API Packages Access Rules, Class Visibility Strings as Objects Wrapper classes Static Attributes & Methods Hello World details 9/7/2007 2 Class Libraries

More information

STRUCTURING OF PROGRAM

STRUCTURING OF PROGRAM Unit III MULTIPLE CHOICE QUESTIONS 1. Which of the following is the functionality of Data Abstraction? (a) Reduce Complexity (c) Parallelism Unit III 3.1 (b) Binds together code and data (d) None of the

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management

More information

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types and

More information

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program

More information

1 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

1 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 information

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

CS5000: Foundations of Programming. Mingon Kang, PhD Computer Science, Kennesaw State University CS5000: Foundations of Programming Mingon Kang, PhD Computer Science, Kennesaw State University Overview of Source Code Components Comments Library declaration Classes Functions Variables Comments Can

More information

Data Structures (list, dictionary, tuples, sets, strings)

Data Structures (list, dictionary, tuples, sets, strings) Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in brackets: l = [1, 2, "a"] (access by index, is mutable sequence) Tuples are enclosed in parentheses: t = (1, 2, "a") (access

More information

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,

More information

Modern Programming Languages. Lecture Java Programming Language. An Introduction

Modern Programming Languages. Lecture Java Programming Language. An Introduction Modern Programming Languages Lecture 27-30 Java Programming Language An Introduction 107 Java was developed at Sun in the early 1990s and is based on C++. It looks very similar to C++ but it is significantly

More information

Selected Java Topics

Selected Java Topics Selected Java Topics Introduction Basic Types, Objects and Pointers Modifiers Abstract Classes and Interfaces Exceptions and Runtime Exceptions Static Variables and Static Methods Type Safe Constants Swings

More information

DOWNLOAD PDF CORE JAVA APTITUDE QUESTIONS AND ANSWERS

DOWNLOAD PDF CORE JAVA APTITUDE QUESTIONS AND ANSWERS Chapter 1 : Chapter-wise Java Multiple Choice Questions and Answers Interview MCQs Java Programming questions and answers with explanation for interview, competitive examination and entrance test. Fully

More information

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries 1 CONTENTS 1. Introduction to Java 2. Holding Data 3. Controllin g the f l o w 4. Object Oriented Programming Concepts 5. Inheritance & Packaging 6. Handling Error/Exceptions 7. Handling Strings 8. Threads

More information

Core JAVA Training Syllabus FEE: RS. 8000/-

Core JAVA Training Syllabus FEE: RS. 8000/- About JAVA Java is a high-level programming language, developed by James Gosling at Sun Microsystems as a core component of the Java platform. Java follows the "write once, run anywhere" concept, as it

More information

NOOTAN PADIA ASSIST. PROF. MEFGI, RAJKOT.

NOOTAN PADIA ASSIST. PROF. MEFGI, RAJKOT. NOOTAN PADIA ASSIST. PROF. MEFGI, RAJKOT. Object and Classes Data Abstraction and Encapsulation Inheritance Polymorphism Dynamic Binding Message Communication Objects are the basic runtime entities in

More information

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

Object 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 information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC 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 information

Chapter 1 Getting Started

Chapter 1 Getting Started Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different

More information

Introduction to C# Applications

Introduction to C# Applications 1 2 3 Introduction to C# Applications OBJECTIVES To write simple C# applications To write statements that input and output data to the screen. To declare and use data of various types. To write decision-making

More information

2 rd class Department of Programming. OOP with Java Programming

2 rd class Department of Programming. OOP with Java Programming 1. Structured Programming and Object-Oriented Programming During the 1970s and into the 80s, the primary software engineering methodology was structured programming. The structured programming approach

More information

Java Overview An introduction to the Java Programming Language

Java Overview An introduction to the Java Programming Language Java Overview An introduction to the Java Programming Language Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhan Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/

More information

Computer Components. Software{ User Programs. Operating System. Hardware

Computer Components. Software{ User Programs. Operating System. Hardware Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point

More information

A Fast Review of C Essentials Part I

A Fast Review of C Essentials Part I A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types

More information

Chapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

Chapter 1 INTRODUCTION SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. hapter 1 INTRODUTION SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: Java features. Java and its associated components. Features of a Java application and applet. Java data types. Java

More information

Question No: 1 ( Marks: 1 ) - Please choose one One difference LISP and PROLOG is. AI Puzzle Game All f the given

Question No: 1 ( Marks: 1 ) - Please choose one One difference LISP and PROLOG is. AI Puzzle Game All f the given MUHAMMAD FAISAL MIT 4 th Semester Al-Barq Campus (VGJW01) Gujranwala faisalgrw123@gmail.com MEGA File Solved MCQ s For Final TERM EXAMS CS508- Modern Programming Languages Question No: 1 ( Marks: 1 ) -

More information

Character Stream : It provides a convenient means for handling input and output of characters.

Character Stream : It provides a convenient means for handling input and output of characters. Be Perfect, Do Perfect, Live Perfect 1 1. What is the meaning of public static void main(string args[])? public keyword is an access modifier which represents visibility, it means it is visible to all.

More information

Tokens, Expressions and Control Structures

Tokens, Expressions and Control Structures 3 Tokens, Expressions and Control Structures Tokens Keywords Identifiers Data types User-defined types Derived types Symbolic constants Declaration of variables Initialization Reference variables Type

More information

Full file at

Full 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 information

Answer1. Features of Java

Answer1. Features of Java Govt Engineering College Ajmer, Rajasthan Mid Term I (2017-18) Subject: PJ Class: 6 th Sem(IT) M.M:10 Time: 1 hr Q1) Explain the features of java and how java is different from C++. [2] Q2) Explain operators

More information

Class, Variable, Constructor, Object, Method Questions

Class, Variable, Constructor, Object, Method Questions Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus PESIT Bangalore South Campus 15CS45 : OBJECT ORIENTED CONCEPTS Faculty : Prof. Sajeevan K, Prof. Hanumanth Pujar Course Description: No of Sessions: 56 This course introduces computer programming using

More information

From C++ to Java. Duke CPS

From C++ to Java. Duke CPS From C++ to Java Java history: Oak, toaster-ovens, internet language, panacea What it is O-O language, not a hybrid (cf. C++) compiled to byte-code, executed on JVM byte-code is highly-portable, write

More information

Motivation was to facilitate development of systems software, especially OS development.

Motivation was to facilitate development of systems software, especially OS development. A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.

More information

Java 1.8 Programming

Java 1.8 Programming One Introduction to Java 2 Usage of Java 3 Structure of Java 4 Flexibility of Java Programming 5 Two Running Java in Dos 6 Using the DOS Window 7 DOS Operating System Commands 8 Compiling and Executing

More information

Implementing a List in Java. CSE 143 Java. Just an Illusion? List Interface (review) Using an Array to Implement a List.

Implementing a List in Java. CSE 143 Java. Just an Illusion? List Interface (review) Using an Array to Implement a List. Implementing a List in Java CSE 143 Java List Implementation Using Arrays Reading: Ch. 13 Two implementation approaches are most commonly used for simple lists: Arrays Linked list Java Interface List concrete

More information

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept F1 A Java program Ch 1 in PPIJ Introduction to the course The computer and its workings The algorithm concept The structure of a Java program Classes and methods Variables Program statements Comments Naming

More information

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017 Overview of OOP Dr. Zhang COSC 1436 Summer, 2017 7/18/2017 Review Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in square brackets: l = [1, 2, "a"] (access by index, is mutable

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

Introduction to Java https://tinyurl.com/y7bvpa9z

Introduction to Java https://tinyurl.com/y7bvpa9z Introduction to Java https://tinyurl.com/y7bvpa9z Eric Newhall - Laurence Meyers Team 2849 Alumni Java Object-Oriented Compiled Garbage-Collected WORA - Write Once, Run Anywhere IDE Integrated Development

More information

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class.

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class. 1. What is C#? C# (pronounced "C sharp") is a simple, modern, object oriented, and type safe programming language. It will immediately be familiar to C and C++ programmers. C# combines the high productivity

More information

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

Introduction To Java. Chapter 1. Origins of the Java Language. Origins of the Java Language. Objects and Methods. Origins of the Java Language Chapter 1 Getting Started Introduction To Java Most people are familiar with Java as a language for Internet applications We will study Java as a general purpose programming language The syntax of expressions

More information

Atelier Java - J1. Marwan Burelle. EPITA Première Année Cycle Ingénieur.

Atelier Java - J1. Marwan Burelle.  EPITA Première Année Cycle Ingénieur. marwan.burelle@lse.epita.fr http://wiki-prog.kh405.net Plan 1 2 Plan 3 4 Plan 1 2 3 4 A Bit of History JAVA was created in 1991 by James Gosling of SUN. The first public implementation (v1.0) in 1995.

More information

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations , 1 C#.Net VT 2009 Course Contents C# 6 hp approx. BizTalk 1,5 hp approx. No exam, but laborations Course contents Architecture Visual Studio Syntax Classes Forms Class Libraries Inheritance Other C# essentials

More information

Language Features. 1. The primitive types int, double, and boolean are part of the AP

Language Features. 1. The primitive types int, double, and boolean are part of the AP Language Features 1. The primitive types int, double, and boolean are part of the AP short, long, byte, char, and float are not in the subset. In particular, students need not be aware that strings are

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

Java: framework overview and in-the-small features

Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer

More information

Java Programming Training for Experienced Programmers (5 Days)

Java Programming Training for Experienced Programmers (5 Days) www.peaklearningllc.com Java Programming Training for Experienced Programmers (5 Days) This Java training course is intended for students with experience in a procedural or objectoriented language. It

More information

Motivation was to facilitate development of systems software, especially OS development.

Motivation was to facilitate development of systems software, especially OS development. A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.

More information

Special Topics: Programming Languages

Special Topics: Programming Languages Lecture #23 0 V22.0490.001 Special Topics: Programming Languages B. Mishra New York University. Lecture # 23 Lecture #23 1 Slide 1 Java: History Spring 1990 April 1991: Naughton, Gosling and Sheridan (

More information

CS 330 Lecture 18. Symbol table. C scope rules. Declarations. Chapter 5 Louden Outline

CS 330 Lecture 18. Symbol table. C scope rules. Declarations. Chapter 5 Louden Outline CS 0 Lecture 8 Chapter 5 Louden Outline The symbol table Static scoping vs dynamic scoping Symbol table Dictionary associates names to attributes In general: hash tables, tree and lists (assignment ) can

More information

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

B2.52-R3: INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING THROUGH JAVA

B2.52-R3: INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING THROUGH JAVA B2.52-R3: INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING THROUGH JAVA NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE

More information

5/23/2015. Core Java Syllabus. VikRam ShaRma

5/23/2015. Core Java Syllabus. VikRam ShaRma 5/23/2015 Core Java Syllabus VikRam ShaRma Basic Concepts of Core Java 1 Introduction to Java 1.1 Need of java i.e. History 1.2 What is java? 1.3 Java Buzzwords 1.4 JDK JRE JVM JIT - Java Compiler 1.5

More information

Values and Variables 1 / 30

Values and Variables 1 / 30 Values and Variables 1 / 30 Values 2 / 30 Computing Computing is any purposeful activity that marries the representation of some dynamic domain with the representation of some dynamic machine that provides

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java 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 information

CPSC 3740 Programming Languages University of Lethbridge. Data Types

CPSC 3740 Programming Languages University of Lethbridge. Data Types Data Types A data type defines a collection of data values and a set of predefined operations on those values Some languages allow user to define additional types Useful for error detection through type

More information

Computer Science II (20073) Week 1: Review and Inheritance

Computer Science II (20073) Week 1: Review and Inheritance Computer Science II 4003-232-01 (20073) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Hardware and Software Hardware Physical devices in a computer system

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

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

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines

More information

A brief introduction to C programming for Java programmers

A brief introduction to C programming for Java programmers A brief introduction to C programming for Java programmers Sven Gestegård Robertz September 2017 There are many similarities between Java and C. The syntax in Java is basically

More information

PROGRAMMING FUNDAMENTALS

PROGRAMMING FUNDAMENTALS PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write

More information

CS-202 Introduction to Object Oriented Programming

CS-202 Introduction to Object Oriented Programming CS-202 Introduction to Object Oriented Programming California State University, Los Angeles Computer Science Department Lecture III Inheritance and Polymorphism Introduction to Inheritance Introduction

More information

CS2141 Software Development using C/C++ C++ Basics

CS2141 Software Development using C/C++ C++ Basics CS2141 Software Development using C/C++ C++ Basics Integers Basic Types Can be short, long, or just plain int C++ does not define the size of them other than short

More information

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1 CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines

More information

An overview of Java, Data types and variables

An overview of Java, Data types and variables An overview of Java, Data types and variables Lecture 2 from (UNIT IV) Prepared by Mrs. K.M. Sanghavi 1 2 Hello World // HelloWorld.java: Hello World program import java.lang.*; class HelloWorld { public

More information

Absolute C++ Walter Savitch

Absolute C++ Walter Savitch Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents

More information

Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal

Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types

More information

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

The Sun s Java Certification and its Possible Role in the Joint Teaching Material The Sun s Java Certification and its Possible Role in the Joint Teaching Material Nataša Ibrajter Faculty of Science Department of Mathematics and Informatics Novi Sad 1 Contents Kinds of Sun Certified

More information

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

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

More information

CSC 1214: Object-Oriented Programming

CSC 1214: Object-Oriented Programming CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:

More information

C#: framework overview and in-the-small features

C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer

More information

Course Outline. Introduction to java

Course Outline. Introduction to java Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.

More information

The Java Collections Framework and Lists in Java Parts 1 & 2

The Java Collections Framework and Lists in Java Parts 1 & 2 The Java Collections Framework and Lists in Java Parts 1 & 2 Chapter 9 Chapter 6 (6.1-6.2.2) CS 2334 University of Oklahoma Brian F. Veale Groups of Data Data are very important to Software Engineering

More information

Programming Language Concepts: Lecture 2

Programming Language Concepts: Lecture 2 Programming Language Concepts: Lecture 2 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2011 PLC 2011, Lecture 2, 6 January 2011 Classes and

More information