SlideShare a Scribd company logo
1 of 41
Java: Building Blocks
       Cate Huston
       @kittenthebad
What We’ll Cover
•   Java: an Object Oriented Language

•   The Eclipse IDE

•   Writing your first program

•   Primitive Types

•   Strings

•   Conditions

•   Loops
Java: an Object
Oriented Language
What Does Object
Oriented Mean?
• If Ikea were made of code, it would totally
   be written in an Object Oriented language.
• Object-Oriented means that we break our
   code down into components (objects) with
   properties (fields), that can be used to
   make other objects, or interact with each
   other.
• (See? It’s a little bit like Ikea furniture!)
OK, Give Me an
Example!
•   Imagine a bike. If we wanted to “code” a bike, it
    would be a lot easier if we split it down into its
    component parts.

    •   wheels (x2)

    •   breaks

    •   seat

    •   frame

    •   peddles...
Another?
•   How about a ToDo list?

•   It’s make up of tasks.

•   Each task should have things associated with it, such as:

    •   It’s name

    •   The date it’s due

    •   The date we actually complete it

    •   An estimate of how long it will take

    •   The date we started it
Try It!

• Think of a complex object
• Break it down into it’s component parts
• What information does each component
  need to know about itself?
The Eclipse IDE
Eclipse is a powerful, free and open source Java IDE
(Integrated Development Environment). It has some
    very useful features for learning to program.
Let’s start by making a new project.
    File => New => Java Project
Let’s call it “Hello World”.
It’s a programming tradition.
Now we make a new “class”. Java classes
are where we represent our “objects”.
Let’s call this “HelloWorld”. Notice how
 there are no spaces? That’s important.
Our first class!
It should look like this.
Writing Your First
    Program
Finally! Write Some
Code

• For our first program, we’re going to write
  something that prints out “Hello World” in
  the terminal.
• (Sorry, programmer tradition)
Click on “Run” (the green “play
button), and see what happens.
What Does It All Mean?
•   public class HelloWorld {

    •   Declares our class/object with name “HelloWorld”. Everything inside the “{“ is part of the
        class. Public is to do with it’s visibility (don’t worry about that for now).

•   
       public static void main(String[] args) {

    •   This is our “main” method, what’s called when we click “run”. The String[] args means
        we can pass arguments to it, if we want to. Everything inside the “{“ is part of the main
        method.

•   
       
     System.out.println("Hello World");

    •   This means - print out “Hello World” to the terminal. The “;” is important, it denotes the
        end of the line of code. We’re going to be using a lot of these.

•   
       }                                  }

    •   The first closing bracket denotes the end of the “main” method, the second the end of the
        HelloWorld class.
Primitive Types
Building Blocks
• Primitives are the most basic kinds of “type”
  in Java (a building block!)
• You can also think of them as like atoms in
  chemistry.
• A “type” is where we say what kind of thing
  a variable is.
• Objects are made up of other objects and
  primitives.
For Example...
• Whole numbers, like 42, or 926 are of type
  int (or short, or long).

• Decimal numbers, like 2.34376 or 1.203 are
  float, or double.
• True or False are boolean.
• A character like ‘a’ or ‘c’ is a char. Notice
  the single quotes? Those are important.
Declaring Variables
•   We can declare a variable of a primitive type in Java as
    follows:

    •   int i = 42;

    •   double d = 735.27;

    •   boolean b = true;

    •   char c = ‘h’;

•   So:

    •   type variable_name = value;
See how we can use the “+” sign to
     include it in our output?
Strings
Strings

•   A String is not a primitive, it’s an Object,
    but we can declare it like a primitive.

•   It’s a little more complex to declare
    Objects (but we’ll look at that later)
    •   String s = “hello world”;
    •   String s = “hello world” + “nhow are you?”
Conditions
Comparing Things
•   We compare things in          •   Equals: ==
    Java using conditional
    logic.                        •   Greater Than: >

•   We can put this in an “if     •   Less Than: <
    statement”
                                  •   Greater Than or
    •   if (a == b ) { ... }          Equal To: >=

    •   else if (a < b) { ... }   •   Less Than or Equal
                                      To: <=
    •   else { ... }
Try this for different values of a
              and b
Loops
Repeating Things
• Loops are helpful for sections of code
  that we want to repeat.
• There are three kinds of loop.
 • while
 • do while
 • for
For Loops
• For when we know how many times
  we want to repeat something.
• 10 times
 • for(int i = 0; i < 10; i++)
• For each character in a string
 • for(int i = 0; i < stringname.length(); i++)
Repeat Something 10 Times
For each character in a string. s.charAt(i) gets
   the character in the string at position i.
While and Do-While
Loops
•   When we want to repeat something until a
    condition changes.

•   In a while loop we check that condition at the
    start of the loop

    •   while(a == b) { ... }

•   In a do-while loop we check that condition at
    the end of the loop.

    •   do { ... } while (a == b)
Example While Loop
Example Do-While
Whitespace
Tidy Code
•   Tidy code is much easier to read (and debug!)

    •   Debug - fix when it’s not working.

•   As a rule, indent in one inside each set of {}.

•   In longer sections of code, we can use // to denote a
    comment.

    •   A comment is code that is ignored by the compiler.

•   The Java compiler ignores whitespace, so use line breaks
    wherever you think it will make your code clearer.
Finally...
Finally

• This slide deck covers the very basics of
  Java - the building blocks.
• It’s important to understand these, because
  everything else builds upon them.
• Next, we’re going to look at Processing.
@kittenthebad
http://kittenthebad.wordpress.com/

  catehuston@googlewave.com

More Related Content

What's hot

Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...
Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...
Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...Edureka!
 
The Great Mind Challenge
The Great Mind ChallengeThe Great Mind Challenge
The Great Mind ChallengeTony Pearson
 
Java string handling
Java string handlingJava string handling
Java string handlingSalman Khan
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...
Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...
Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...Edureka!
 
C# Dictionary Hash Table and sets
C# Dictionary Hash Table and setsC# Dictionary Hash Table and sets
C# Dictionary Hash Table and setsSimplilearn
 
Python web frameworks
Python web frameworksPython web frameworks
Python web frameworksNEWLUG
 

What's hot (20)

Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...
Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...
Tkinter Python Tutorial | Python GUI Programming Using Tkinter Tutorial | Pyt...
 
The Great Mind Challenge
The Great Mind ChallengeThe Great Mind Challenge
The Great Mind Challenge
 
Angular Data Binding
Angular Data BindingAngular Data Binding
Angular Data Binding
 
Python projects
Python projectsPython projects
Python projects
 
Basic Python Django
Basic Python DjangoBasic Python Django
Basic Python Django
 
Angularjs PPT
Angularjs PPTAngularjs PPT
Angularjs PPT
 
C# classes objects
C#  classes objectsC#  classes objects
C# classes objects
 
Java string handling
Java string handlingJava string handling
Java string handling
 
Wrapper class
Wrapper classWrapper class
Wrapper class
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
 
Angular js PPT
Angular js PPTAngular js PPT
Angular js PPT
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...
Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...
Java Classes | Java Tutorial for Beginners | Java Classes and Objects | Java ...
 
C# basics
 C# basics C# basics
C# basics
 
Advance oops concepts
Advance oops conceptsAdvance oops concepts
Advance oops concepts
 
Introduction to Mysql
Introduction to MysqlIntroduction to Mysql
Introduction to Mysql
 
C# Dictionary Hash Table and sets
C# Dictionary Hash Table and setsC# Dictionary Hash Table and sets
C# Dictionary Hash Table and sets
 
ReactJS presentation.pptx
ReactJS presentation.pptxReactJS presentation.pptx
ReactJS presentation.pptx
 
Python web frameworks
Python web frameworksPython web frameworks
Python web frameworks
 

Similar to Java Building Blocks

Presentation 2nd
Presentation 2ndPresentation 2nd
Presentation 2ndConnex
 
CPP13 - Object Orientation
CPP13 - Object OrientationCPP13 - Object Orientation
CPP13 - Object OrientationMichael Heron
 
Android webinar class_java_review
Android webinar class_java_reviewAndroid webinar class_java_review
Android webinar class_java_reviewEdureka!
 
Developer’s viewpoint on swift programming language
Developer’s viewpoint on swift programming languageDeveloper’s viewpoint on swift programming language
Developer’s viewpoint on swift programming languageAzilen Technologies Pvt. Ltd.
 
C++ Introduction brown bag
C++ Introduction brown bagC++ Introduction brown bag
C++ Introduction brown bagJacob Green
 
Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...Julie Meloni
 
Introduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformIntroduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformEastBanc Tachnologies
 
CPP02 - The Structure of a Program
CPP02 - The Structure of a ProgramCPP02 - The Structure of a Program
CPP02 - The Structure of a ProgramMichael Heron
 
Code Like Pythonista
Code Like PythonistaCode Like Pythonista
Code Like PythonistaChiyoung Song
 
Core Java Basics
Core Java BasicsCore Java Basics
Core Java BasicsFayis-QA
 
Дмитрий Нестерук, Паттерны проектирования в XXI веке
Дмитрий Нестерук, Паттерны проектирования в XXI векеДмитрий Нестерук, Паттерны проектирования в XXI веке
Дмитрий Нестерук, Паттерны проектирования в XXI векеSergey Platonov
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++Dmitri Nesteruk
 
Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)Thinkful
 
Java Closures
Java ClosuresJava Closures
Java ClosuresBen Evans
 

Similar to Java Building Blocks (20)

2CPP02 - C++ Primer
2CPP02 - C++ Primer2CPP02 - C++ Primer
2CPP02 - C++ Primer
 
Presentation 2nd
Presentation 2ndPresentation 2nd
Presentation 2nd
 
CPP13 - Object Orientation
CPP13 - Object OrientationCPP13 - Object Orientation
CPP13 - Object Orientation
 
Javascript
JavascriptJavascript
Javascript
 
Android webinar class_java_review
Android webinar class_java_reviewAndroid webinar class_java_review
Android webinar class_java_review
 
Developer’s viewpoint on swift programming language
Developer’s viewpoint on swift programming languageDeveloper’s viewpoint on swift programming language
Developer’s viewpoint on swift programming language
 
Ruby basics
Ruby basicsRuby basics
Ruby basics
 
C++ Introduction brown bag
C++ Introduction brown bagC++ Introduction brown bag
C++ Introduction brown bag
 
Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...Speaking 'Development Language' (Or, how to get your hands dirty with technic...
Speaking 'Development Language' (Or, how to get your hands dirty with technic...
 
Introduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformIntroduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platform
 
CPP02 - The Structure of a Program
CPP02 - The Structure of a ProgramCPP02 - The Structure of a Program
CPP02 - The Structure of a Program
 
Code Like Pythonista
Code Like PythonistaCode Like Pythonista
Code Like Pythonista
 
Core Java Basics
Core Java BasicsCore Java Basics
Core Java Basics
 
Дмитрий Нестерук, Паттерны проектирования в XXI веке
Дмитрий Нестерук, Паттерны проектирования в XXI векеДмитрий Нестерук, Паттерны проектирования в XXI веке
Дмитрий Нестерук, Паттерны проектирования в XXI веке
 
python.pdf
python.pdfpython.pdf
python.pdf
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++
 
Java Tutorial
Java Tutorial Java Tutorial
Java Tutorial
 
Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)
 
Java Closures
Java ClosuresJava Closures
Java Closures
 
2CPP17 - File IO
2CPP17 - File IO2CPP17 - File IO
2CPP17 - File IO
 

More from Cate Huston

15 Tools to Make University Easier
15 Tools to Make University Easier15 Tools to Make University Easier
15 Tools to Make University EasierCate Huston
 
Holiday Science Lecture: Art, Life and Programming
Holiday Science Lecture: Art, Life and ProgrammingHoliday Science Lecture: Art, Life and Programming
Holiday Science Lecture: Art, Life and ProgrammingCate Huston
 
Art, Life and Programming
Art, Life and ProgrammingArt, Life and Programming
Art, Life and ProgrammingCate Huston
 
Thinking Like a Programmer
Thinking Like a ProgrammerThinking Like a Programmer
Thinking Like a ProgrammerCate Huston
 
An Introduction to Processing
An Introduction to ProcessingAn Introduction to Processing
An Introduction to ProcessingCate Huston
 
Art, Life and Programming
Art, Life and ProgrammingArt, Life and Programming
Art, Life and ProgrammingCate Huston
 
Microsoft Vista: A Usability Problem
Microsoft Vista: A Usability ProblemMicrosoft Vista: A Usability Problem
Microsoft Vista: A Usability ProblemCate Huston
 

More from Cate Huston (10)

15 Tools to Make University Easier
15 Tools to Make University Easier15 Tools to Make University Easier
15 Tools to Make University Easier
 
Holiday Science Lecture: Art, Life and Programming
Holiday Science Lecture: Art, Life and ProgrammingHoliday Science Lecture: Art, Life and Programming
Holiday Science Lecture: Art, Life and Programming
 
Art, Life and Programming
Art, Life and ProgrammingArt, Life and Programming
Art, Life and Programming
 
Thinking Like a Programmer
Thinking Like a ProgrammerThinking Like a Programmer
Thinking Like a Programmer
 
An Introduction to Processing
An Introduction to ProcessingAn Introduction to Processing
An Introduction to Processing
 
Art, Life and Programming
Art, Life and ProgrammingArt, Life and Programming
Art, Life and Programming
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Processing
ProcessingProcessing
Processing
 
iPhone Commerce
iPhone CommerceiPhone Commerce
iPhone Commerce
 
Microsoft Vista: A Usability Problem
Microsoft Vista: A Usability ProblemMicrosoft Vista: A Usability Problem
Microsoft Vista: A Usability Problem
 

Recently uploaded

PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 

Recently uploaded (20)

PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 

Java Building Blocks

  • 1. Java: Building Blocks Cate Huston @kittenthebad
  • 2. What We’ll Cover • Java: an Object Oriented Language • The Eclipse IDE • Writing your first program • Primitive Types • Strings • Conditions • Loops
  • 4. What Does Object Oriented Mean? • If Ikea were made of code, it would totally be written in an Object Oriented language. • Object-Oriented means that we break our code down into components (objects) with properties (fields), that can be used to make other objects, or interact with each other. • (See? It’s a little bit like Ikea furniture!)
  • 5. OK, Give Me an Example! • Imagine a bike. If we wanted to “code” a bike, it would be a lot easier if we split it down into its component parts. • wheels (x2) • breaks • seat • frame • peddles...
  • 6. Another? • How about a ToDo list? • It’s make up of tasks. • Each task should have things associated with it, such as: • It’s name • The date it’s due • The date we actually complete it • An estimate of how long it will take • The date we started it
  • 7. Try It! • Think of a complex object • Break it down into it’s component parts • What information does each component need to know about itself?
  • 9. Eclipse is a powerful, free and open source Java IDE (Integrated Development Environment). It has some very useful features for learning to program.
  • 10. Let’s start by making a new project. File => New => Java Project
  • 11. Let’s call it “Hello World”. It’s a programming tradition.
  • 12. Now we make a new “class”. Java classes are where we represent our “objects”.
  • 13. Let’s call this “HelloWorld”. Notice how there are no spaces? That’s important.
  • 14. Our first class! It should look like this.
  • 16. Finally! Write Some Code • For our first program, we’re going to write something that prints out “Hello World” in the terminal. • (Sorry, programmer tradition)
  • 17. Click on “Run” (the green “play button), and see what happens.
  • 18. What Does It All Mean? • public class HelloWorld { • Declares our class/object with name “HelloWorld”. Everything inside the “{“ is part of the class. Public is to do with it’s visibility (don’t worry about that for now). • public static void main(String[] args) { • This is our “main” method, what’s called when we click “run”. The String[] args means we can pass arguments to it, if we want to. Everything inside the “{“ is part of the main method. • System.out.println("Hello World"); • This means - print out “Hello World” to the terminal. The “;” is important, it denotes the end of the line of code. We’re going to be using a lot of these. • } } • The first closing bracket denotes the end of the “main” method, the second the end of the HelloWorld class.
  • 20. Building Blocks • Primitives are the most basic kinds of “type” in Java (a building block!) • You can also think of them as like atoms in chemistry. • A “type” is where we say what kind of thing a variable is. • Objects are made up of other objects and primitives.
  • 21. For Example... • Whole numbers, like 42, or 926 are of type int (or short, or long). • Decimal numbers, like 2.34376 or 1.203 are float, or double. • True or False are boolean. • A character like ‘a’ or ‘c’ is a char. Notice the single quotes? Those are important.
  • 22. Declaring Variables • We can declare a variable of a primitive type in Java as follows: • int i = 42; • double d = 735.27; • boolean b = true; • char c = ‘h’; • So: • type variable_name = value;
  • 23. See how we can use the “+” sign to include it in our output?
  • 25. Strings • A String is not a primitive, it’s an Object, but we can declare it like a primitive. • It’s a little more complex to declare Objects (but we’ll look at that later) • String s = “hello world”; • String s = “hello world” + “nhow are you?”
  • 27. Comparing Things • We compare things in • Equals: == Java using conditional logic. • Greater Than: > • We can put this in an “if • Less Than: < statement” • Greater Than or • if (a == b ) { ... } Equal To: >= • else if (a < b) { ... } • Less Than or Equal To: <= • else { ... }
  • 28. Try this for different values of a and b
  • 29. Loops
  • 30. Repeating Things • Loops are helpful for sections of code that we want to repeat. • There are three kinds of loop. • while • do while • for
  • 31. For Loops • For when we know how many times we want to repeat something. • 10 times • for(int i = 0; i < 10; i++) • For each character in a string • for(int i = 0; i < stringname.length(); i++)
  • 33. For each character in a string. s.charAt(i) gets the character in the string at position i.
  • 34. While and Do-While Loops • When we want to repeat something until a condition changes. • In a while loop we check that condition at the start of the loop • while(a == b) { ... } • In a do-while loop we check that condition at the end of the loop. • do { ... } while (a == b)
  • 38. Tidy Code • Tidy code is much easier to read (and debug!) • Debug - fix when it’s not working. • As a rule, indent in one inside each set of {}. • In longer sections of code, we can use // to denote a comment. • A comment is code that is ignored by the compiler. • The Java compiler ignores whitespace, so use line breaks wherever you think it will make your code clearer.
  • 40. Finally • This slide deck covers the very basics of Java - the building blocks. • It’s important to understand these, because everything else builds upon them. • Next, we’re going to look at Processing.