1 / 27

Introduction to Java

Introduction to Java. Tavaris J. Thomas Ph.D. BNAI ZION SCIENTISTS DIVISION JOB ORIENTATION & TERMINOLOGY CLASSES Fall 2012. Contact Info. Tavaris J. Thomas tavaris@gmail.com www.ee.cooper.edu/~tthomas/java Google Group http://groups.google.com/group/bz-java. Any Programming Experience?.

annice
Download Presentation

Introduction to Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Java Tavaris J. Thomas Ph.D. BNAI ZION SCIENTISTS DIVISIONJOB ORIENTATION & TERMINOLOGY CLASSES Fall 2012

  2. Contact Info • Tavaris J. Thomas • tavaris@gmail.com • www.ee.cooper.edu/~tthomas/java • Google Group • http://groups.google.com/group/bz-java

  3. Any Programming Experience?

  4. Class Logistics • Lectures will run every Tues 6:00pm – 9:00pm • The Cooper Union Microlab 602 • Approx 4+ programming assignments. • Class Lectures will be available on the class group page or on the class webpage • Textbook: • Core Java ,Volume 1 – Fundamentals (8th edition) • Cay S. Horstmann and Gary Cornel • ISBN: 0132354764

  5. Course Topics • Introduction to Java • Fundamentals • Objects and Classes • Inheritance • Interfaces and Inner Classes • Deploying Applications • Debugging and Exceptions • Multithreading

  6. Week 1 • Introduction • What is Java? • Installing the Java SDK and Eclipse IDE • Language Fundamentals

  7. History of Java • Began as a Sun Microsystems project called “Green” • James Gosling • Intended to be used on a variety of architectures • All code is translated to the same “Virtual Machine” code, and specific interpreters are written for the VM • Chose to make it object-oriented like C++ instead of like Pascal • First commercial application: applets (1995)

  8. Java’s Evolution • Java 1.0 First release • Java 1.1 Inner classes • Java 1.2-1.3 (no additions) • Java 1.4 Assertions • Java 5.0 [“1.5”] Generic classes, for each loops, variable arguments, autoboxing, metadata, enums, static import • Java 6 Performance improvements, library enhancements update 37 • Java 7 More security and library enhancements – update 9 • Java 8 TDA September 2013

  9. Versions of Java • Java SE – Standard Edition • Java ME – Micro Edition – embedded devices or resource constrained devices – set top boxes, blu-ray players, mobile devices • Java EE – Enterprise Edition – For server side processing

  10. Uses of Java • “Write Once, Run Anywhere” • Stand alone applications • Applets (java code embedded into webpages run via we browser) • Servlets (server side Java code that interact with clients typically using HTTP) • Android development

  11. Programming Languages • Interpreted languages • Perl • Python • PHP • Compiled languages • BASIC • C/C++ • Fortran • Java(to bytecode)

  12. JVM Approach • Architecture neutral • Only need an implementation of JVM for the native machine • Same Java code will run on all platforms • Portable • The results on x86 = results on ARM = results on PPC • Caveat: don’t always fully utilize architecture capabilities • Object oriented • Everything is a class • Doesn’t this all mean Java is slow? • On average: slower than compiled languages • But, using just-in-time (JIT) compiler Java is fast!

  13. Grabbing Java and Eclipse • Go to http://www.oracle.com/technetwork/java/javase/downloads/index.html • Download Java SE 6Update 37 JDK (includes the JRE) • Install the JDK • Install the JRE • Download Eclipse from: http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr2 • Continue with installing Eclipse IDE

  14. Hello World Example • Simplest possible program: prints one line • Will re-visit this program later public class HiWorld { public static void main(String[] args) { System.out.println(“Hello World“); } }

  15. Another Example • Uses an array of three strings and a loop public class Greetings { public static void main(String[] args) { String[] greeting = new String[3]; greeting[0] = "Welcome to BNAI ZION"; greeting[1] = “Introduction to Java"; greeting[2] = “Spring 2012 "; for(String thisline : greeting) System.out.println(thisline); } }

  16. “Hello World” In-depth public class HiWorld { public static void main(String[] args) { // this is a comment. /* so is this, but the following is a statement: */ System.out.println(“Hello World“); } } • Java is case sensitive • public is an access modifier • Controls level of access other part of program have to this code • Everything in Java is a class – used to create building blocks • System.out is an object, calling its println method with parameter “Hello World”

  17. Class • Class is a container for the program logic that defines the behavior of an application • Building blocks with which all Java applications and applets are built. • Everything in a Java program must be inside a class. • Following the keyword class is the name of the class. • Names must begin with a letter, and after that, they can have any combination of letters and digits.

  18. Simple Template with Javadoc /** * This is a simple template, documented. * @version 0.01 * @author Your Name */ public classClassName{ public static voidmain(String[] args){ program statements; } }

  19. The 8 Primitive Data Types in Java

  20. Variables • For any meaningful program you need to modify data • Variables are used to store values • Operators operate on one or two variables • Forming expressions • Declare a variable called Name of type type: • type Name; • Example: • String name; int a, b; • Assigning Name a value val: • type Name=val; • Example: • String name=“Don Knuth”; int a=3; float k=3.3;

  21. Integer Types • Range depends on size of each type: • long (8 bytes) -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 • int (4 bytes) -2,147,483,648 to 2,147,483,647 • short (2 bytes) -32,768 to 32,767 • byte (1 byte) -128 to 127 • All integer types are signed (the unsigned keyword does not exist in Java) • All integer types are the same size regardless of the device’s architecture

  22. Representing Floating Point • Used for positive and negative numbers with fractional parts • Range and precision both depend on type • float (4 bytes) ±3.40282347*1038 • double (8 bytes) ±1.79769313486231570*10308 • Float stores up to 7 fractional digits • Double stores 15 decimal digits • In general, doubles should be used instead of Float • If speed or memory are constrained, floats may be necessary

  23. Representing Characters • Unlike C, where char is almost always a single byte, a Java char can hold a multi-byte Unicode character • Every char is 16 bits (2 bytes), and stores either a complete character of Unicode U+0000 to U+FFFF or half of a U+10000 to U+10FFFF character • In most cases, String variable should be used to avoid having to worry about character types and lengths. • String pi = "\u03C0”; //π

  24. Boolean Types • Can only indicate two values , true or false • Unlike C/C++, integer 0 and 1 are not equivalent to false and true • Avoid easy-to-create bugs. For example: if((x=1)) { statement; } //this would not compile in Java • Must use true and false when assigningboolean variables • No implicit conversion is possible betweenboolean and other data types

  25. Strings • Java does NOT have a built-in string type • Standard library contains class called String • Every quoted string is an instance of this class • Java strings are sequence of Unicode characters • Example: “Java\u2122” consists of: J,a,v,a,™ • Example: String e = “”; //an empty string • String planet = “Earth”; • More later with String API

  26. Enumerated Types • Sometimes variable should only hold a value • from specific (restricted) set • Example: • Shirt size allowed to be small, medium, large • You can, of course do: • int SMALL=1; • int MEDIUM=2; • int LARGE=3; • int shirtSize=one-of-the-above; • But nothing prevents one from setting shirtSize=-1; • Solution: enum’s: • Enum Size {SMALL, MEDIUM, LARGE}; • Size shirtSize=Size.one-of-the-above;

More Related