SlideShare a Scribd company logo
1 of 48
Download to read offline
6.092: Intro to Java
2: More types, Methods,
Conditionals
Outline
•  Lecture 1 Review
•  More types
•  Methods
•  Conditionals
Types
Kinds of values that can be stored and
manipulated.
boolean: Truth value (true or false).
int: Integer (0, 1, -47).
double: Real number (3.14, 1.0, -2.1).
String: Text (“hello”, “example”).
Variables
Named location that stores a value
Example:
String a = “a”;
String b = “letter b”;
a = “letter a”;
String c = a + “ and “ + b;
Operators
Symbols that perform simple computations
Assignment: =
Addition: +
Subtraction: ­
Multiplication: *
Division: /
class GravityCalculator {
public static void main(String[] args) {
double gravity = -9.81;
double initialVelocity = 0.0;
double fallingTime = 10.0;
double initialPosition = 0.0;
double finalPosition = .5 * gravity * fallingTime *
fallingTime;
finalPosition = finalPosition +
initialVelocity * fallingTime;
finalPosition = finalPosition + initialPosition;
System.out.println("An object's position after " +
fallingTime + " seconds is " +
finalPosition + “ m.");
}
}
finalPosition = finalPosition +
initialVelocity * fallingTime;
finalPosition = finalPosition + initialPosition;
OR
finalPosition += initialVelocity * fallingTime;
finalPosition += initialPosition;
Questions from last lecture?
Outline
•  Lecture 1 Review
•  More types
•  Methods
•  Conditionals
Division
Division (“/”) operates differently on
integers and on doubles!
Example:
double a = 5.0/2.0; // a = 2.5
int b = 4/2; // b = 2
int c = 5/2; // c = 2
double d = 5/2; // d = 2.0
Order of Operations
Precedence like math, left to right
Right hand side of = evaluated first
Parenthesis increase precedence
double x = 3 / 2 + 1; // x = 2.0
double y = 3 / (2 + 1); // y = 1.0
Mismatched Types
Java verifies that types always match:
String five = 5; // ERROR!
test.java.2: incompatible types
found: int
required: java.lang.String
String five = 5;
Conversion by casting
int a = 2; // a = 2
double a = 2; // a = 2.0 (Implicit)
int a = 18.7; // ERROR
int a = (int)18.7; // a = 18
double a = 2/3; // a = 0.0
double a = (double)2/3; // a = 0.6666…
Outline
•  Lecture 1 Review
•  More types
•  Methods
•  Conditionals
Methods
{
}
public static void main(String[] arguments)
System.out.println(“hi”);
Adding Methods
public static void NAME() {
STATEMENTS
}
To call a method:
NAME();
class NewLine {
public static void newLine() {
System.out.println("");
}
public static void threeLines() {
newLine(); newLine(); newLine();
}
public static void main(String[] arguments) {
System.out.println("Line 1");
threeLines();
System.out.println("Line 2");
}
}
class NewLine {
public static void newLine() {
System.out.println("");
}
public static void main(String[] arguments) {
System.out.println("Line 1");
threeLines();
System.out.println("Line 2");
public static void threeLines() {
newLine(); newLine(); newLine();
}
}
}
public static void main(String[] arguments) {
System.out.println("Line 1");
threeLines();
System.out.println("Line 2");
public static void threeLines() {
newLine(); newLine(); newLine();
}
class NewLine {
public static void
""
newLine() {
System.out.println( );
}
}
}
Parameters
public static void NAME(TYPE NAME) {
STATEMENTS
}
To call:
NAME(EXPRESSION);
class Square {
public static void printSquare(int x) {
System.out.println(x*x);
}
public static void main(String[] arguments) {
int value = 2;
printSquare(value);
printSquare(3);
printSquare(value*2);
}
}
class Square2 {
public static void printSquare(int x) {
System.out.println(x*x);
}
public static void main(String[] arguments) {
printSquare("hello");
printSquare(5.5);
}
}
What’s wrong here?
class Square3 {
public static void printSquare(double x) {
System.out.println(x*x);
}
public static void main(String[] arguments) {
printSquare(5);
}
}
What’s wrong here?
Multiple Parameters
[…] NAME(TYPE NAME, TYPE NAME) {
STATEMENTS
}
To call:
NAME(arg1, arg2);
class Multiply {
public static void times (double a, double b) {
System.out.println(a * b);
}
public static void main(String[] arguments) {
times (2, 2);
times (3, 4);
}
}
Return Values
public static TYPE NAME() {
STATEMENTS
return EXPRESSION;
}
void means “no type”
class Square3 {
public static void printSquare(double x) {
System.out.println(x*x);
}
public static void main(String[] arguments) {
printSquare(5);
}
}
class Square4 {
public static double square(double x) {
return x*x;
}
public static void main(String[] arguments) {
System.out.println(square(5));
System.out.println(square(2));
}
}
Variable Scope
Variables live in the block ({}) where they
are defined (scope)
Method parameters are like defining a
new variable in the method
class SquareChange {
public static void printSquare(int x) {
System.out.println("printSquare x = " + x);
x = x * x;
System.out.println("printSquare x = " + x);
}
public static void main(String[] arguments) {
int x = 5;
System.out.println("main x = " + x);
printSquare(x);
System.out.println("main x = " + x);
}
}
class Scope {
public static void main(String[] arguments) {
int x = 5;
if (x == 5) {
int x = 6;
int y = 72;
System.out.println("x = " + x + " y = " + y);
}
System.out.println("x = " + x + " y = " + y);
}
}
Methods: Building Blocks
•	 Big programs are built out of small methods
•	 Methods can be individually developed, tested and
reused
•	 User of method does not need to know how it works
•	 In Computer Science, this is called “abstraction”
Mathematical Functions
Math.sin(x)
Math.cos(Math.PI / 2)
Math.pow(2, 3)
Math.log(Math.log(x + y))
Outline
•  Lecture 1 Review
•  More types
•  Methods
•  Conditionals
if statement
if (CONDITION) {
STATEMENTS
}
public static void test(int x) {
if (x > 5) {
System.out.println(x + " is > 5");
}
}
public static void main(String[] arguments) {
test(6);
test(5);
test(4);
}
Comparison operators
x > y: x is greater than y
x < y: x is less than y
x >= y: x is greater than or equal to x
x <= y: x is less than or equal to y
x == y: x equals y
( equality: ==, assignment: = )
Boolean operators
&&: logical AND
||: logical OR
if ( x > 6 && x < 9) {
if (x > 6) {
…
if (x < 9) {
}
…
}
}
else
if (CONDITION) {
STATEMENTS
} else {
STATEMENTS
}
public static void test(int x) {
if (x > 5) {
System.out.println(x + " is > 5");
} else {
System.out.println(x + " is not > 5");
}
}
public static void main(String[] arguments) {
test(6);
test(5);
test(4);
}
else if
if (CONDITION) {
STATEMENTS
} else if (CONDITION) {
STATEMENTS
} else if (CONDITION) {
STATEMENTS
} else {
STATEMENTS
}
public static void test(int x) {
if (x > 5) {
System.out.println(x + " is > 5");
} else if (x == 5) {
System.out.println(x + " equals 5");
} else {
System.out.println(x + " is < 5");
}
}
public static void main(String[] arguments) {
test(6);
test(5);
test(4);
}
Questions?
Assignment: FooCorporation
Method to print pay based on base pay and
hours worked
Overtime: More than 40 hours, paid 1.5 times
base pay
Minimum Wage: $8.00/hour
Maximum Work: 60 hours a week
Reminder
•	 Write your own code
•	 Homework due tomorrow (Wednesday)
3pm on Stellar.
Conversion by method
int to String:
String five = 5; // ERROR!
String five = Integer.toString (5);
String five = “” + 5; // five = “5”
String to int:
int foo = “18”; // ERROR!
int foo = Integer.parseInt (“18”);
Comparison operators
•  Do NOT call == on doubles! EVER.
double a = Math.cos (Math.PI / 2);
double b = 0.0;
a = 6.123233995736766E-17
a == b will return FALSE!
MIT OpenCourseWare
http://ocw.mit.edu
6.092 Introduction to Programming in Java
January (IAP) 2010
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More Related Content

Similar to LECTURE 2 MORE TYPES, METHODS, CONDITIONALS.pdf

About java
About javaAbout java
About javaJay Xu
 
2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good TestsTomek Kaczanowski
 
Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...
Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...
Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...Ayes Chinmay
 
C# 6.0 - April 2014 preview
C# 6.0 - April 2014 previewC# 6.0 - April 2014 preview
C# 6.0 - April 2014 previewPaulo Morgado
 
Lecture 4_Java Method-constructor_imp_keywords
Lecture   4_Java Method-constructor_imp_keywordsLecture   4_Java Method-constructor_imp_keywords
Lecture 4_Java Method-constructor_imp_keywordsmanish kumar
 
Sharable_Java_Python.pdf
Sharable_Java_Python.pdfSharable_Java_Python.pdf
Sharable_Java_Python.pdfICADCMLTPC
 
Object Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ ExamsObject Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ ExamsMuhammadTalha436
 
ch04-conditional-execution.ppt
ch04-conditional-execution.pptch04-conditional-execution.ppt
ch04-conditional-execution.pptMahyuddin8
 
Creat Shape classes from scratch DETAILS You will create 3 shape cla.pdf
Creat Shape classes from scratch DETAILS You will create 3 shape cla.pdfCreat Shape classes from scratch DETAILS You will create 3 shape cla.pdf
Creat Shape classes from scratch DETAILS You will create 3 shape cla.pdfaromanets
 
Les nouveautés de C# 6
Les nouveautés de C# 6Les nouveautés de C# 6
Les nouveautés de C# 6Microsoft
 

Similar to LECTURE 2 MORE TYPES, METHODS, CONDITIONALS.pdf (20)

About java
About javaAbout java
About java
 
2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests
 
Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...
Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...
Internet and Web Technology (CLASS-16) [Basic Elements of Java Program] | NIC...
 
Anti patterns
Anti patternsAnti patterns
Anti patterns
 
Java Method, Static Block
Java Method, Static BlockJava Method, Static Block
Java Method, Static Block
 
What is new in Java 8
What is new in Java 8What is new in Java 8
What is new in Java 8
 
C# 6.0 - April 2014 preview
C# 6.0 - April 2014 previewC# 6.0 - April 2014 preview
C# 6.0 - April 2014 preview
 
Java 5 and 6 New Features
Java 5 and 6 New FeaturesJava 5 and 6 New Features
Java 5 and 6 New Features
 
Oop lecture9 13
Oop lecture9 13Oop lecture9 13
Oop lecture9 13
 
class object.pptx
class object.pptxclass object.pptx
class object.pptx
 
Core java Essentials
Core java EssentialsCore java Essentials
Core java Essentials
 
Lecture 4_Java Method-constructor_imp_keywords
Lecture   4_Java Method-constructor_imp_keywordsLecture   4_Java Method-constructor_imp_keywords
Lecture 4_Java Method-constructor_imp_keywords
 
Lezione03
Lezione03Lezione03
Lezione03
 
Lezione03
Lezione03Lezione03
Lezione03
 
Sharable_Java_Python.pdf
Sharable_Java_Python.pdfSharable_Java_Python.pdf
Sharable_Java_Python.pdf
 
Object Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ ExamsObject Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ Exams
 
ch04-conditional-execution.ppt
ch04-conditional-execution.pptch04-conditional-execution.ppt
ch04-conditional-execution.ppt
 
Creat Shape classes from scratch DETAILS You will create 3 shape cla.pdf
Creat Shape classes from scratch DETAILS You will create 3 shape cla.pdfCreat Shape classes from scratch DETAILS You will create 3 shape cla.pdf
Creat Shape classes from scratch DETAILS You will create 3 shape cla.pdf
 
Les nouveautés de C# 6
Les nouveautés de C# 6Les nouveautés de C# 6
Les nouveautés de C# 6
 
Java practical
Java practicalJava practical
Java practical
 

Recently uploaded

VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591adityaroy0215
 
Call Girls LB Nagar 7001305949 all area service COD available Any Time
Call Girls LB Nagar 7001305949 all area service COD available Any TimeCall Girls LB Nagar 7001305949 all area service COD available Any Time
Call Girls LB Nagar 7001305949 all area service COD available Any Timedelhimodelshub1
 
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service HyderabadCall Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabaddelhimodelshub1
 
Jalandhar Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...
Jalandhar  Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...Jalandhar  Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...
Jalandhar Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...Call Girls Service Chandigarh Ayushi
 
Call Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service Mohali
Call Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service MohaliCall Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service Mohali
Call Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service MohaliHigh Profile Call Girls Chandigarh Aarushi
 
VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591
VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591
VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591adityaroy0215
 
VIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service Hyderabad
VIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service HyderabadVIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service Hyderabad
VIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service Hyderabaddelhimodelshub1
 
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in LucknowRussian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknowgragteena
 
Call Girl Gurgaon Saloni 9711199012 Independent Escort Service Gurgaon
Call Girl Gurgaon Saloni 9711199012 Independent Escort Service GurgaonCall Girl Gurgaon Saloni 9711199012 Independent Escort Service Gurgaon
Call Girl Gurgaon Saloni 9711199012 Independent Escort Service GurgaonCall Girls Service Gurgaon
 
Dehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service DehradunDehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service DehradunNiamh verma
 
Leading transformational change: inner and outer skills
Leading transformational change: inner and outer skillsLeading transformational change: inner and outer skills
Leading transformational change: inner and outer skillsHelenBevan4
 
Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7
Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7
Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7Miss joya
 
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Russian Call Girls Amritsar
 
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...delhimodelshub1
 
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...Call Girls Noida
 

Recently uploaded (20)

VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
 
Call Girls LB Nagar 7001305949 all area service COD available Any Time
Call Girls LB Nagar 7001305949 all area service COD available Any TimeCall Girls LB Nagar 7001305949 all area service COD available Any Time
Call Girls LB Nagar 7001305949 all area service COD available Any Time
 
Russian Call Girls in Dehradun Komal 🔝 7001305949 🔝 📍 Independent Escort Serv...
Russian Call Girls in Dehradun Komal 🔝 7001305949 🔝 📍 Independent Escort Serv...Russian Call Girls in Dehradun Komal 🔝 7001305949 🔝 📍 Independent Escort Serv...
Russian Call Girls in Dehradun Komal 🔝 7001305949 🔝 📍 Independent Escort Serv...
 
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service HyderabadCall Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
 
Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Subhash Nagar Delhi reach out to us at 🔝9953056974🔝
 
Jalandhar Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...
Jalandhar  Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...Jalandhar  Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...
Jalandhar Female Call Girls Contact Number 9053900678 💚Jalandhar Female Call...
 
Call Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service Mohali
Call Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service MohaliCall Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service Mohali
Call Girls in Mohali Surbhi ❤️🍑 9907093804 👄🫦 Independent Escort Service Mohali
 
VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591
VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591
VIP Call Girl Sector 25 Gurgaon Just Call Me 9899900591
 
VIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service Hyderabad
VIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service HyderabadVIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service Hyderabad
VIP Call Girls Hyderabad Megha 9907093804 Independent Escort Service Hyderabad
 
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in LucknowRussian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
Russian Escorts Aishbagh Road * 9548273370 Naughty Call Girls Service in Lucknow
 
Call Girl Gurgaon Saloni 9711199012 Independent Escort Service Gurgaon
Call Girl Gurgaon Saloni 9711199012 Independent Escort Service GurgaonCall Girl Gurgaon Saloni 9711199012 Independent Escort Service Gurgaon
Call Girl Gurgaon Saloni 9711199012 Independent Escort Service Gurgaon
 
Call Girl Guwahati Aashi 👉 7001305949 👈 🔝 Independent Escort Service Guwahati
Call Girl Guwahati Aashi 👉 7001305949 👈 🔝 Independent Escort Service GuwahatiCall Girl Guwahati Aashi 👉 7001305949 👈 🔝 Independent Escort Service Guwahati
Call Girl Guwahati Aashi 👉 7001305949 👈 🔝 Independent Escort Service Guwahati
 
Dehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service DehradunDehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service Dehradun
Dehradun Call Girls Service ❤️🍑 9675010100 👄🫦Independent Escort Service Dehradun
 
Leading transformational change: inner and outer skills
Leading transformational change: inner and outer skillsLeading transformational change: inner and outer skills
Leading transformational change: inner and outer skills
 
Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7
Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7
Vip Kolkata Call Girls Cossipore 👉 8250192130 ❣️💯 Available With Room 24×7
 
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
 
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
 
College Call Girls Dehradun Kavya 🔝 7001305949 🔝 📍 Independent Escort Service...
College Call Girls Dehradun Kavya 🔝 7001305949 🔝 📍 Independent Escort Service...College Call Girls Dehradun Kavya 🔝 7001305949 🔝 📍 Independent Escort Service...
College Call Girls Dehradun Kavya 🔝 7001305949 🔝 📍 Independent Escort Service...
 
Russian Call Girls South Delhi 9711199171 discount on your booking
Russian Call Girls South Delhi 9711199171 discount on your bookingRussian Call Girls South Delhi 9711199171 discount on your booking
Russian Call Girls South Delhi 9711199171 discount on your booking
 
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
Vip sexy Call Girls Service In Sector 137,9999965857 Young Female Escorts Ser...
 

LECTURE 2 MORE TYPES, METHODS, CONDITIONALS.pdf

  • 1. 6.092: Intro to Java 2: More types, Methods, Conditionals
  • 2. Outline • Lecture 1 Review • More types • Methods • Conditionals
  • 3. Types Kinds of values that can be stored and manipulated. boolean: Truth value (true or false). int: Integer (0, 1, -47). double: Real number (3.14, 1.0, -2.1). String: Text (“hello”, “example”).
  • 4. Variables Named location that stores a value Example: String a = “a”; String b = “letter b”; a = “letter a”; String c = a + “ and “ + b;
  • 5. Operators Symbols that perform simple computations Assignment: = Addition: + Subtraction: ­ Multiplication: * Division: /
  • 6. class GravityCalculator { public static void main(String[] args) { double gravity = -9.81; double initialVelocity = 0.0; double fallingTime = 10.0; double initialPosition = 0.0; double finalPosition = .5 * gravity * fallingTime * fallingTime; finalPosition = finalPosition + initialVelocity * fallingTime; finalPosition = finalPosition + initialPosition; System.out.println("An object's position after " + fallingTime + " seconds is " + finalPosition + “ m."); } }
  • 7. finalPosition = finalPosition + initialVelocity * fallingTime; finalPosition = finalPosition + initialPosition; OR finalPosition += initialVelocity * fallingTime; finalPosition += initialPosition;
  • 9. Outline • Lecture 1 Review • More types • Methods • Conditionals
  • 10. Division Division (“/”) operates differently on integers and on doubles! Example: double a = 5.0/2.0; // a = 2.5 int b = 4/2; // b = 2 int c = 5/2; // c = 2 double d = 5/2; // d = 2.0
  • 11. Order of Operations Precedence like math, left to right Right hand side of = evaluated first Parenthesis increase precedence double x = 3 / 2 + 1; // x = 2.0 double y = 3 / (2 + 1); // y = 1.0
  • 12. Mismatched Types Java verifies that types always match: String five = 5; // ERROR! test.java.2: incompatible types found: int required: java.lang.String String five = 5;
  • 13. Conversion by casting int a = 2; // a = 2 double a = 2; // a = 2.0 (Implicit) int a = 18.7; // ERROR int a = (int)18.7; // a = 18 double a = 2/3; // a = 0.0 double a = (double)2/3; // a = 0.6666…
  • 14. Outline • Lecture 1 Review • More types • Methods • Conditionals
  • 15. Methods { } public static void main(String[] arguments) System.out.println(“hi”);
  • 16. Adding Methods public static void NAME() { STATEMENTS } To call a method: NAME();
  • 17. class NewLine { public static void newLine() { System.out.println(""); } public static void threeLines() { newLine(); newLine(); newLine(); } public static void main(String[] arguments) { System.out.println("Line 1"); threeLines(); System.out.println("Line 2"); } }
  • 18. class NewLine { public static void newLine() { System.out.println(""); } public static void main(String[] arguments) { System.out.println("Line 1"); threeLines(); System.out.println("Line 2"); public static void threeLines() { newLine(); newLine(); newLine(); } } }
  • 19. public static void main(String[] arguments) { System.out.println("Line 1"); threeLines(); System.out.println("Line 2"); public static void threeLines() { newLine(); newLine(); newLine(); } class NewLine { public static void "" newLine() { System.out.println( ); } } }
  • 20. Parameters public static void NAME(TYPE NAME) { STATEMENTS } To call: NAME(EXPRESSION);
  • 21. class Square { public static void printSquare(int x) { System.out.println(x*x); } public static void main(String[] arguments) { int value = 2; printSquare(value); printSquare(3); printSquare(value*2); } }
  • 22. class Square2 { public static void printSquare(int x) { System.out.println(x*x); } public static void main(String[] arguments) { printSquare("hello"); printSquare(5.5); } } What’s wrong here?
  • 23. class Square3 { public static void printSquare(double x) { System.out.println(x*x); } public static void main(String[] arguments) { printSquare(5); } } What’s wrong here?
  • 24. Multiple Parameters […] NAME(TYPE NAME, TYPE NAME) { STATEMENTS } To call: NAME(arg1, arg2);
  • 25. class Multiply { public static void times (double a, double b) { System.out.println(a * b); } public static void main(String[] arguments) { times (2, 2); times (3, 4); } }
  • 26. Return Values public static TYPE NAME() { STATEMENTS return EXPRESSION; } void means “no type”
  • 27. class Square3 { public static void printSquare(double x) { System.out.println(x*x); } public static void main(String[] arguments) { printSquare(5); } }
  • 28. class Square4 { public static double square(double x) { return x*x; } public static void main(String[] arguments) { System.out.println(square(5)); System.out.println(square(2)); } }
  • 29. Variable Scope Variables live in the block ({}) where they are defined (scope) Method parameters are like defining a new variable in the method
  • 30. class SquareChange { public static void printSquare(int x) { System.out.println("printSquare x = " + x); x = x * x; System.out.println("printSquare x = " + x); } public static void main(String[] arguments) { int x = 5; System.out.println("main x = " + x); printSquare(x); System.out.println("main x = " + x); } }
  • 31. class Scope { public static void main(String[] arguments) { int x = 5; if (x == 5) { int x = 6; int y = 72; System.out.println("x = " + x + " y = " + y); } System.out.println("x = " + x + " y = " + y); } }
  • 32. Methods: Building Blocks • Big programs are built out of small methods • Methods can be individually developed, tested and reused • User of method does not need to know how it works • In Computer Science, this is called “abstraction”
  • 33. Mathematical Functions Math.sin(x) Math.cos(Math.PI / 2) Math.pow(2, 3) Math.log(Math.log(x + y))
  • 34. Outline • Lecture 1 Review • More types • Methods • Conditionals
  • 35. if statement if (CONDITION) { STATEMENTS }
  • 36. public static void test(int x) { if (x > 5) { System.out.println(x + " is > 5"); } } public static void main(String[] arguments) { test(6); test(5); test(4); }
  • 37. Comparison operators x > y: x is greater than y x < y: x is less than y x >= y: x is greater than or equal to x x <= y: x is less than or equal to y x == y: x equals y ( equality: ==, assignment: = )
  • 38. Boolean operators &&: logical AND ||: logical OR if ( x > 6 && x < 9) { if (x > 6) { … if (x < 9) { } … } }
  • 39. else if (CONDITION) { STATEMENTS } else { STATEMENTS }
  • 40. public static void test(int x) { if (x > 5) { System.out.println(x + " is > 5"); } else { System.out.println(x + " is not > 5"); } } public static void main(String[] arguments) { test(6); test(5); test(4); }
  • 41. else if if (CONDITION) { STATEMENTS } else if (CONDITION) { STATEMENTS } else if (CONDITION) { STATEMENTS } else { STATEMENTS }
  • 42. public static void test(int x) { if (x > 5) { System.out.println(x + " is > 5"); } else if (x == 5) { System.out.println(x + " equals 5"); } else { System.out.println(x + " is < 5"); } } public static void main(String[] arguments) { test(6); test(5); test(4); }
  • 44. Assignment: FooCorporation Method to print pay based on base pay and hours worked Overtime: More than 40 hours, paid 1.5 times base pay Minimum Wage: $8.00/hour Maximum Work: 60 hours a week
  • 45. Reminder • Write your own code • Homework due tomorrow (Wednesday) 3pm on Stellar.
  • 46. Conversion by method int to String: String five = 5; // ERROR! String five = Integer.toString (5); String five = “” + 5; // five = “5” String to int: int foo = “18”; // ERROR! int foo = Integer.parseInt (“18”);
  • 47. Comparison operators • Do NOT call == on doubles! EVER. double a = Math.cos (Math.PI / 2); double b = 0.0; a = 6.123233995736766E-17 a == b will return FALSE!
  • 48. MIT OpenCourseWare http://ocw.mit.edu 6.092 Introduction to Programming in Java January (IAP) 2010 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.