SlideShare a Scribd company logo
Java 101: Intro to Java
Programming
Introduction
• Your Name
• Your day job
• Your last holiday destination?
Java 101
• Java Fundamentals
– Setting up your development environment
– Language Overview
– How Java Works
– Writing your first program
– Built-in Data Types
– Conditionals and Loops
Java 102
• Object-oriented Programming
– Classes and Objects
– Polymorphism, Inheritance and Encapsulation
– Functions and Libraries
Java 103
• Data Structures
– Arrays
– Collections
– Algorithms
Java 101: Introduction to Java
Setting up your Development
Environment
Installing Java Development Kit
• Download latest Java SE 8 JDK (not JRE) from
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-
downloads-2133151.html
• For Windows,
– download the X86 version, double click the .exe file and follow the
instructions, accepting all default
• For MACs,
– check if java already installed (javac –version) and if not, download the
JDK dmg file, run it and follow the instructions.
• After installation is complete, type javac –version in the Command
window (Terminal window on MAC OS)-
– The reported version should be 1.8....
– If not, you may need to modify the system variable PATH to include the
bin directory of JDK
What is an IDE?
• IDE = Integrated Development Environment
• Makes you more productive
• Includes text editor, compiler, debugger,
context- sensitive help, works with different
Java SDKs
• Eclipse is the most widely used IDE
• Alternatives:
– IntelliJ IDEA (JetBrains)
– NetBeans (Oracle)
Installing Eclipse
• Download and install the latest Eclipse for Java
EE (32 Bit version) from
http://www.eclipse.org/downloads
• Unzip the content of the archive file you
downloaded
• To start Eclipse
– On PC, double-click on Eclipse.exe
– On Mac, double click Eclipse.app in Application
folder
Hands-on Exercise
Eclipse Setup & Demo
Java 101: Introduction to Java
Language Overview
Java Language Overview
• Object-oriented
• Statically typed
• Widely available
• Widely used
Java Versions
• Brief History…
– 1990 : Small team at Sun
Microsystems start work on
C/C++ replacement
• Major Version Releases
– JDK 1.0 (January 21, 1996)
– JDK 1.1 (February 19, 1997)
– J2SE 1.2 (December 8, 1998)
– J2SE 1.3 (May 8, 2000)
– J2SE 1.4 (February 6, 2002)
– J2SE 5.0 (September 30, 2004)
– Java SE 6 (December 11, 2006)
– Java SE 7 (July 28, 2011)
– Java SE 8 (March 18, 2014)
Java Editions
• Java SE: Java Standard Edition
• Java EE: Java Enterprise Edition (a.k.a. J2EE)
– includes a set of technologies built on top of Java
SE: Servlets, JSP, JSF, EJB, JMS, et al.
• Java ME: Java Micro Edition
• Java Card for Smart Cards
• All Java programs run inside the Java Virtual
Machine (JVM)
JDK vs. JRE
• Java Development Kit (JDK) is required to
develop and compile programs
• Java Runtime Environment (JRE) is required to
run programs.
• Users must have JRE installed,
• Developers must have the JDK installed
• JDK includes the JRE
Java 101: Introduction to Java
How Java Works
How Java Works
Java File Structure
Java 101: Introduction to Java
Writing Your First Program
Hello, World!
Writing Your First Java Program
• Create a new project in your IDE named Java101
• Create a HelloWorld class in the src folder inside the Java101
project as illustrated below.
Compiling Your First Java Program
• Save the HelloWorld class in the IDE
• This automatically compiles the HelloWorld.java file
into into a HelloWorld.class file
• Go to the folder you created the Java101 project on
your hard disk and open the src folder.
• What do you see?
Running Your First Java Program
• Run your program in Eclipse by right-clicking
and selecting Run As>Java Application.
Java 101  intro to programming with java
Anatomy of a Java Application
Comments Class Name
Access
modifier
Function/static
method
Arguments
Language Features
Introduction to Java
Built-in Data Types
Built-in Data Types
• Data type are sets of values and operations
defined on those values.
Basic Definitions
• Variable - a name that refers to a value.
• Assignment statement - associates a value
with a variable.
String Data Type
Data Type Attributes
Values sequence of characters
Typical literals “Hello”, “1 “, “*”
Operation Concatenate
Operator +
• Useful for program input and output.
String Data Type
String Data Type
• Meaning of characters depends on context.
String Data Type
Expression Value
“Hi, “ + “Bob” “Hi, Bob”
“1” + “ 2 “ + “ 1” “ 1 2 1”
“1234” + “ + “ + “99” “1234 + 99”
“1234” + “99” “123499”
Hands-on Exercise
Command Line Arguments
Exercise: Command Line Arguments
• Create the Java program below that takes a name as command-line
argument and prints “Hi <name>, How are you?”
Integer Data Type
Data Type Attributes
Values Integers between -2E31 to +2E31-1
Typical literals 1234, -99 , 99, 0, 1000000
Operation Add subtract multiply divide remainder
Operator + - * / %
• Useful for expressing algorithms.
Integer Data Type
Expression Value Comment
5 + 3 8
5 – 3 2
5 * 3 15
5 / 3 1 no fractional
part
5 % 3 2 remainder
1 / 0 run-time error
3 * 5 - 2 13 * has
precedence
3 + 5 / 2 5 / has
precedence
3 – 5 - 2 -4 left associative
(3-5) - 2 -4 better style
3 – (5-2) 0 unambiguous
Double Data Type
• Useful in scientific applications and floating-
point arithmetic
Data Type Attributes
Values Real numbers specified by the IEEE 754 standard
Typical literals 3.14159 6.022e23 -3.0 2.0 1.41421356237209
Operation Add subtract multiply divide
Operator + - * /
Double Data Type
Expression Value
3.141 + 0.03 3.171
3.141 – 0.03 3.111
6.02e23 / 2 3.01e23
5.0 / 2.0 1.6666666666667
10.0 % 3.141 0.577
1.0 / 0.0 Infinity
Math.sqrt(2.0) 1.4142135623730951
Java Math Library
Methods
Math.sin() Math.cos()
Math.log() Math.exp()
Math.sqrt() Math.pow()
Math.min() Math.max()
Math.abs() Math.PI
http://java.sun.com/javase/6/docs/api/java/lang/Math.html
Hands-on Exercise
Integer Operations
Exercise: Integer Operations
• Create a Java class named IntOpsin the Java101 project that performs integer
operations on a pair of integers from the command line and prints the results.
Solution: Integer Operations
Boolean Data Type
• Useful to control logic and flow of a program.
Data Type Attributes
Values true or false
Typical literals true false
Operation and or not
Operator && || !
Truth-table of Boolean Operations
a !a a b a && b a || b
true false false false false false
false true false true false true
true false false true
true true true true
Boolean Comparisons
• Take operands of one type and produce an
operand of type boolean.
operation meaning true false
== equals 2 == 2 2 == 3
!= Not equals 3 != 2 2 != 2
< Less than 2 < 13 2 < 2
<= Less than or
equal
2 <= 2 3 <= 2
> Greater than 13 > 2 2 > 13
>= Greater than
or equal
3 >= 2 2 >= 3
Type Conversion
• Convert from one type of data to another.
• Implicit
– no loss of precision
– with strings
• Explicit:
– cast
– method.
Type Conversion Examples
expression Expression type Expression value
“1234” + 99 String “123499”
Integer.parseInt(“123”) int 123
(int) 2.71828 int 2
Math.round(2.71828) long 3
(int) Math.round(2.71828) int 3
(int) Math.round(3.14159) int 3
11 * 0.3 double 3.3
(int) 11 * 0.3 double 3.3
11 * (int) 0.3 int 0
(int) (11 * 0.3) int 3
Hands-on Exercise
Leap Year Finder
Exercise: Leap Year Finder
• A year is a leap year if it is either divisible by 400
or divisible by 4 but not 100.
• Write a java class named LeapYear in the Java101
project that takes a numeric year as command
line argument and prints true if it’s a leap year
and false if not
Solution: Leap Year Finder
Data Types Summary
• A data type is a set of values and operations on those
values.
– String for text processing
– double, int for mathematical calculation
– boolean for decision making
• In Java, you must:
– Declare type of values.
– Convert between types when necessary
• Why do we need types?
– Type conversion must be done at some level.
– Compiler can help do it correctly.
– Example: in 1996, Ariane 5 rocket exploded after takeoff
because of bad type conversion.
Introduction to Java
Conditionals and Loops
Conditionals and Loops
• Sequence of statements that are actually
executed in a program.
• Enable us to choreograph control flow.
Conditionals
• The if statement is a common branching structure.
– Evaluate a boolean expression.
• If true, execute some statements.
• If false, execute other statements.
If Statement Example
More If Statement Examples
While Loop
• A common repetition structure.
– Evaluate a boolean expression.
– If true, execute some statements.
– Repeat.
For Loop
• Another common repetition structure.
– Execute initialization statement.
– Evaluate a boolean expression.
• If true, execute some statements.
– And then the increment statement.
– Repeat.
Anatomy of a For Loop
Loop Examples
For Loop
Hands-on Exercise
Powers of Two
Exercise: Powers of Two
• Create a new Java project in Eclipse named Pow2
• Write a java class named PowerOfTwo to print powers of 2 that are
<= 2N where N is a number passed as an argument to the program.
– Increment i from 0 to N.
– Double v each time
Solution: Power of 2
Control Flow Summary
• Sequence of statements that are actually
executed in a program.
• Conditionals and loops enable us to choreograph
the control flow.
Control flow Description Example
Straight line
programs
all statements are executed in the
order given
Conditionals certain statements are executed
depending on the values of certain
variables
If
If-else
Loops certain statements are executed
repeatedly until certain conditions
are met
while
for
do-while
Homework Exercises
Java 101: Introduction to Java
Hands-on Exercise
Random Number Generator
Exercise: Random Number Generator
• Write a java class named RandomInt to generate a
pseudo-random number between 0 and N-1 where N is
a number passed as an argument to the program
Solution: Random Number Generator
Hands-on Exercise
Array of Days
Exercise: Array of Days
• Create a java class named DayPrinter that
prints out names of the days in a week from an
array using a for-loop.
Solution: Arrays of Days
public class DayPrinter {
public static void main(String[] args) {
//initialize the array with the names of days of the
week
String[] daysOfTheWeek =
{"Sunday","Monday","Tuesday","Wednesday",
"Thuesday","Friday”,"Saturday"};
//loop through the array and print their elements to
//stdout
for (int i= 0;i < daysOfTheWeek.length;i++ ){
System.out.println(daysOfTheWeek[i]);
}
}
}
% javac DayPrinter.java
% java DayPrinter
Sunday
Monday
Tuesday
Wednesday
Thuesday
Friday
Saturday
Hands-on Exercise
Print Personal Details
Exercise: Print Personal Details
• Write a program that will print your name and
address to the console, for example:
Alex Johnson
23 Main Street
New York, NY 10001 USA
Hands-on Exercise
Sales Discount
Exercise: Sales Discount
• Create a new project in Eclipse named Sale
• Create, compile, and run the FriendsAndFamily class as illustrated below
• Debug this program in your IDE to find out how it works
Further Reading
• Java Tutorials - https://docs.oracle.com/javase/tutorial/
• Java Language Basics -
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
• Eclipse IDE Workbench User Guide -
http://help.eclipse.org/kepler/index.jsp
• Eclipse Tutorial - http://www.vogella.com/tutorials/Eclipse/article.html

More Related Content

What's hot (20)

C-Programming Control statements.pptx
C-Programming Control statements.pptxC-Programming Control statements.pptx
C-Programming Control statements.pptx
LECO9
 
Exception handling in java
Exception handling in javaException handling in java
Exception handling in java
Pratik Soares
 
Access modifier and inheritance
Access modifier and inheritanceAccess modifier and inheritance
Access modifier and inheritance
Dikshyanta Dhungana
 
JVM Memory Management Details
JVM Memory Management DetailsJVM Memory Management Details
JVM Memory Management Details
Azul Systems Inc.
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)
Sujit Majety
 
Dart
DartDart
Dart
Jana Moudrá
 
C# Unit 2 notes
C# Unit 2 notesC# Unit 2 notes
C# Unit 2 notes
Sudarshan Dhondaley
 
Arquitetura de Sistemas Operacionais 32 x 64 Bits
Arquitetura de Sistemas Operacionais 32 x 64 BitsArquitetura de Sistemas Operacionais 32 x 64 Bits
Arquitetura de Sistemas Operacionais 32 x 64 Bits
Cleber Ramos
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc X
 
Linguagem Java
Linguagem JavaLinguagem Java
Linguagem Java
Loiane Groner
 
Exception handling in Java
Exception handling in JavaException handling in Java
Exception handling in Java
Abhishek Pachisia
 
3.1. macros internas
3.1. macros internas3.1. macros internas
3.1. macros internas
SpiderHal
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
UFPA
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
Rudson Kiyoshi Souza Carvalho
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
Kris Mok
 
Method overloading
Method overloadingMethod overloading
Method overloading
baabtra.com - No. 1 supplier of quality freshers
 
Apresentação Clean Code
Apresentação Clean CodeApresentação Clean Code
Apresentação Clean Code
André Leoni
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
Daniel Brandão
 
04 j flex
04 j flex04 j flex
04 j flex
Karyamel Ml
 
Array in Java
Array in JavaArray in Java
Array in Java
Ali shah
 
C-Programming Control statements.pptx
C-Programming Control statements.pptxC-Programming Control statements.pptx
C-Programming Control statements.pptx
LECO9
 
Exception handling in java
Exception handling in javaException handling in java
Exception handling in java
Pratik Soares
 
JVM Memory Management Details
JVM Memory Management DetailsJVM Memory Management Details
JVM Memory Management Details
Azul Systems Inc.
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)
Sujit Majety
 
Arquitetura de Sistemas Operacionais 32 x 64 Bits
Arquitetura de Sistemas Operacionais 32 x 64 BitsArquitetura de Sistemas Operacionais 32 x 64 Bits
Arquitetura de Sistemas Operacionais 32 x 64 Bits
Cleber Ramos
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc X
 
3.1. macros internas
3.1. macros internas3.1. macros internas
3.1. macros internas
SpiderHal
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
UFPA
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
Kris Mok
 
Apresentação Clean Code
Apresentação Clean CodeApresentação Clean Code
Apresentação Clean Code
André Leoni
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
Daniel Brandão
 
Array in Java
Array in JavaArray in Java
Array in Java
Ali shah
 

Viewers also liked (20)

Java notes(OOP) jkuat IT esection
Java notes(OOP) jkuat IT esectionJava notes(OOP) jkuat IT esection
Java notes(OOP) jkuat IT esection
Arc Keepers Solutions
 
Java 101 Intro to Java Programming - Exercises
Java 101   Intro to Java Programming - ExercisesJava 101   Intro to Java Programming - Exercises
Java 101 Intro to Java Programming - Exercises
agorolabs
 
Java principles
Java principlesJava principles
Java principles
Adel Jaffan
 
Java 101
Java 101Java 101
Java 101
javafxpert
 
Software para diagnostico, optimización y utilerias
Software para diagnostico, optimización y utileriasSoftware para diagnostico, optimización y utilerias
Software para diagnostico, optimización y utilerias
xnoxtrax
 
Java Class Loader
Java Class LoaderJava Class Loader
Java Class Loader
Bhanu Gopularam
 
Intro to Java
Intro to JavaIntro to Java
Intro to Java
karianneban
 
Intro to Java for C++ Developers
Intro to Java for C++ DevelopersIntro to Java for C++ Developers
Intro to Java for C++ Developers
Zachary Blair
 
Java Intro
Java IntroJava Intro
Java Intro
Vijay A Raj
 
Intro to Java Technology
Intro to Java TechnologyIntro to Java Technology
Intro to Java Technology
Jussi Pohjolainen
 
Java
JavaJava
Java
kavirishi
 
Presentation
PresentationPresentation
Presentation
Fiaz Khokhar
 
L2 datatypes and variables
L2 datatypes and variablesL2 datatypes and variables
L2 datatypes and variables
teach4uin
 
OOPS Basics With Example
OOPS Basics With ExampleOOPS Basics With Example
OOPS Basics With Example
Thooyavan Venkatachalam
 
Basic elements of java
Basic elements of java Basic elements of java
Basic elements of java
Ahmad Idrees
 
Java tutorial PPT
Java tutorial  PPTJava tutorial  PPT
Java tutorial PPT
Intelligo Technologies
 
Introduction to Agile & Scrum
Introduction to Agile & ScrumIntroduction to Agile & Scrum
Introduction to Agile & Scrum
Hawkman Academy
 
Java Datatypes
Java DatatypesJava Datatypes
Java Datatypes
Mayank Aggarwal
 
Java features
Java featuresJava features
Java features
myrajendra
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Hawkman Academy
 
Java 101 Intro to Java Programming - Exercises
Java 101   Intro to Java Programming - ExercisesJava 101   Intro to Java Programming - Exercises
Java 101 Intro to Java Programming - Exercises
agorolabs
 
Software para diagnostico, optimización y utilerias
Software para diagnostico, optimización y utileriasSoftware para diagnostico, optimización y utilerias
Software para diagnostico, optimización y utilerias
xnoxtrax
 
Intro to Java for C++ Developers
Intro to Java for C++ DevelopersIntro to Java for C++ Developers
Intro to Java for C++ Developers
Zachary Blair
 
L2 datatypes and variables
L2 datatypes and variablesL2 datatypes and variables
L2 datatypes and variables
teach4uin
 
Basic elements of java
Basic elements of java Basic elements of java
Basic elements of java
Ahmad Idrees
 
Introduction to Agile & Scrum
Introduction to Agile & ScrumIntroduction to Agile & Scrum
Introduction to Agile & Scrum
Hawkman Academy
 
Ad

Similar to Java 101 intro to programming with java (20)

Java 101
Java 101Java 101
Java 101
Manuela Grindei
 
Introduction to java 101
Introduction to java 101Introduction to java 101
Introduction to java 101
kankemwa Ishaku
 
JAVA Basics Presentation for introduction to JAVA programming languauge
JAVA Basics Presentation for introduction to JAVA programming languaugeJAVA Basics Presentation for introduction to JAVA programming languauge
JAVA Basics Presentation for introduction to JAVA programming languauge
lakshyajain0740
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
Ashita Agrawal
 
Java
JavaJava
Java
Ashen Disanayaka
 
Hello java
Hello java  Hello java
Hello java
University of Babylon
 
Hello java
Hello java   Hello java
Hello java
University of Babylon
 
Hello Java-First Level
Hello Java-First LevelHello Java-First Level
Hello Java-First Level
Dr. Raaid Alubady
 
DISE - Windows Based Application Development in Java
DISE - Windows Based Application Development in JavaDISE - Windows Based Application Development in Java
DISE - Windows Based Application Development in Java
Rasan Samarasinghe
 
Core java day1
Core java day1Core java day1
Core java day1
Soham Sengupta
 
Fundamental programming structures in java
Fundamental programming structures in javaFundamental programming structures in java
Fundamental programming structures in java
Shashwat Shriparv
 
JPC#8 Introduction to Java Programming
JPC#8 Introduction to Java ProgrammingJPC#8 Introduction to Java Programming
JPC#8 Introduction to Java Programming
Pathomchon Sriwilairit
 
Fundamentals of java --- version 2
Fundamentals of java --- version 2Fundamentals of java --- version 2
Fundamentals of java --- version 2
Uday Sharma
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#
Hawkman Academy
 
data types.pdf
data types.pdfdata types.pdf
data types.pdf
HarshithaGowda914171
 
Java class 1
Java class 1Java class 1
Java class 1
Edureka!
 
Computational Problem Solving 004 (1).pptx (1).pdf
Computational Problem Solving 004 (1).pptx (1).pdfComputational Problem Solving 004 (1).pptx (1).pdf
Computational Problem Solving 004 (1).pptx (1).pdf
SadhikaPolamarasetti1
 
Proyect of english
Proyect of englishProyect of english
Proyect of english
Carlos Alcivar
 
MODULE_2_Operators.pptx
MODULE_2_Operators.pptxMODULE_2_Operators.pptx
MODULE_2_Operators.pptx
VeerannaKotagi1
 
Full CSE 310 Unit 1 PPT.pptx for java language
Full CSE 310 Unit 1 PPT.pptx for java languageFull CSE 310 Unit 1 PPT.pptx for java language
Full CSE 310 Unit 1 PPT.pptx for java language
ssuser2963071
 
Introduction to java 101
Introduction to java 101Introduction to java 101
Introduction to java 101
kankemwa Ishaku
 
JAVA Basics Presentation for introduction to JAVA programming languauge
JAVA Basics Presentation for introduction to JAVA programming languaugeJAVA Basics Presentation for introduction to JAVA programming languauge
JAVA Basics Presentation for introduction to JAVA programming languauge
lakshyajain0740
 
DISE - Windows Based Application Development in Java
DISE - Windows Based Application Development in JavaDISE - Windows Based Application Development in Java
DISE - Windows Based Application Development in Java
Rasan Samarasinghe
 
Fundamental programming structures in java
Fundamental programming structures in javaFundamental programming structures in java
Fundamental programming structures in java
Shashwat Shriparv
 
JPC#8 Introduction to Java Programming
JPC#8 Introduction to Java ProgrammingJPC#8 Introduction to Java Programming
JPC#8 Introduction to Java Programming
Pathomchon Sriwilairit
 
Fundamentals of java --- version 2
Fundamentals of java --- version 2Fundamentals of java --- version 2
Fundamentals of java --- version 2
Uday Sharma
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#
Hawkman Academy
 
Java class 1
Java class 1Java class 1
Java class 1
Edureka!
 
Computational Problem Solving 004 (1).pptx (1).pdf
Computational Problem Solving 004 (1).pptx (1).pdfComputational Problem Solving 004 (1).pptx (1).pdf
Computational Problem Solving 004 (1).pptx (1).pdf
SadhikaPolamarasetti1
 
Full CSE 310 Unit 1 PPT.pptx for java language
Full CSE 310 Unit 1 PPT.pptx for java languageFull CSE 310 Unit 1 PPT.pptx for java language
Full CSE 310 Unit 1 PPT.pptx for java language
ssuser2963071
 
Ad

More from Hawkman Academy (9)

What is the secret to great Agile leadership?
What is the secret to great Agile leadership?What is the secret to great Agile leadership?
What is the secret to great Agile leadership?
Hawkman Academy
 
Agile Retrospectives
Agile RetrospectivesAgile Retrospectives
Agile Retrospectives
Hawkman Academy
 
Web 102 INtro to CSS
Web 102  INtro to CSSWeb 102  INtro to CSS
Web 102 INtro to CSS
Hawkman Academy
 
Web 101 intro to html
Web 101  intro to htmlWeb 101  intro to html
Web 101 intro to html
Hawkman Academy
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
Hawkman Academy
 
Software Testing Overview
Software Testing OverviewSoftware Testing Overview
Software Testing Overview
Hawkman Academy
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
Hawkman Academy
 
Agile Requirements Discovery
Agile Requirements DiscoveryAgile Requirements Discovery
Agile Requirements Discovery
Hawkman Academy
 
Design 101 : Beyond ideation - Transforming Ideas to Software Requirements
Design 101 : Beyond ideation - Transforming Ideas to Software RequirementsDesign 101 : Beyond ideation - Transforming Ideas to Software Requirements
Design 101 : Beyond ideation - Transforming Ideas to Software Requirements
Hawkman Academy
 
What is the secret to great Agile leadership?
What is the secret to great Agile leadership?What is the secret to great Agile leadership?
What is the secret to great Agile leadership?
Hawkman Academy
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
Hawkman Academy
 
Software Testing Overview
Software Testing OverviewSoftware Testing Overview
Software Testing Overview
Hawkman Academy
 
Agile Requirements Discovery
Agile Requirements DiscoveryAgile Requirements Discovery
Agile Requirements Discovery
Hawkman Academy
 
Design 101 : Beyond ideation - Transforming Ideas to Software Requirements
Design 101 : Beyond ideation - Transforming Ideas to Software RequirementsDesign 101 : Beyond ideation - Transforming Ideas to Software Requirements
Design 101 : Beyond ideation - Transforming Ideas to Software Requirements
Hawkman Academy
 

Recently uploaded (20)

GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?
felipeceotto
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Leveraging Foundation Models to Infer Intents
Leveraging Foundation Models to Infer IntentsLeveraging Foundation Models to Infer Intents
Leveraging Foundation Models to Infer Intents
Keheliya Gallaba
 
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
WSO2
 
AI and Deep Learning with NVIDIA Technologies
AI and Deep Learning with NVIDIA TechnologiesAI and Deep Learning with NVIDIA Technologies
AI and Deep Learning with NVIDIA Technologies
SandeepKS52
 
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
Insurance Tech Services
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native BarcelonaOpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Revolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management SoftwareRevolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management Software
Insurance Tech Services
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Marketo & Dynamics can be Most Excellent to Each Other – The Sequel
Marketo & Dynamics can be Most Excellent to Each Other – The SequelMarketo & Dynamics can be Most Excellent to Each Other – The Sequel
Marketo & Dynamics can be Most Excellent to Each Other – The Sequel
BradBedford3
 
Key AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence CompaniesKey AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence Companies
Mypcot Infotech
 
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
BradBedford3
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage OverlookCode and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdfdp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 
Migrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right WayMigrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right Way
Alexander (Alex) Komyagin
 
IBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - IntroductionIBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - Introduction
Gaurav Sharma
 
FME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable InsightsFME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable Insights
Safe Software
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4
Gaurav Sharma
 
GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?
felipeceotto
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Leveraging Foundation Models to Infer Intents
Leveraging Foundation Models to Infer IntentsLeveraging Foundation Models to Infer Intents
Leveraging Foundation Models to Infer Intents
Keheliya Gallaba
 
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
WSO2
 
AI and Deep Learning with NVIDIA Technologies
AI and Deep Learning with NVIDIA TechnologiesAI and Deep Learning with NVIDIA Technologies
AI and Deep Learning with NVIDIA Technologies
SandeepKS52
 
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...
Insurance Tech Services
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native BarcelonaOpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Revolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management SoftwareRevolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management Software
Insurance Tech Services
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Marketo & Dynamics can be Most Excellent to Each Other – The Sequel
Marketo & Dynamics can be Most Excellent to Each Other – The SequelMarketo & Dynamics can be Most Excellent to Each Other – The Sequel
Marketo & Dynamics can be Most Excellent to Each Other – The Sequel
BradBedford3
 
Key AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence CompaniesKey AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence Companies
Mypcot Infotech
 
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
BradBedford3
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage OverlookCode and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdfdp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 
IBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - IntroductionIBM Rational Unified Process For Software Engineering - Introduction
IBM Rational Unified Process For Software Engineering - Introduction
Gaurav Sharma
 
FME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable InsightsFME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable Insights
Safe Software
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4
Gaurav Sharma
 

Java 101 intro to programming with java

  • 1. Java 101: Intro to Java Programming
  • 2. Introduction • Your Name • Your day job • Your last holiday destination?
  • 3. Java 101 • Java Fundamentals – Setting up your development environment – Language Overview – How Java Works – Writing your first program – Built-in Data Types – Conditionals and Loops
  • 4. Java 102 • Object-oriented Programming – Classes and Objects – Polymorphism, Inheritance and Encapsulation – Functions and Libraries
  • 5. Java 103 • Data Structures – Arrays – Collections – Algorithms
  • 6. Java 101: Introduction to Java Setting up your Development Environment
  • 7. Installing Java Development Kit • Download latest Java SE 8 JDK (not JRE) from http://www.oracle.com/technetwork/java/javase/downloads/jdk8- downloads-2133151.html • For Windows, – download the X86 version, double click the .exe file and follow the instructions, accepting all default • For MACs, – check if java already installed (javac –version) and if not, download the JDK dmg file, run it and follow the instructions. • After installation is complete, type javac –version in the Command window (Terminal window on MAC OS)- – The reported version should be 1.8.... – If not, you may need to modify the system variable PATH to include the bin directory of JDK
  • 8. What is an IDE? • IDE = Integrated Development Environment • Makes you more productive • Includes text editor, compiler, debugger, context- sensitive help, works with different Java SDKs • Eclipse is the most widely used IDE • Alternatives: – IntelliJ IDEA (JetBrains) – NetBeans (Oracle)
  • 9. Installing Eclipse • Download and install the latest Eclipse for Java EE (32 Bit version) from http://www.eclipse.org/downloads • Unzip the content of the archive file you downloaded • To start Eclipse – On PC, double-click on Eclipse.exe – On Mac, double click Eclipse.app in Application folder
  • 11. Java 101: Introduction to Java Language Overview
  • 12. Java Language Overview • Object-oriented • Statically typed • Widely available • Widely used
  • 13. Java Versions • Brief History… – 1990 : Small team at Sun Microsystems start work on C/C++ replacement • Major Version Releases – JDK 1.0 (January 21, 1996) – JDK 1.1 (February 19, 1997) – J2SE 1.2 (December 8, 1998) – J2SE 1.3 (May 8, 2000) – J2SE 1.4 (February 6, 2002) – J2SE 5.0 (September 30, 2004) – Java SE 6 (December 11, 2006) – Java SE 7 (July 28, 2011) – Java SE 8 (March 18, 2014)
  • 14. Java Editions • Java SE: Java Standard Edition • Java EE: Java Enterprise Edition (a.k.a. J2EE) – includes a set of technologies built on top of Java SE: Servlets, JSP, JSF, EJB, JMS, et al. • Java ME: Java Micro Edition • Java Card for Smart Cards • All Java programs run inside the Java Virtual Machine (JVM)
  • 15. JDK vs. JRE • Java Development Kit (JDK) is required to develop and compile programs • Java Runtime Environment (JRE) is required to run programs. • Users must have JRE installed, • Developers must have the JDK installed • JDK includes the JRE
  • 16. Java 101: Introduction to Java How Java Works
  • 19. Java 101: Introduction to Java Writing Your First Program
  • 21. Writing Your First Java Program • Create a new project in your IDE named Java101 • Create a HelloWorld class in the src folder inside the Java101 project as illustrated below.
  • 22. Compiling Your First Java Program • Save the HelloWorld class in the IDE • This automatically compiles the HelloWorld.java file into into a HelloWorld.class file • Go to the folder you created the Java101 project on your hard disk and open the src folder. • What do you see?
  • 23. Running Your First Java Program • Run your program in Eclipse by right-clicking and selecting Run As>Java Application.
  • 25. Anatomy of a Java Application Comments Class Name Access modifier Function/static method Arguments
  • 28. Built-in Data Types • Data type are sets of values and operations defined on those values.
  • 29. Basic Definitions • Variable - a name that refers to a value. • Assignment statement - associates a value with a variable.
  • 30. String Data Type Data Type Attributes Values sequence of characters Typical literals “Hello”, “1 “, “*” Operation Concatenate Operator + • Useful for program input and output.
  • 32. String Data Type • Meaning of characters depends on context.
  • 33. String Data Type Expression Value “Hi, “ + “Bob” “Hi, Bob” “1” + “ 2 “ + “ 1” “ 1 2 1” “1234” + “ + “ + “99” “1234 + 99” “1234” + “99” “123499”
  • 35. Exercise: Command Line Arguments • Create the Java program below that takes a name as command-line argument and prints “Hi <name>, How are you?”
  • 36. Integer Data Type Data Type Attributes Values Integers between -2E31 to +2E31-1 Typical literals 1234, -99 , 99, 0, 1000000 Operation Add subtract multiply divide remainder Operator + - * / % • Useful for expressing algorithms.
  • 37. Integer Data Type Expression Value Comment 5 + 3 8 5 – 3 2 5 * 3 15 5 / 3 1 no fractional part 5 % 3 2 remainder 1 / 0 run-time error 3 * 5 - 2 13 * has precedence 3 + 5 / 2 5 / has precedence 3 – 5 - 2 -4 left associative (3-5) - 2 -4 better style 3 – (5-2) 0 unambiguous
  • 38. Double Data Type • Useful in scientific applications and floating- point arithmetic Data Type Attributes Values Real numbers specified by the IEEE 754 standard Typical literals 3.14159 6.022e23 -3.0 2.0 1.41421356237209 Operation Add subtract multiply divide Operator + - * /
  • 39. Double Data Type Expression Value 3.141 + 0.03 3.171 3.141 – 0.03 3.111 6.02e23 / 2 3.01e23 5.0 / 2.0 1.6666666666667 10.0 % 3.141 0.577 1.0 / 0.0 Infinity Math.sqrt(2.0) 1.4142135623730951
  • 40. Java Math Library Methods Math.sin() Math.cos() Math.log() Math.exp() Math.sqrt() Math.pow() Math.min() Math.max() Math.abs() Math.PI http://java.sun.com/javase/6/docs/api/java/lang/Math.html
  • 42. Exercise: Integer Operations • Create a Java class named IntOpsin the Java101 project that performs integer operations on a pair of integers from the command line and prints the results.
  • 44. Boolean Data Type • Useful to control logic and flow of a program. Data Type Attributes Values true or false Typical literals true false Operation and or not Operator && || !
  • 45. Truth-table of Boolean Operations a !a a b a && b a || b true false false false false false false true false true false true true false false true true true true true
  • 46. Boolean Comparisons • Take operands of one type and produce an operand of type boolean. operation meaning true false == equals 2 == 2 2 == 3 != Not equals 3 != 2 2 != 2 < Less than 2 < 13 2 < 2 <= Less than or equal 2 <= 2 3 <= 2 > Greater than 13 > 2 2 > 13 >= Greater than or equal 3 >= 2 2 >= 3
  • 47. Type Conversion • Convert from one type of data to another. • Implicit – no loss of precision – with strings • Explicit: – cast – method.
  • 48. Type Conversion Examples expression Expression type Expression value “1234” + 99 String “123499” Integer.parseInt(“123”) int 123 (int) 2.71828 int 2 Math.round(2.71828) long 3 (int) Math.round(2.71828) int 3 (int) Math.round(3.14159) int 3 11 * 0.3 double 3.3 (int) 11 * 0.3 double 3.3 11 * (int) 0.3 int 0 (int) (11 * 0.3) int 3
  • 50. Exercise: Leap Year Finder • A year is a leap year if it is either divisible by 400 or divisible by 4 but not 100. • Write a java class named LeapYear in the Java101 project that takes a numeric year as command line argument and prints true if it’s a leap year and false if not
  • 52. Data Types Summary • A data type is a set of values and operations on those values. – String for text processing – double, int for mathematical calculation – boolean for decision making • In Java, you must: – Declare type of values. – Convert between types when necessary • Why do we need types? – Type conversion must be done at some level. – Compiler can help do it correctly. – Example: in 1996, Ariane 5 rocket exploded after takeoff because of bad type conversion.
  • 54. Conditionals and Loops • Sequence of statements that are actually executed in a program. • Enable us to choreograph control flow.
  • 55. Conditionals • The if statement is a common branching structure. – Evaluate a boolean expression. • If true, execute some statements. • If false, execute other statements.
  • 57. More If Statement Examples
  • 58. While Loop • A common repetition structure. – Evaluate a boolean expression. – If true, execute some statements. – Repeat.
  • 59. For Loop • Another common repetition structure. – Execute initialization statement. – Evaluate a boolean expression. • If true, execute some statements. – And then the increment statement. – Repeat.
  • 60. Anatomy of a For Loop
  • 64. Exercise: Powers of Two • Create a new Java project in Eclipse named Pow2 • Write a java class named PowerOfTwo to print powers of 2 that are <= 2N where N is a number passed as an argument to the program. – Increment i from 0 to N. – Double v each time
  • 66. Control Flow Summary • Sequence of statements that are actually executed in a program. • Conditionals and loops enable us to choreograph the control flow. Control flow Description Example Straight line programs all statements are executed in the order given Conditionals certain statements are executed depending on the values of certain variables If If-else Loops certain statements are executed repeatedly until certain conditions are met while for do-while
  • 67. Homework Exercises Java 101: Introduction to Java
  • 69. Exercise: Random Number Generator • Write a java class named RandomInt to generate a pseudo-random number between 0 and N-1 where N is a number passed as an argument to the program
  • 72. Exercise: Array of Days • Create a java class named DayPrinter that prints out names of the days in a week from an array using a for-loop.
  • 73. Solution: Arrays of Days public class DayPrinter { public static void main(String[] args) { //initialize the array with the names of days of the week String[] daysOfTheWeek = {"Sunday","Monday","Tuesday","Wednesday", "Thuesday","Friday”,"Saturday"}; //loop through the array and print their elements to //stdout for (int i= 0;i < daysOfTheWeek.length;i++ ){ System.out.println(daysOfTheWeek[i]); } } } % javac DayPrinter.java % java DayPrinter Sunday Monday Tuesday Wednesday Thuesday Friday Saturday
  • 75. Exercise: Print Personal Details • Write a program that will print your name and address to the console, for example: Alex Johnson 23 Main Street New York, NY 10001 USA
  • 77. Exercise: Sales Discount • Create a new project in Eclipse named Sale • Create, compile, and run the FriendsAndFamily class as illustrated below • Debug this program in your IDE to find out how it works
  • 78. Further Reading • Java Tutorials - https://docs.oracle.com/javase/tutorial/ • Java Language Basics - http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html • Eclipse IDE Workbench User Guide - http://help.eclipse.org/kepler/index.jsp • Eclipse Tutorial - http://www.vogella.com/tutorials/Eclipse/article.html

Editor's Notes

  • #21: Source: http://profitswithjody.com/wp-content/uploads/2012/11/hello_world_Wallpaper_5ze28.jpg