Getting started with java

67 %
33 %
Information about Getting started with java
Technology

Published on March 16, 2014

Author: mpredli01

Source: slideshare.net

Description

An introduction to the Java programming language that includes a brief history of Java, how Java evolved, and how to get started using Java.

1 Getting Started with Java Trenton Computer Festival March 15, 2014 Michael P. Redlich @mpredli about.me/mpredli/ Sunday, March 16, 14

Who’s Mike? • BS in CS from • “Petrochemical Research Organization” • Ai-Logix, Inc. (now AudioCodes) • Amateur Computer Group of New Jersey • Publications • Presentations 2 Sunday, March 16, 14

Objectives (1) • What is Java?? • Evolution of Java • Features of Java • Review of Object-Oriented Programming (OOP) 3 Sunday, March 16, 14

Objectives (2) • Getting Started with Java • introduction to the Java class mechanism • how to implement Java classes • Live Demos (yea!) • Java Resources 4 Sunday, March 16, 14

What is Java? • “Java is C++ without guns, knives, and clubs.” James Gosling,“father” of Java, Sun Microsystems • “Java is simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high performance, multithreaded dynamic language.” Sun Microsystems 5 Sunday, March 16, 14

Evolution of Java (1) • Created by James Gosling (with Patrick Naughton) • Sun Microsystems • 1991 - originally named “Oak” • consumer applications • architecture agnostic • object-oriented 6 Sunday, March 16, 14

Evolution of Java (2) • 1994 - Project “*7” dissolved • but in the meantime... • 1995 - Java introduced at Sun World ’95 • HotJava browser 7 Sunday, March 16, 14

Features of Java • Object-Oriented Programming (OOP) Language • Documentation Generation • Applets and Applications • Comprehensive Exception Handling • Java Database Connectivity (JDBC) • Java Beans • Enterprise Java Beans • No pointers!! 8 Sunday, March 16, 14

OOP Review (1) • Programming Paradigm • Four (4) Main Attributes • data encapsulation • data abstraction • inheritance • polymorphism 9 Sunday, March 16, 14

OOP Review (2) • Abstract Data Type (ADT) • user-defined data type • use of objects through functions (methods) without knowing the internal representation 10 Sunday, March 16, 14

OOP Review (3) • Interface • functions (methods) provided in the ADT that allow access to data • Implementation • underlying data structure(s) and business logic within the ADT 11 Sunday, March 16, 14

OOP Review (4) • Class • Defines a model • Declares attributes • Declares behavior • Is an ADT • Object • Is an instance of a class • Has state • Has behavior • May have many unique objects of the same class 12 Sunday, March 16, 14

Advantages of OOP • Interface can (and should) remain unchanged when improving implementation • Encourages modularity in application development • Better maintainability of code • Code reuse • Emphasis on what, not how 13 Sunday, March 16, 14

Some Java Keywords • class • new • private, protected, public, package • try, throw, catch, finally • final • extends • implements • abstract • interface 14 Sunday, March 16, 14

Classes (1) • A user-defined abstract data type • Extension of C structs • Contain: • constructor • data members and member functions (methods) 15 Sunday, March 16, 14

Classes (2) • Dynamic object instantiation • Multiple Constructors: • Sports(); • Sports(String,int,int); • Sports(float,String,int); 16 Sunday, March 16, 14

Classes (3) • Abstract Classes • contain at least one pure virtual member function (C++) • contain at least one abstract method (Java) 17 Sunday, March 16, 14

Abstract Classes • Pure virtual member function (C++) • virtual void draw() = 0; • Abstract method (Java) • public abstract void draw(); 18 Sunday, March 16, 14

Class Inheritance 19 Sunday, March 16, 14

20 // Sports class (partial listing) public class Sports { private String team; private int win; public Sports() { // define default constructor here... } public Sports(String team,int win,int loss) { // define primary constructor here... } public int getWin() { return win; } } Sunday, March 16, 14

21 // Baseball class (partial listing) class Baseball extends Sports { public Baseball() { // define default constructor here... } Baseball(String team,int win,int loss) { // define primary constructor here... } } Sunday, March 16, 14

Dynamic Instantiation • Object creation: • Baseball mets = new Baseball(“Mets”,97,65); • Access to public member functions: • mets.getWin(); // returns 97 22 Sunday, March 16, 14

Deleting Objects Baseball mets = new Baseball(“Mets”,97,65); // automatic garbage collection or: System.gc(); // explicit call 23 Sunday, March 16, 14

Java Development Kit (JDK) • Available from Oracle web site • java.sun.com • Java SE (standard edition) • latest version - Java 7, update 51 • Documentation in full HTML format 24 Sunday, March 16, 14

Working with Java (1) • Source code • .java extension • Intermediate bytecode • .class extension generated after successful compilation • Bytecode interprested by JavaVirtual Machine (JVM) 25 Sunday, March 16, 14

Working with Java (2) • Setup environment and path: • set JAVA_HOME=path • set PATH=%PATH%;%JAVA_HOME%bin • export JAVA_HOME=path • export PATH=$JAVA_HOME/bin 26 Sunday, March 16, 14

Working with Java (3) • Compile Java source code: • javac -Xlint:all -d path filename.java • Run the application: • java -classpath path filename 27 Sunday, March 16, 14

Working with Java (4) • Run the applet: • in browser via HTML file within <applet></ applet> tags • appletviewer path filename.html 28 Sunday, March 16, 14

Directories and Packages (2) • Consistent directory structure • source code (*.java) • byte code (*.class) • Map directories with package name • under the src folder 29 Sunday, March 16, 14

Directories and Packages (2) /usr/local/apps/java-apps ↳java-apps ↳tcf ↳hello ↳src ↳org ↳tcf ↳hello 30 package org.tcf.hello;➜ Sunday, March 16, 14

Live Demo! 31 Sunday, March 16, 14

Java IDEs (1) • IntelliJ • jetbrains.com/idea • Eclipse • eclipse.org 32 Sunday, March 16, 14

Java IDEs (2) • NetBeans • netbeans.org • JBuilder • embarcadero.com/products/ jbuilder 33 Sunday, March 16, 14

Local Java User Groups (1) • ACGNJ Java Users Group • facilitated by Mike Redlich • javasig.org • Princeton Java Users Group • facilitated byYakov Fain • meetup.com/NJFlex 34 Sunday, March 16, 14

Local Java User Groups (2) • NewYork Java SIG • facilitated by Frank Greco • javasig.com • Capital District Java Developers Network • facilitated by Dan Patsey • cdjdn.com 35 Sunday, March 16, 14

Further Reading 36 Sunday, March 16, 14

Upcoming Events (1) • Trenton Computer Festival • March 14-15, 2014 • tcf-nj.org • Emerging Technologies for the Enterprise • April 22-23, 2014 • phillyemergingtech.com 37 Sunday, March 16, 14

38 Upcoming Events (2) Sunday, March 16, 14

39 Thanks! mike@redlich.net @mpredli javasig.org Sunday, March 16, 14

Add a comment

Related presentations

Related pages

Trail: Getting Started (The Java™ Tutorials)

This beginner Java tutorial describes getting started with Java and setting up your Netbeans IDE
Read more

Lesson: The "Hello World!" Application (The Java ...

This beginner Java tutorial describes getting started with Java and setting up your Netbeans IDE ... Lesson: The "Hello World!" Application.
Read more

Getting Started with Eclipse

Getting Started with the Eclipse IDE User Guide; Getting Started with Java development; All online Documentation; What's new and noteworthy in Eclipse Neon; 4.
Read more

Setting Up and Getting Started in Java Programming - Oracle

To set up the Java platform on your computer, you need to download the developer kit, then set up whatever development environment you plan on using. You ...
Read more

JAVA TV GETTING STARTED - Oracle

Getting Started with Java tv. Java TV refers to JSR 927, the Java Community Process (JCP) specification providing API's for digital TV-related capabilities ...
Read more

Getting Started with MongoDB (Java Edition) — Getting ...

Overview¶ Welcome to the Getting Started with MongoDB guide. This guide provides instructions to get you started using MongoDB. The guide covers the ...
Read more

Getting Started · angelozerr/tern.java Wiki · GitHub

Getting Started. This page explains how to install and configure Tern IDE. This Eclipse plugin is based on the powerful JavaScript inference engine tern.js ...
Read more

Getting started with Java - Java Coffee Break

Looking for Java resources? Check out the Java Coffee Break directory! Getting started with Java "A beginner's guide to Java programming", By David Reilly.
Read more

Getting Started with Azure Management Libraries for Java ...

In this post, I'll introduce you to the management libraries for Java and walk you through the process of getting an Eclipse project up and running that ...
Read more

getting started guides - Spring

Getting Started Guides. Designed to be completed in 15-30 minutes, these guides provide quick, hands-on instructions for building the "Hello World" of any ...
Read more