SLIDE 2
What did we talk about last time? Loop examples do-while loops
SLIDE 3
SLIDE 4
SLIDE 5 I said that the do-while loop is rarely used, but certain kinds
- f input are well suited to a do-while
For example, what about a program that gives a menu of
1.
Add two numbers
3.
Multiply two numbers
SLIDE 6
SLIDE 7
Loops are great But, without a way to talk about a list of variables, we can't
get the full potential out of a loop
Enter: the array
SLIDE 8
An array is a homogeneous, static data structure Homogeneous means that everything in the array is the same
type: int, double, String, etc.
Static (in this case) means that the size of the array is fixed
when you create it
SLIDE 9
The args variable passed into the main() method is an
array of type String
This array has a set number of Strings (maybe zero) that
you can use as input to your program
Now, we are giving you the ability to create and manipulate
your own arrays
SLIDE 10
SLIDE 11
To declare an array of a specified type with a given
name:
Example with a list of type int: Just like any variable declaration, but with []
type[] name; int[] list;
SLIDE 12
When you declare an array, you are only creating a variable
that can hold an array
At first, it holds nothing, also know as null To use it, you have to create an array, supplying a specific size: This code creates an array of 100 ints
int[] list; list = new int[100];
SLIDE 13
You can access an element of an array by indexing into it, using
square brackets and a number
Once you have indexed into an array, that variable behaves
exactly like any other variable of that type
You can read values from it and store values into it Indexing starts at 0 and stops at 1 less than the length
list[9] = 142; System.out.println(list[9]);
SLIDE 14
When you instantiate an array, you specify the length Sometimes (like in the case of args) you are given an array of
unknown length
You can use its length member to find out int[] list = new int[42]; int size = list.length; // Prints 42 System.out.println("List has " + size + " elements");
SLIDE 15
When you create an int, double, char, or boolean array,
the array is automatically filled with certain values
For other types, including Strings, each index in the array
must be filled explicitly
Type Value int double 0.0 char '\0' boolean false
SLIDE 16
Explicit initialization can be done with a list: Or, a loop could be used to set all the values:
String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; String[] numbers = new String[100]; for(int i = 0; i < numbers.length; ++i) numbers[i] = "" + (i + 1);
SLIDE 17
SLIDE 18
An array takes up the size of each element times the length of
the array
Each array starts at some point in computer memory The index used for the array is actually an offset from that
starting point
That's why the first element is at index 0
SLIDE 19 We can imagine that we have an array of type int of length
10
Java decides what address in memory is going to be used, but
let's say it starts at 524
12 43
6 789
23 10 6
0 1 2 3 4 5 6 7 8 9
524 528 532 536 540 544 548 552 556 560
Addresses Indexes
SLIDE 20
SLIDE 21
Arrays are a fixed size list of a single kind of data A for loop is ideal for iterating over every item and
performing some operation
for loops and arrays will crop up again and again Of course, a while loop can be used with an array, but it
rarely is
SLIDE 22
Imagine that we have an array of ints called list Let's use a for loop to sum up those ints Straightforward, just like before We don't even need to know how big the array is ahead of
time
int sum = 0; for(int i = 0; i < list.length; ++i) sum += list[i];
SLIDE 23
Ask the user how many words he or she wants to enter Make an array of String values of that length Read in all of the words and store them in the array Print all the words back out
SLIDE 24
SLIDE 25
More on arrays Representing sound inside of a computer StdAudio
SLIDE 26 Keep reading Chapter 6 of the textbook Finish Project 2
- Due tonight before midnight!