0% found this document useful (0 votes)
17 views54 pages

OOP1 - Unit 3 (Amiraj) VisionPapers - in

Chapter 3 discusses methods and arrays in Java, explaining the definition and types of methods, including standard library and user-defined methods. It covers method creation, calling, passing arguments, method overloading, and the scope of variables, as well as the concept of arrays, including single and multidimensional arrays, and their processing. Additionally, it addresses searching and sorting algorithms like linear search, binary search, and bubble sort.

Uploaded by

Arya Desai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views54 pages

OOP1 - Unit 3 (Amiraj) VisionPapers - in

Chapter 3 discusses methods and arrays in Java, explaining the definition and types of methods, including standard library and user-defined methods. It covers method creation, calling, passing arguments, method overloading, and the scope of variables, as well as the concept of arrays, including single and multidimensional arrays, and their processing. Additionally, it addresses searching and sorting algorithms like linear search, binary search, and bubble sort.

Uploaded by

Arya Desai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

CHAPTER 3

METHODS AND ARRAYS

SUBJECT:OOP-I PREPARED BY:


CODE:3140705 ASST.PROF.NENSI KANSAGARA
(CSE DEPARTMENT,ACET)
DEFINING AND CALLING METHODS

In mathematics, we might have studied about functions. For example, f(x) = x2 is a function that returns a squared

value of x.

If x = 2, then f(2) = 4

If x = 3, f(3) = 9

and so on.

Similarly, in computer programming, a function is a block of code that performs a specific task.

In object-oriented programming, the method is a jargon used for function. Methods are bound to a class and they

define the behavior of a class.


TYPES OF JAVA METHODS

➔ Depending on whether a method is defined by the user, or available in the standard library, there are two types of

methods in Java:

◆ Standard Library Methods

◆ User-defined Methods
STANDARD LIBRARY METHOD

➔ The standard library methods are built-in methods in Java that are readily available

for use. These standard libraries come along with the Java Class Library (JCL) in a

Java archive (*.jar) file with JVM and JRE.

➔ For example,

◆ print() is a method of java.io.PrintSteam. The print("...") method prints the string

inside quotation marks.

◆ sqrt() is a method of Math class. It returns the square root of a number.


USER DEFINE METHOD

We can also create methods of our own choice to perform some task. Such methods are called

user-defined methods.

How to create a user-defined method?

Here is how we can create a method in Java:

public static void myMethod() {

System.out.println("My Function called");

}
➔ Here, we have created a method named myMethod(). We can see that we have used
the public, static and void before the method name.
◆ public - access modifier. It means the method can be accessed from anywhere.

To learn more, visit Java access modifier


◆ static - It means that the method can be accessed without any objects. To learn

more, visit the Java static Keyword.


◆ void - It means that the method does not return any value. We will learn more

about this later in this tutorial.


This is a simple example of how we can create a method. However, the complete syntax of a method definition

in Java is:

modifier static returnType nameOfMethod (parameters) {

// method body

Here,

➔ modifier - It defines access types whether the method is public, private and so on.

➔ static - If we use the static keyword, it can be accessed without creating objects.

For example, the sqrt() method of standard Math class is static. Hence, we can directly call Math.sqrt()

without creating an instance of Math class.

➔ returnType - It specifies what type of value a method returns For example if a method has int return type

then it returns an integer value.


➔ A method can return native data types (int, float, double, etc), native objects (String, Map, List, etc), or any other

built-in and user-defined objects.

If the method does not return a value, its return type is void.

➔ nameOfMethod - It is an identifier that is used to refer to the particular method in a program.


HOW TO CALL JAVA METHOD

1. While executing the program code, it encounters

myFunction(); in the code.

2. The execution then branches to the myFunction()

method and executes code inside the body of the

method.

3. After the execution of the method body, the program

returns to the original state and executes the next

statement after the method call.


CALL STACK
PASSING ARGUMENTS BY VALUES

Passing Parameters by Value means calling a method with a parameter. Through this, the argument value is passed to the
parameter.
OVERLOADING METHODS

➔ In Java, two or more methods can have same name if they differ in parameters (different number of

parameters, different types of parameters, or both). These methods are called overloaded methods and this

feature is called method overloading. For example:

➔ Here, the func() method is overloaded. These methods have the same name but accept different arguments.

➔ Notice that, the return type of these methods is not the same. Overloaded methods may or may not have

different return types, but they must differ in parameters they accept.
➔ Two or more methods can have

same name inside the same

class if they accept different

arguments. This feature is

known as method overloading.


➔ Method overloading is

achieved by either:
◆ changing the number of

arguments.

◆ or changing the datatype

of arguments.

➔ Method overloading is not

possible by changing the return

type of methods.
AMBIGUITY IN METHOD OVERLOADING
You will get compile time error as
The method foo(Object) is
ambiguous for the type Test because
both String and Integer class have
Object as parent class and there is no
inheritance. So java compiler doesn't
consider any of them to be more
specific, hence the method
ambiguous call error.
SCOPE OF VARIABLE ➔ Scope of a variable is the part of
the program where the variable is
accessible. Like C/C++, in Java,
all identifiers are lexically (or
statically) scoped, i.e.scope of a
variable can determined at
compile time and independent of
function call stack.
➔ Java programs are organized in
the form of classes. Every class is
part of some package. Java scope
rules can be covered under
following categories.
ABSTRACTIO
Abstract method in Java with
N AND examples. A method without body
(no implementation) is known as
STEPWISE abstract method. A method must
always be declared in an abstract
REFINEMEN class, or in other words you can say
that if a class has an abstract
T method, it should be declared
abstract as well.
TOP DOWN DESIGN
TOP DOWN AND BOTTOM UP
IMPLEMENTATION

➔ Stepwise refinement refers to the progressive refinement in small steps of a program


specification into a program. Sometimes, it is called top-down design. ... Wirth said, "It is
here considered as a sequence of design decisions concerning the decomposition of tasks
into subtasks and of data into data structures."
➔ Stepwise refinement: design a problem solution by
◆ stating the solution at a high level
◆ refining steps of the solution into simpler steps
◆ repeating step 2, until steps are simple enough to execute
➔ Decompose based on function of each step
➔ Makes heavy use of pseudocode
ARRAY USING JAVA
SINGLE DIMENSIONAL ARRAY

➔ An array is a collection of similar types of data. It is a container that holds data (values)

of one single type. For example, you can create an array that can hold 100 values of int

type.

➔ In Java, arrays are a fundamental construct that allows you to store and access a large

number of values conveniently.


HOW TO DECLARE AN ARRAY?

dataType[] arrayName;

● dataType - it can be primitive data types like int, char, double, byte, etc. or Java objects
● arrayName - it is an identifier

● Let's take an example,

double[] data;

Here, data is an array that can hold values of type double.


But, how many elements can array this hold?

Good question! We have to allocate memory for the array. The memory will define the

number of elements that the array can hold.

data = new Double[10];


PASSING AN ARRAY TO METHOD

➔ Just as you can pass primitive type values to methods, you can also pass
arrays to a method. To pass an array to a method, specify the name of the
array without any square brackets within the method call. Unlike C/C++, in
Java every array object knows its own length using its length field, therefore
while passing array's object reference into a method, we do not need to pass
the array length as an additional argument
RETURNING ARRAY FROM METHOD
TWO DIMENSIONAL ARRAY AND ITS
PROCESSING

Multidimensional arrays are arrays of arrays.


CONCEPT OF RAGGED ARRAY

➔ "Ragged Array" is an “Array of


Array”. This means one can create an
array in such a way that each element
of the array is a reference to another
array of same type. For example, a
two-dimensional array of 3 x 2 refers
three rows and two columns (i.e.)
each row has two columns.
COMMAND LINE ARGUMENTS
PASSING TWO DIMENSIONAL ARRAY TO
METHODS

➔ Just like one-dimensional arrays, a two-dimensional array can also be


passed to a method and it can also be returned from the method. The
syntax is similar to one-dimensional arrays with an exception that an
additional pair of square brackets is used.
MULTIDIMENSIONAL ARRAY

➔ A multidimensional array is an array of


arrays. Each element of a
multidimensional array is an array itself.
For example,
➔ int[][] a = new int[3][4];

➔ Here, we have created a

multidimensional array named a. It is a


2-dimensional array, that can hold a
maximum of 12 elements,
How to initialize a 2d array in Java?

Here is how we can initialize a 2-dimensional

array in Java.

int[][] a = {

{1, 2, 3},

{4, 5, 6, 9},

{7},

};
SEARCHING AND SORTING ARRAYS
AND ARRAY CLASS
SEARCHING
How to sort an array and search
ARRAY an element inside it?
LINEAR SEARCH

Linear search is used to search a key element from multiple elements. Linear search is less used
today because it is slower than binary search and hashing.
Algorithm:

● Step 1: Traverse the array


● Step 2: Match the key element with array element
● Step 3: If key element is found, return the index position of the array element
● Step 4: If key element is not found, return -1
BINARY SEARCH

➔ Binary search is used to search a


key element from multiple
elements. Binary search is faster
than linear search.
➔ In case of binary search, array
elements must be in ascending
order. If you have unsorted array,
you can sort the array using
Arrays.sort(arr) method.
SORTING How to sort an array and search
ARRAY an element inside it?
BUBBLE SORT

➔ We can create a java program to


sort array elements using bubble
sort. Bubble sort algorithm is
known as the simplest sorting
algorithm.
➔ In bubble sort algorithm, array
is traversed from first element
to last element. Here, current
element is compared with the
next element. If current element
is greater than the next element,
it is swapped.

You might also like