Presentation is loading. Please wait.

Presentation is loading. Please wait.

Math class methods & User defined methods Introduction to Computers and Programming in JAVA: V22.0002.

Similar presentations


Presentation on theme: "Math class methods & User defined methods Introduction to Computers and Programming in JAVA: V22.0002."— Presentation transcript:

1 Math class methods & User defined methods Introduction to Computers and Programming in JAVA: V22.0002

2 Math class methods Math.sqrt(4.0) Math.random() java.lang is the library/package that provides Math class methods such as –Math.random() to generate random numbers Java.lang is accessed by all java programs by default. –YOU do not have to include it at the beginning of the program as you do with javax package.

3  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 3 Random-Number Generation Often we want our programs to generate random numbers. –games of chance –testing without user interaction Java random-number generators –Math.random() Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. –What if we want to generate random integers?

4  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 4 Random-Number Generation –Math.random() Produces double from 0.0 to 1.0 (excluding 1) ( int ) ( Math.random() * 6 ) Produces integers from 0 – 5 –1 + ( int ) ( Math.random() * 6 ) Produces integers from 1 – 6 Scaling Shifting

5 Benefits of Methods Experience has shown that the best way to develop and maintain large programs is to build it from smaller components or modules. In Java, one such module is the method. Each module is generally simpler and more manageable than the entire program. This concept is known as Divide and Conquer, also with Abstraction in the mix.

6  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 6 User defined Method returning a value General format of method declaration: modifiers return-value-type method-name ( parameter1, …, parameterN ) { declarations and statements } Method can return one value: return expression ; Or, it can returns nothing using keyword void in the header. Method header Method body Scope of local variables

7 Return Value Types You can only return one value from a method. Returning void –void : means nothing –A method that returns void therefore returns nothing. –Hence, there is no need for the optional return statement. But using one can force early exit from the method. –Example: public static void printIntro (int n);

8 Parameter Data Types Unlike return values, you can pass as many parameters as you like. To pass more than one parameter, you need to separate the parameters with commas. public static int maximum (int x, int y) { /*body*/ }

9 Warning Unlike declaring variables, you must specifically state the type for multiple variables –For example takeInTwoFloats( float x, y ) is incorrect –Instead you must write takeInTwoFloats(float x, float y)

10 No parameters You can also have a method that accepts no parameters. In such case, you would just have an empty parameter list. E.g. public static int rollDie () public static void printIntro ()

11  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 11 6.5 Argument Promotion Coercion of arguments –Forcing arguments to appropriate type to pass to method e.g., System.out.println( Math.sqrt( 4 ) ); –Evaluates Math.sqrt( 4 ) –Then evaluates System.out.println() Promotion rules –Specify how to convert types without data loss

12  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 12

13 Understanding Scope

14  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 14 Local Variables & Scope A local variable: a variable defined inside a method. Scope: the part of the program where the variable can be referenced. The scope of a local variable starts from its declaration and continues to the end of the block that contains the variable. A local variable must be declared before it can be used.

15  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 15 Local Variables & Scope, continued You can declare a local variable with the same name multiple times in different non- nesting blocks in a method, but you cannot declare a local variable twice in nested blocks.

16 Overloading methods

17  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 17 6.15 Method Overloading Method overloading –Several methods of the same name –Different parameter set for each method Number of parameters Parameter types –The Java compiler determines which method to use based on the parameters. –Can also be used in conjunction with argument coercion. The combination can lead to ambiguous invocation which is an error

18  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 18 Ambiguous Invocation Sometimes there may be two or more possible matches for an invocation of a method, but the compiler cannot determine the most specific match. This is referred to as ambiguous invocation. Ambiguous invocation is a compilation error.

19  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this class. 19 Ambiguous Invocation public class AmbiguousOverloading { public static void main(String[] args) { System.out.println(max(1, 2)); } public static double max(int num1, double num2) { if (num1 > num2) return num1; else return num2; } public static double max(double num1, int num2) { if (num1 > num2) return num1; else return num2; }

20 review What is a method? What information can you learn about a method from its header? What does it mean to invoke a method? What is call by value? What is scope of local variables within a method? Why don’t we have to import the Math class? What is abstraction in computer science?


Download ppt "Math class methods & User defined methods Introduction to Computers and Programming in JAVA: V22.0002."

Similar presentations


Ads by Google