Java Data Types  Everything is an Object  Except Primitive Data Types  For efficiency  Platform independent  Portable  “slow”  Objects are often.

Slides:



Advertisements
Similar presentations
Chapter 6 Objects and Classes F OO Programming Concepts F Creating Objects and Object Reference Variables –Differences between primitive data type and.
Advertisements

CERTIFICATION OBJECTIVES Use Class Members Develop Wrapper Code & Autoboxing Code Determine the Effects of Passing Variables into Methods Recognize when.
IntroductionIntroduction  Computer program: an ordered sequence of statements whose objective is to accomplish a task.  Programming: process of planning.
Chapter 3 - Java Programming With Supplied Classes1 Chapter 3 Java Programming With Supplied Classes.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
Road Map Introduction to object oriented programming. Classes
CSC 224 Java for Programmers Winter 2002 (2002/01/ /03/13) Monday/Wednesday 3: :40 pm Instructor: John Petlicki Office hours: Monday and.
1 Chapter 4 Language Fundamentals. 2 Identifiers Program parts such as packages, classes, and class members have names, which are formally known as identifiers.
CS-341 Dick Steflik Introduction. C++ General purpose programming language A superset of C (except for minor details) provides new flexible ways for defining.
Terms and Rules Professor Evan Korth New York University (All rights reserved)
Inheritance and interfaces A class C1 is derived from class C2, then C1 is called subclass, and C2 is called superclass Superclass-parent, base class Subclass.
March 2005Java Programming1. March 2005Java Programming2 Why Java? Platform independence Object Oriented design Run-time checks (fewer bugs) Exception.
CMSC 341 Introduction to Java Based on tutorial by Rebecca Hasti at
OOP Languages: Java vs C++
JavaServer Pages Syntax Harry Richard Erwin, PhD CSE301/CIT304.
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
1 Inheritance and Polymorphism Chapter 9. 2 Polymorphism, Dynamic Binding and Generic Programming public class Test { public static void main(String[]
Java and C++, The Difference An introduction Unit - 00.
Introduction to Object Oriented Programming. Object Oriented Programming Technique used to develop programs revolving around the real world entities In.
BPJ444: Business Programming using Java Java basics Tim McKenna
By Noorez Kassam Welcome to JNI. Why use JNI ? 1. You already have significantly large and tricky code written in another language and you would rather.
Algorithm Programming Bar-Ilan University תשס"ח by Moshe Fresko.
CIS 644 Aug. 25, 1999 tour of Java. First … about the media lectures… we are experimenting with the media format please give feedback.
Lecture 2 Object Oriented Programming Basics of Java Language MBY.
Basic Java Syntax CSE301 University of Sunderland Harry R Erwin, PhD.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2552 Keyword & Data Type มหาวิทยาลัยเนชั่น.
Slides prepared by Rose Williams, Binghamton University Chapter 5 Defining Classes II.
C# Classes and Inheritance CNS 3260 C#.NET Software Development.
Copyright Curt Hill Variables What are they? Why do we need them?
Summing Up Object Oriented Design. Four Major Components: Abstraction modeling real-life entities by essential information only Encapsulation clustering.
Everything is an object (CH-2) Manipulating Objects with References. Manipulating Objects with References. String s; String s = “IS2550” String s = new.
Chapter 14 Abstract Classes and Interfaces. Abstract Classes An abstract class extracts common features and functionality of a family of objects An abstract.
COP3502 Programming Fundamentals for CIS Majors 1 Instructor: Parisa Rashidi.
Classes. Constructor A constructor is a special method whose purpose is to construct and initialize objects. Constructor name must be the same as the.
Chapter 5 Objects and Classes Inheritance. Solution Assignments 3 & 4 Review in class…..
Java Language Basics By Keywords Keywords of Java are given below – abstract continue for new switch assert *** default goto * package.
Chapter 7: Class Inheritance F Superclasses and Subclasses F Keywords: super and this F Overriding methods F The Object Class F Modifiers: protected, final.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Objects and Classes.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 6 Objects and Classes.
Chapter 8 Class Inheritance and Interfaces F Superclasses and Subclasses  Keywords: super F Overriding methods  The Object Class  Modifiers: protected,
 In the java programming language, a keyword is one of 50 reserved words which have a predefined meaning in the language; because of this,
1 Chapter 6 Programming with Objects and Classes F OO Programming Concepts F Creating Objects and Object Reference Variables –Differences between primitive.
Quick Review of OOP Constructs Classes:  Data types for structured data and behavior  fields and methods Objects:  Variables whose data type is a class.
Data Types and Control Structures CS3250. Java Data Types Everything is an Object Except Primitive Data Types –For efficiency –Platform independent Portable.
SourceAnatomy1 Java Source Anatomy Barb Ericson Georgia Institute of Technology July 2008.
Reference Types CSE301 University of Sunderland Harry R Erwin, PhD.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 10 Java Fundamentals Objects/ClassesMethods.
RealTimeSystems Lab Jong-Koo, Lim
Java and C# - Some Commonalities Compile into machine-independent, language- independent code which runs in a managed execution environment Garbage Collection.
Chapter 5 Introduction to Defining Classes Fundamentals of Java.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
Objects and Classes CS The Building Blocks Classes: –Classes have variables and methods. –No global variables, nor global functions. –All methods.
Objects and Classes. F OO Programming Concepts F Creating Objects and Object Reference Variables –Differences between primitive data type and object type.
Objects as a programming concept
JAVA MULTIPLE CHOICE QUESTION.
Java Primer 1: Types, Classes and Operators
Internet and Java Foundations, Programming and Practice
Chapter 3 Assignment Statement
Overloading and Constructors
Starting JavaProgramming
null, true, and false are also reserved.
An overview of Java, Data types and variables
The Building Blocks Classes: Java class library, over 1,800 classes:
Java Programming Language
Java Basics Data Types in Java.
Introduction to Object-Oriented Concepts in Java
Chap 2. Identifiers, Keywords, and Types
Chapter 6 Objects and Classes
Overloading Each method has a signature: its name together with the number and types of its parameters Methods Signatures String toString()
Presentation transcript:

Java Data Types  Everything is an Object  Except Primitive Data Types  For efficiency  Platform independent  Portable  “slow”  Objects are often required  In collections, for example  Every primitive has a corresponding object wrapper

Primitive Types  PrimitiveSizeMinMaxWrapper  boolean—— — Boolean char16UnicodeCharacter byte Byte short Short int Integer long Long float32IEEEFloat double64IEEEDouble void———Void  All are signed except boolean and char

Operators  Much the same as C++  Booleans are short circuit  New operators:  instanceof  >>>  Important difference  Binary operands are evaluated left-to-right: x = f() + g();  Equality operator (==) only checks object references (use equals() instead)

Wrappers  Objects that hold primitives  Read-only!  Used when objects are called for  In collections, for example  More expensive than using primitives  Have symbolic constants for min/max, conversion functions to primitives  Example: class Limits, class UseVector, class ParseNums, Listings 1 and 2

Arbitrary Precision Arithmetic  Classes BigInteger and BigDecimal  Example: class BigInt

The Building Blocks  Classes:  Classes have variables and methods.  No global variables, nor global functions.  All methods are defined inside classes (except native methods)  Java class library, over 3,000 classes:  GUI, graphics, image, audio  I/O  Networking  Utilities: set, list, hash table

Organization of Java Programs  Java provides mechanisms to organize large-scale programs in a logical and maintainable fashion.  Class --- highly cohesive functionalities  File --- one class or more closely related classes  Package --- a collection of related classes or packages The Java class library is organized into a number of packages:  java.awt --- GUI  java.io --- I/O  java.util --- utilities  java.applet --- applet  java.net --- networking

Reference Type and Garbage Collection  All objects reside on the heap  Must use the new operator  A “reference” is returned  More like a pointer than a C++ reference  You can’t “delete” the object through its reference  It is cleaned up by the garbage collector  After the object is no longer used  When the GC is good and ready to do it!  Memory leaks are practically non-existent in Java

Java Character Type  Internationalization  16-bit Unicode character.  ASCII is a subset of Unicode - ISO-8859 (Latin-1)  Escape sequence:  \uhhhh : hex-decimal code, e.g. \u000A  \ddd : octal code, e.g. \040  \n, \t, \b, \r, \f, \\, \', \".  Java programs are also in Unicode.  Unicode standard:

Class Declaration [ClassModifiers] class ClassName [ extends SuperClass] [ implements Interface 1, Interface 2...] { ClassMemberDeclarations }

Class Modifiers public Accessible everywhere. One public class allowed per file. The file must be named ClassName.java private Only accessible within the class Accessible within the current class package. abstract A class that contains abstract methods final No subclasses

Method And Field Declaration [MethodModifiers] Type Name ( [ParameterList] ) { Statements } [FieldModifiers] Type FieldName 1 [ = Initializer 1 ], FieldName 2 [ = Initializer 2 ]...;

Method and Field Modifiers For both methods and fields public protected private static final For methods only abstract synchronized native For fields only volatile transient

Class Declaration Example public class Point { public int x, y; public void move(int dx, int dy) { x += dx; y += dy; } Point point1; // Point not created Point point2 = new Point(); point1 = point2; point1 = null; x and y are initialized to their default initial values.

Explicit Initializer public class Point { public int x = 0, y = 0; public void move(int dx, int dy) { x += dx; y += dy; } Point point1 = new Point(); // (0,0)

Constructors public class Point { public int x, y; public Point() { // no-arg x = 0; y = 0; } public Point(int x0, int y0) { x = x0; y = y0; } Point point1 = new Point(); // no-arg Point point2 = new Point(20, 20); Constructors are invoked after default initial values are assigned. No-arg constructor is provided as a default when no other constructors are provided.

Variable, Object, Class, Type Variables have types, objects have classes. A variable is a storage location and has an associated type. An object is a instance of a class or an array. The type of a variable is determined at compilation time. The class of an object is determined at run time. A variables in Java can be of: primitive type --- hold exact value reference type --- hold pointers to objects null reference: an invalid object object reference: an object whose class is assignment compatible with the type of the variable.

Object Reference: this You can use this inside a method, It refers to the current object on which the method is invoked. It's commonly used to pass the object itself as a parameter aList.insert(this); It can also be used to access hidden variables: public class Point { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } It can also be used to call other constructors

Static Variables Static variable or fields: one per class, rather than one per object. Static variables are also known as class variables. Initialized when the class is loaded by the JVM Non-static variables are also known as instance variables. class IDCard { public long id; protected static long nextID = 0; public IDCard() { id = nextID++; }

Static Methods A static method can only access static variables and invoke other static methods; can not use this reference. class IDCard { public long id; protected static long nextID = 0;... public static void skipID() { nextID++; }

Invoking Methods Non-static methods must be invoked through an object reference: object_reference.method ( parameters ) Static methods can be invoked through an object reference or the class name: class_name.method ( parameters ) So, you can do either of the following: IDCard.skipID(); // the preferred way IDCard mycard = new IDCard(); mycard.skipID();

final Variables Final variables are named constants. class CircleStuff { static final double pi =3.1416; } Final parameters are useless.

Blank finals  Allows you to declare a final without initializing it  Applies to fields as well as local vars  Must still be initialized before it’s used: class MyClass { final String s; MyClass(String s) { this.s = s; }

The toString() Method The toString() method converts objects to strings. public class Point { public int x, y;... String toString() { return "(" + x + "," + y + ")"; } Then, you can do Point p = new Point(10,20); System.out.println("A point at " + p); // Output: A point at (10,20)