Methods Chris Piech CS 106 A Stanford University
- Slides: 170
Methods Chris Piech CS 106 A, Stanford University This is Method Man. He is part of the Wu Tang Clan. Piech, CS 106 A, Stanford University
Goal Piech, CS 106 A, Stanford University
Milestone 1 Piech, CS 106 A, Stanford University
Milestone 2 Piech, CS 106 A, Stanford University
Milestone 3 Piech, CS 106 A, Stanford University
Civilization advances by extending the number of operations we can perform without thinking about them. -Alfred North Whitehead Piech, CS 106 A, Stanford University
Learn How To: 1. Write a method that takes in input 2. Write a method that gives back output 3. Trace method calls using stacks Piech, CS 106 A, Stanford University
Calling Methods turn. Right(); move(); read. Int(“Int please! ”); println(“hello world”); rect. set. Filled(true); draw. Robot. Face(); add(rect); prevent. Global. Warming(); Piech, CS 106 A, Stanford University
Defining a Method private void turn. Right() { turn. Left(); } Big difference with Java methods: Java methods can take in data, and can return data! Piech, CS 106 A, Stanford University
Toasters are Methods For example: run. Toaster Piech, CS 106 A, Stanford University - Thanks Mehran
Toasters are Methods parameter Piech, CS 106 A, Stanford University
Toasters are Methods parameter Piech, CS 106 A, Stanford University
Toasters are Methods Piech, CS 106 A, Stanford University
Toasters are Methods Piech, CS 106 A, Stanford University
Toasters are Methods return Piech, CS 106 A, Stanford University
Toasters are Methods Piech, CS 106 A, Stanford University
Toasters are Methods * You don’t need a second toaster if you. Stanford want to University toast bagels. Use the same one. Piech, CS 106 A,
Toasters are Methods Piech, CS 106 A, Stanford University
Toasters are Methods Piech, CS 106 A, Stanford University
Toasters are Methods Piech, CS 106 A, Stanford University
Toasters are Methods Piech, CS 106 A, Stanford University
Toasters are Methods Piech, CS 106 A, Stanford University
Methods are Like Toasters Piech, CS 106 A, Stanford University
Methods are Like Toasters Piech, CS 106 A, Stanford University
Methods are Like Toasters Piech, CS 106 A, Stanford University
Methods are Like Toasters Piech, CS 106 A, Stanford University
Methods are Like Toasters return parameter(s) Piech, CS 106 A, Stanford University
Formally visibility type name. Of. Method(parameters) { statements } • visibility: usually private or public • type: type returned by method (e. g. , int , double, etc. ) • Can be void to indicate that nothing is returned • parameters: information passed into method Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } method “definition” private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } Output expected Input expected private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } Return Type Parameters private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } name private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } private double average(double a, double b) { double sum = a + b; body return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } private double average(double a, double b) { double sum = a + b; return sum / 2; Ends the method and gives } back a single value Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } private double average(double a, double b) { double sum = a + b; This statement is necessary return sum / 2; because average promised } to return a double Piech, CS 106 A, Stanford University
Anatomy of a method “call” public void run() { double mid = average(5. 0, 10. 2); println(mid); } private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method arguments public void run() { double mid = average(5. 0, 10. 2); println(mid); } private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method Return Type Parameters public void run() { double mid = average(5. 0, 10. 2); println(mid); } private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Anatomy of a method public void run() { double mid = average(5. 0, 10. 2); println(mid); } When a method ends it “returns” private double average(double a, double b) { double sum = a + b; return sum / 2; } Piech, CS 106 A, Stanford University
Parameters let you provide a method some information when you are calling it. Piech, CS 106 A, Stanford University
Learn by Example Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Void Example private void print. Intro() { println("Welcome to class"); println("It's the best part of my day. "); } public void run() { print. Intro(); } Piech, CS 106 A, Stanford University
Piech, CS 106 A, Stanford University
Parameter Example private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory print. Opinion memory No variables private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables print. Opinion memory num private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables print. Opinion memory num 5 private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables print. Opinion memory num 5 private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables print. Opinion memory num 5 private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables print. Opinion memory num 5 private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Parameter Example Run memory No variables private void print. Opinion(int num) { if(num == 5) { println(“I love 5!”); } else { println(“Whattever”); } } public void run() { print. Opinion(5); } Piech, CS 106 A, Stanford University
Piech, CS 106 A, Stanford University
Parameter and Return Example private double meters. To. Cm(double meters) { return 100 * meters; ; } public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory No variables private double meters. To. Cm(double meters) { return 100 * meters; ; } public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory No variables private double meters. To. Cm(double meters) { return 100 * meters; ; } public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory meteres. To. Cm memory No variables private double meters. To. Cm(double meters) { return 100 * meters; ; } public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory No variables meteres. To. Cm memory meters 5. 2 private double meters. To. Cm(double meters) { return 100 * meters; ; } public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory No variables meteres. To. Cm memory meters 5. 2 private double meters. To. Cm(double meters) { return 100 * meters; ; 520. 0 } public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory No variables private double meters. To. Cm(double meters) { return 100 * meters; ; } 520. 0 public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory result 520. 0 private double meters. To. Cm(double meters) { return 100 * meters; ; } 520. 0 public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Parameter and Return Example Run memory result 520. 0 private double meters. To. Cm(double meters) { return 100 * meters; ; } public void run() { double result = meters. To. Cm(5. 2); println(result); } Piech, CS 106 A, Stanford University
Piech, CS 106 A, Stanford University
Parameter and Return Example private double meters. To. Cm(double meters) { return 100 * meters; ; } public void run() { println(meters. To. Cm(5. 2)); println(meters. To. Cm(9. 1)); } Piech, CS 106 A, Stanford University
Piech, CS 106 A, Stanford University
Multiple Return Statements private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 num 2 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 5 num 2 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 5 num 2 1 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 5 num 2 1 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 5 num 2 1 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 5 num 2 1 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; 5 } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 5 num 2 1 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } 5 public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } 5 public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory larger 5 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } 5 public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory larger 5 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Piech, CS 106 A, Stanford University
Multiple Return Statements private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(5, 1); } Piech, CS 106 A, Stanford University
Multiple Return Statements private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 num 2 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 1 num 2 5 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 1 num 2 5 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables max memory num 1 1 num 2 5 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; 5 } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory No variables private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } 5 public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory larger 5 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } 5 public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Multiple Return Statements Run memory larger 5 private int max(int num 1, int num 2) { if(num 1 >= num 2) { return num 1; } return num 2; } public void run() { int larger = max(1, 5); } Piech, CS 106 A, Stanford University
Piech, CS 106 A, Stanford University
Method for Weight on Moon * Your weight on the moon is 16. 5% your weight on the earth Piech, CS 106 A, Stanford University
Passing in Classes Piech, CS 106 A, Stanford University
A Full Program public class Factorial. Example extends Console. Program { private static final int MAX_NUM = 4; public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } private int factorial(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } }
A Full Program public class Factorial. Example extends Console. Program { private static final int MAX_NUM = 4; public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } private int factorial(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } }
Understand the Mechanism
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0 result i
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0 result 1 i
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0 result 1 i 1
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0 result 1 i 1
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0 result 1 i 1
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 1 } i 0
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 1 } i 0! = 1 0
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result i
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result 1 i
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result 1 i 1
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result 1 i 1
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result 1 i 1
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result 1 i 2
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result 1 i 2
public void run() { private n) i++) { for(int i = factorial(int 0; i < MAX_NUM; { int result + = "! 1; = " + factorial(i)); println(i } for (int i = 1; i <= n; i++) { result *= i; } } 0 return result; } i n 0! = 1 1 result 1 i 2
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 1 } i 0! = 1 1
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 1 } i 0! = 1 1
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 2 } i 0! = 1 1! = 1 2
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 2 } i 0! = 1 1! = 1 2! = 2 2
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2! = 2 3
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2! = 2 3
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2! = 2 3
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! = 1 1! = 1 2! = 2 3
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 6 } i 0! = 1 1! = 1 2! = 2 3
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } 6 } i 0! 1! 2! 3! = = 1 1 2 6 3
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! 1! 2! 3! = = 1 1 2 6 4
public void run() { for(int i = 0; i < MAX_NUM; i++) { println(i + "! = " + factorial(i)); } } i 0! 1! 2! 3! = = 1 1 2 6 4
Parameters Every time a method is called, new memory is created for the call. Piech, CS 106 A, Stanford University
Bad Times With Methods // NOTE: This program is buggy!! private void add. Five(int x) { x += 5; } public void run() { int x = 3; add. Five(x); println("x = " + x); } Let’s “trace” this program on the board Piech, CS 106 A, Stanford University
Good Times With Methods // NOTE: This program is feeling just fine. . . private int add. Five(int x) { x += 5; return x; } public void run() { int x = 3; x = add. Five(x); println("x = " + x); } Piech, CS 106 A, Stanford University
For primitives: Variables are not passed when you use parameters. Values are passed Piech, CS 106 A, Stanford University
Pass by “Value” Piech, CS 106 A, Stanford University - Thanks Mehran
More Examples Piech, CS 106 A, Stanford University
Changed Name private void run() { int num = 5; cow(num); } private void cow(int grass) { println(grass); } Piech, CS 106 A, Stanford University
Same Variable Name private void run() { int num = 5; cow(); println(num); } private void cow() { int num = 10; println(num); } Piech, CS 106 A, Stanford University
No Methods in Methods private void run() { println(“hello world”); private void say. Goodbye() { println(“goodbye!”); } } Illegal modifier for parameter goodbye, only final is permitted Huh? !? Piech, CS 106 A, Stanford University
No Methods in Methods private void run() { println(“hello world”); say. Goodbye(); } private void say. Goodbye() { println(“goodbye!”); } Piech, CS 106 A, Stanford University
Learn How To: 1. Write a method that takes in input 2. Write a method that gives back output 3. Trace method calls using stacks Piech, CS 106 A, Stanford University
Remember Booleans? Piech, CS 106 A, Stanford University
Boolean Variable boolean karel. Is. Awesome = true; boolean my. Bool = 1 < 2; Piech, CS 106 A, Stanford University
Boolean Operations boolean a = true; boolean b = false; boolean and = a && b; boolean or = a || b; boolean not = !a; Piech, CS 106 A, Stanford University
Piech, CS 106 A, Stanford University
Is Square private void run() { for(int i = 1; i <= 100; i++) { if(is. Square(i)) { println(i); } } } Piech, CS 106 A, Stanford University
Boolean Return public void run() { for(int i = 1; i <= 100; i++) { if(is. Square(i)) { println(i); } } } private boolean is. Square(int x) { double root = Math. sqrt(x); if(root == Math. floor(root)) { return true; } else { return false; } } Piech, CS 106 A, Stanford University
Boolean Return public void run() { for(int i = 1; i <= 100; i++) { if(is. Square(i)) { println(i); } } } private boolean is. Square(int x) { double root = Math. sqrt(x); return root == Math. floor(root); } Piech, CS 106 A, Stanford University
Boolean Return public void run() { for(int i = 1; i <= 100; i++) { if(is. Square(i)) { println(i); } } } private boolean is. Square(int x) { double root = Math. sqrt(x); return root == (int)root; } Piech, CS 106 A, Stanford University
Extra Exercise • Greek mathematicians took a special interest in numbers that are equal to the sum of their proper divisors (a proper divisor of n is any divisor less than n itself). They called such numbers perfect numbers. For example, 6 is a perfect number because it is the sum of 1, 2, and 3, which are the integers less than 6 that divide evenly into 6. Similarly, 28 is a perfect number because it is the sum of 1, 2, 4, 7, and 14. • Design and implement a Java program that finds all the perfect numbers between two limits. For example, if the limits are 1 and 10000, the output should look like this: Find. Perfect The perfect numbers between 1 and 10000 are: 6 28 496 8128 Piech, CS 106 A, Stanford University
- Chris piech stanford
- Chris piech
- Karolina piech
- Karolina piech
- Stanford network registration
- Stanford continuing studies certificate
- Stanford university
- Steve jobs commencement address
- Cryptography stanford
- Dr. ash stanford
- Silicon valley stanford university
- Cs223 stanford
- Dan schonfeld
- Stanford university philosophy department
- Wax pattern in fpd
- 106 spelled out
- Fahrenheit 451 english
- Cs 106
- Irig 106 chapter 10 sample data
- Mae 106
- Plt 106
- 106 pal
- 106 signal brigade
- Error n-106
- Section 106 compliance
- Salmo 106
- Fas 106
- Kj 106
- Iec tc 106
- Iat 106
- Horizontal answers
- Roberts building 106
- 456x42
- 生命聖詩106
- 100 101 102
- Prime numbers 105
- Sqte-106
- 105 ×106
- Valori metabolismo glucidico
- Col 106 amit kumar
- 107 108 109
- Lusíadas canto v estância 92 a 100 recursos expressivos
- Cornua of uterus
- Marcus cicero 43 bc
- Tempo 106
- Iat 106
- Col 106
- Physics 106
- Ugba 106
- 106. newborn baby checklist
- Juvenile law definition
- Iat 106
- Jessica mehr
- Col 106 amit kumar
- Col 106 amit kumar
- 105106
- Research methods notes kenya
- "university of maryland university college"
- Web security stanford
- Smartmart stanford
- Stanford prison experiment cells
- Diego ongaro stanford
- Ndo stanford
- Stanford research park map
- Stanford hci group
- Mit csail hci course review
- Cs147 stanford
- Stanford gps lab
- Stanford cs223
- Glossarize
- Stanford
- Stanford 10 test
- Stanford achievement test kindergarten
- Stanford torus space station
- Stanford sdn
- Slac citrix
- Iq tests
- Leiter zeka testi
- Stanford karel
- Computer science department stanford
- Linear algebra
- Stanford lenel
- Jeffrey pfeffer
- Peter eastman stanford
- Fish hooks wiki
- Kurt akeley
- Stanford smartpage
- Evan elder stanford
- Stanford cs 155
- Yang liu stanford
- Stanford design thinking process
- Stanford wireless communication
- Ohc stanford
- Hue janice
- Jonathan taylor stanford
- Cioffi stanford
- Stanford manipulator
- Stanford house to brandywine falls trail
- Stanford cs251
- Cs251 stanford
- Cs 251 stanford
- Cs 148
- Achievement vs aptitude tests psychology
- Thesecretlivesofdata
- Stanford education data archive
- Cs 154 stanford
- Stanford binet adalah
- Stanford microsoft teams
- Stanford pos tagger
- Stanford hci group
- Stanford cs 147
- Stanford gps lab
- Cs223 stanford
- Parallel computing stanford
- Stanford
- Warren spar
- Sherlock stanford
- Stanford math tournament 2018 problems
- Britt stanford rit
- John mitchell stanford
- Lisa yan stanford
- Stanford information retrieval
- Cs 276
- Jerry cain stanford
- Google images
- Stanford image processing
- 5 examples of antivirus
- Stanford computer security
- Cliclofosfamida
- Shuang yang stanford
- Cs251 stanford
- Cs 246: mining massive data sets
- Cs 155
- Cs 152 stanford
- Stanford cs 142
- Yang liu stanford
- Abhinav agarwal stanford
- Stanford cs224w
- Jonathan taylor stanford
- Cicare stanford
- Cs stanford
- Kate lorig chronic disease self-management
- Stanford alumni consulting team
- Sat 10 practice test kindergarten
- Abu ghraib
- Susie phillips stanford cheerleader
- Ee371 stanford
- Ee371 stanford
- Ocro
- Manning natural language processing
- Stanford ner
- Stanford mips
- Disadvantages of microteaching
- Stanford mining massive datasets
- Cs stanford
- Stanford gsb
- Cs326 stanford
- Cs 326 stanford
- Yang liu stanford
- John mitchell stanford
- Stanford children's administrative fellowship
- Opacs stanford
- Stanford cs 142
- Stanford bioengineering
- Stanford prison experiment right to withdraw
- What is slac
- Stanford vsp
- Stanford linear accelerator tours
- Https://admit.applyweb.com/admit/shibboleth/stanford
- 231n stanford
- Stanford-binet intelligence scale