EVE does Java

Views:
 
Category: Education
     
 

Presentation Description

Java: Passing Arrays

Comments

Presentation Transcript

Java: Passing an Array : 

Java: Passing an Array Eve does Java

Java: Passing an Array : 

Java: Passing an Array First a quick review on Arrays: The array construct provides a better way to store a collection of values- or objects. An array is a sequence of values of the same type.

Java: Passing an Array : 

Java: Passing an Array new double [10] double [] myNums To construct an array (or other object) you use new, and give the type, and how many spaces you need. But you need to declare it and give it a name to refer to it by. Square brackets indicate arrays.

Java: Passing an Array : 

Java: Passing an Array double [] myNums = new double [10] Or– put it together in one line. This says: “ I am creating an array of doubles called myNums of size 10”.

Java: Passing an Array : 

Java: Passing an Array myNums[0]= 35.3; myNums[1]=2.6666; myNums[2]=3.14; etc etc etc Each element of the array is referred to by an integer index. You can assign values to each element.

Java: Passing an Array : 

Java: Passing an Array System.out.println (“The value of this data item is “ + myNums[2]); You can also print out the value of any element.

Java: Passing an Array : 

Java: Passing an Array myNums.length i.e. System.out.println(myNums.length); To avoid out of bounds errors, use the length field. Note there are no ( )’s after the length. It is an instance variable of the array object, not a method. It is final and fixed- you cannot change it. It is immutable.

Java: Passing an Array : 

Java: Passing an Array int[] myNums={2,4,6,8,10}; You can also initialize an array by allocating it and filling it in one line. The compiler will count the elements, allocate the space, and fill it. In this case, myNums.length will equal 5.

Java: Passing an Array : 

Java: Passing an Array for (int i=0; i<myNums.length; i++) myNums[i] = i ; The best way to fill an array (with a sequence) is to use a for-loop (floop?) This will just fill the array with numbers from 0 to whatever the length is.

Java: Passing an Array : 

Java: Passing an Array for (int i=0; i<myNums.length; i++) sum= sum + myNums[i] ; Or how about sum all the numbers in a array?

Java: Passing an Array : 

Java: Passing an Array for (i=0; i<myNums.length; i++) myNums[i] = (int)(Math.random() * 100); Let’s do something a little more interesting, lets fill the array with random numbers. Random integers between 0 and 100

Java: Passing an Array : 

Java: Passing an Array for (i=0; i<myNums.length; i++) System.out.println(myNums[i] ); To see what got put in the array, you have to ‘floop’ it using a print statement.

Java: Passing an Array : 

Java: Passing an Array import java.util.Random; public class ArrayNums { public static void main (String[] args) { int [] myNums = new int [50]; for( int i=0; i< myNums.length; i++) myNums[i]= (int)(Math.random() *100); for( int i=0; i< myNums.length; i++) System.out.println( myNums[i]); } } Try running the program.

Java: Passing an Array : 

Java: Passing an Array public static void printArray() for( int i=0; i< myNums.length; i++) System.out.println( myNums[i]); Before we can pass anything, we need to separate this program into methods. Let’s create a print method. Call it ‘printArray’.

Java: Passing an Array : 

Java: Passing an Array public static void fillArray() { for( int i=0; i< myNums.length; i++) myNums[i]= (int)(Math.random() *100); } Create another one called ‘fillArray’

Java: Passing an Array : 

Java: Passing an Array Now we have to create the method calls. public static void main (String[] args) { int [] myNums = new int [50]; fillArray(myNums); printArray(myNums); } Tell it the name of the array you want to use.

Java: Passing an Array : 

Java: Passing an Array fillArray(myNums); fillArray(int[] anyNums) Now comes the fun part: We have to tell the methods what data type is going to be passed. Recall that method calls use actual parameters and method headers or signature use formal parameters. ACTUAL FORMAL

Java: Passing an Array : 

Java: Passing an Array fillArray(myNums); fillArray(int[] anyNums) Since methods can be used by anyone, they don’t have to have the same name- in fact it is preferable not to. The fillArray method can use anyones numbers. It just needs to know what type. ACTUAL FORMAL

Java: Passing an Array : 

Java: Passing an Array Try it-- Fill in the blanks import java.util.Random; public class ArrayNums { public static void main (String[] args) { // declare and method calls } public static void printArray(int[] anyNums) { // the print array routine } public static void fillArray(int[] anyNums) { // the fill array routine } }

Java: Passing an Array : 

Java: Passing an Array import java.util.Random; public class ArrayNums { public static void main (String[] args) { int [] myNums = new int [50]; fillArray(myNums); printArray(myNums); } public static void printArray(int[] anyNums) { for( int i=0; i< anyNums.length; i++) System.out.println( anyNums[i]); } public static void fillArray(int[] anyNums) { for( int i=0; i< anyNums.length; i++) } } Get it?

Java: Passing an Array : 

Java: Passing an Array Now that you can pass an array (using actual and formal parameters) you can do other things to the array with other methods, such as: Sum the elements and find the average Sort the array Find min or max…

Java: Passing an Array : 

Java: Passing an Array You can search an array for a value You can create arrays of arrays, i.e. an array of Java classes in the school, each class has an array of students, each student has an array of test scores. (Multi-dimensional arrays) --- Have fun!