/
CS0007:  Introduction to Computer Programming CS0007:  Introduction to Computer Programming

CS0007: Introduction to Computer Programming - PowerPoint Presentation

test
test . @test
Follow
405 views
Uploaded On 2015-10-20

CS0007: Introduction to Computer Programming - PPT Presentation

Introduction to Arrays Review A ConditionallyControlled Loop repeats as long as a particular condition exists A CountControlled Loop repeats a specific number of times A countcontrolled loop has three elements ID: 166964

numbers array loop int array numbers int loop arrays elements size variable element reference index variables integer java enhanced array

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "CS0007: Introduction to Computer Progra..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

CS0007: Introduction to Computer Programming

Introduction to ArraysSlide2

Review

A Conditionally-Controlled

Loop repeats…

as long as a particular condition exists

.

A Count-Controlled Loop repeats…

a specific number of times.

A count-controlled loop has three elements

An initialization expression

A test expression

An update expression

The difference between the prefix and postfix increment operators is…

pretest increments before the value of the operand is evaluated, posttest increments after the value of the operand is evaluated.Slide3

Review

An accumulator variable is…

a variable that keeps track of a running total.

A Sentinel Value

is…

a

special value that cannot be mistaken for normal input that signals that a loop should terminate.

break

in a loop…

makes the program’s control flow go to the statement following the loop.

continue

in a loop…

skips to the next iteration of the loop.

Java provides a class that generates pseudo-random numbers called…

Random

Slide4

Arrays

So far we have worked primarily with primitive variables

One characteristic of primitive variables is that they hold one value at a time.

int

x = 100

– can only hold one integer value at a time (100 at this time)

Imagine that you want to hold the names of 100 people at a time.

What would you have to do?

Declare 100 variables, one for each name.

Better solution: Use

Arrays

.

Arrays

are complex variables that can hold multiple values of the same data type.

Now we can declare a single array that holds all the names.

In Java, Arrays are objects and behave very similarly (use

new

keyword to create the object, has methods, etc.)Slide5

Arrays

To declare an integer array:

int

[] numbers

;

It is just like declaring any primitive variable, EXCEPT for the

[]

between the data type and the identifier.

Just like any other object, this does not create the array, it creates a reference variable that can point to an array.

To create an array object for this reference variable:

numbers =

new

int

[6];

The number inside of the square brackets is called the array’s

size declarator

.

An array’s Size Declarator indicates the number of

elements

, or values the array can hold.

Individual values inside of an array are called

elements

.

So the

numbers

array can hold 6 integers.

You can declare and create on the same line like any other object:

int

[] numbers =

new

int

[6

];Slide6

Arrays

The elements in an array are numbered starting from 0.

So the first element has index 0.

The size declarator must be a non-negative integer expression.

Often cases we know the size of the array when writing the code and can just use a literal.

However, it is common practice to use a constant as the size declarator.

final

int

NUM_ELEMENTS = 6;

double

[] numbers

=

new

double

[

NUM_ELEMENTS

];

Once an array is created the size cannot change!

Arrays can be of any type we discussed up to this point.Slide7

Accessing Array Elements

Even though, the array has one name, we can access the individual elements by their

index

(or

subscript

).

An element’s

Index

(or

Subscript

) is a uniquely identifying number that is used to pinpoint its position in the array.

So, if I want a specific element, I use its index.

Again, indices start at 0.

When you access an element in the array, you can use it just like any simple variable of the array’s declared type.

The following statement assigns 20 to the first element in the

numbers

array:

numbers[0] = 20

;

To access an element of an array, simply use the array name followed by the element’s index inside of square brackets.Slide8

Array Example 1

New Topics:

ArraysSlide9

Array Example 2

This seems repetitive…

I have to use a separate segment of code for taking in the employees hours and for printing the result out.

Is there a better way?

Answer: Yes, using loops.

Arrays work great with loops, because you can loop through the elements of the array and perform operations on them.

New Topic:

Looping through arraysSlide10

Bounds Checking and Off-by-One Errors

What is the problem with this?

int

[] numbers

=

new

int

[

3

];

numbers[5]

= 10

;

Answer: The index 5 is out of the bounds defined by the size declarator.

Java performs

bounds checking

at runtime.

In the case with Java that means that if you attempt to index an element outside of the array’s bounds, it will throw an exception (cause an error and terminate your program).

We will not discuss exceptions in this course.

What is the problem with this?

int

[] numbers =

new

int

[3];

numbers[3]

=

10;

Answer

:

The index 3 is still out of the array’s bounds.

Because indexing starts at 0, the last element of the array is the size of the array minus 1.

This is called an

Off-by-One

error.Slide11

Array Declaration Notes

You can initialize Arrays just like any other variables.

int

[]

numbers

= {1, 2, 3, 4, 5

};

This array has an implicit size of 5 and the values in the initialization are indexed from left to right.

Example: ArrayInitialization.java

Java also allows for two different syntactical forms for declaring an array:

int

[]

numbers

;

int

numbers

[];

The difference is when you declare multiple arrays on the same line:

int

[] numbers1,

numbers2, numbers3;

This declares three reference variables to integer arrays

int

numbers1

[], numbers2,

numbers3

;

This declares one reference variable to an integer array and two primitive integer variables

int

numbers1[],

numbers2[], numbers3[];

This, again,

declares three reference variables to integer

arraysSlide12

Array Elements

Individual array elements can be treated like any simple variable of that type.

int

[] numbers =

new

int

[5];

int

x = 5;

numbers[1] = x + 5;

x = numbers[1] + 20;

numbers[2] = numbers[1] / 5;

numbers[2

]++;

Also, since arrays are objects in Java, they have methods and data members.

For instance the length data member holds the number of elements in the array.

int

size =

numbers.

length

;

This is helpful for looping through an array.Slide13

Enhanced for

Loop

The last kind of loop we will be discussing in this course is called the

enhanced

for

loop

.

The

Enhanced

for

L

oop

is a special loop that iterates through the elements in a collection (in this case array) and allows access to each element.

Each iteration of the loop corresponds to an element in the array.

General Form:

for

(

dataType

elementVariable

:

array

)

block

or

statement

dataType

– The type of the array

elementVariable

– A variable that holds the value of the current iteration’s element.

array

– The array in which we are iterating through.Slide14

Enhanced for

Loop Example

New Topics:

Enhanced

for

LoopSlide15

When NOT To Use the Enhanced

for

Loop

The enhanced

for

loop is useful for when you need only all the values of the array, but there are many situations when you should NOT use it:

If you need to change the contents of an array element

If you need to work through the array elements in reverse order

If you need to access some of the array elements, but not all of them

If you need to simultaneously work with two or more arrays within the loop

If you need to refer to the index of a particular

element

If any of these cases apply, use a regular

for

loop.Slide16

Allowing the User to Specify an Array’s Size

Since the size declarator is an integer, you can let the user enter an integer, and then create an array of that size.

Example: UserSizeArray.javaSlide17

Reassigning Reference Variables and Array Copying

As stated before, you cannot change the size of an array once it has been set.

You can, however, make the reference variable point to a new array.

int

[] numbers = {1, 2, 3, 4, 5};

numbers =

new

int

[10

];

What is the problem with this?

Now numbers has no values in it!

What you need to do is copy the elements of the old array to the new one, and make the original reference variable point to the new array:

Create a new reference variable

Make the new reference variable point to an array of the newly specified size

Use a loop to assign the elements from the old array to the new one.

Assign the new reference variable to the old one.Slide18

Array Copying Example

New Topics:

Array Copying