CS1150 Principles of Computer Science Arrays

Similar documents
Chapter 6 Arrays. Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved.

CS1150 Principles of Computer Science Arrays

Chapter 6 Single-Dimensional Arrays. Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved.

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved

Array. Lecture 12. Based on Slides of Dr. Norazah Yusof

Chapter 7: Single-Dimensional Arrays. Declaring Array Variables. Creating Arrays. Declaring and Creating in One Step.

Opening Problem EXAMPLE. 1. Read one hundred numbers, 2. compute their average, and 3. find out how many numbers are above the average.

Chapter 7 Single-Dimensional Arrays

Announcements. PS 4 is ready, due next Thursday, 9:00pm. Midterm Exam 1: 10/14 (Fri), 9:00am-10:53am

Module 7: Arrays (Single Dimensional)

14. Array Basics. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

Java-Array. This tutorial introduces how to declare array variables, create arrays, and process arrays using indexed variables.

Arrays. Introduction to OOP with Java. Lecture 06: Introduction to OOP with Java - AKF Sep AbuKhleiF - 1

CS115 Principles of Computer Science

Arrays. Eng. Mohammed Abdualal

CS1150 Principles of Computer Science Loops (Part II)

Introduction to Java & Fundamental Data Types

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018

CS1150 Principles of Computer Science Methods

Chapter 8 Multi-Dimensional Arrays

CSE 201 JAVA PROGRAMMING I. Copyright 2016 by Smart Coding School

Object Oriented Programming. Java-Lecture 6 - Arrays

Declaring Array Variable

CS1150 Principles of Computer Science Methods

Programming with Java

Tutorial 11. Exercise 1: CSC111 Computer Programming I. A. Write a code snippet to define the following arrays:

Chapter 7 Multidimensional Arrays. Liang, Introduction to Java Programming, Tenth Edition, (c) 2013 Pearson Education, Inc. All rights reserved.

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved

Java Programming. MSc Induction Tutorials Stefan Stafrace PhD Student Department of Computing

Method OverLoading printf method Arrays Declaring and Using Arrays Arrays of Objects Array as Parameters

CS2401 QUIZ 5 February 26, questions / 20 points / 20 minutes NAME:..

Chapter 4 Loops. Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved.

Getting started with Java

Chapter 6 Single-dimensional Arrays

Computer Programming, I. Laboratory Manual. Final Exam Solution

CEN 414 Java Programming

Chapter 2. Elementary Programming

Computer programming Code exercises [1D Array]

Java Coding 3. Over & over again!

Chapter 7 Multidimensional Arrays

Fundamentals of Programming Data Types & Methods

Chapter 8 Multidimensional Arrays

CS1150 Principles of Computer Science Math Functions, Characters and Strings (Part II)

Arrays: An array is a data structure that stores a sequence of values of the same type. The data type can be any of Java s primitive types:

Computer Programming, I. Laboratory Manual. Experiment #2. Elementary Programming

C212 Early Evaluation Exam Mon Feb Name: Please provide brief (common sense) justifications with your answers below.

Practice Midterm 1. Problem Points Score TOTAL 50

Review. Primitive Data Types & Variables. String Mathematical operators: + - * / % Comparison: < > <= >= == int, long float, double boolean char

Loops. CSE 114, Computer Science 1 Stony Brook University

(A) 99 ** (B) 100 (C) 101 (D) 100 initial integers plus any additional integers required during program execution

Chapter 6. Arrays. Java Actually: A Comprehensive Primer in Programming

Outline. Parts 1 to 3 introduce and sketch out the ideas of OOP. Part 5 deals with these ideas in closer detail.

b. Suppose you enter input from the console, when you run the program. What is the output?

Problems with simple variables

Overview. Arrays and their properties Creating arrays Accessing array elements Modifying array elements Loops and arrays. Initialization Searching

Basic computer skills such as using Windows, Internet Explorer, and Microsoft Word. Chapter 1 Introduction to Computers, Programs, and Java

Chapter 3 Selections. Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved.

array Indexed same type

Chapter 2 Elementary Programming

Java Basic Programming Constructs

CSEN 102 Introduction to Computer Science

Controls Structure for Repetition

Lecture #8-10 Arrays

Software Practice 1 Basic Grammar

CSC Java Programming, Fall Java Data Types and Control Constructs

PROGRAMMING FUNDAMENTALS

Data Types, Variables and Arrays. OOC 4 th Sem, B Div Prof. Mouna M. Naravani

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls.

Chapter 2 ELEMENTARY PROGRAMMING

(A) 99 (B) 100 (C) 101 (D) 100 initial integers plus any additional integers required during program execution

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls.

Introduction to the Java Basics: Control Flow Statements

Expressions & Flow Control

Midterm Examination (MTA)

Handout 5 cs180 - Programming Fundamentals Spring 15 Page 1 of 8. Handout 5. Loops.

1. Which of the following is the correct expression of character 4? a. 4 b. "4" c. '\0004' d. '4'

while (/* array size less than 1*/){ System.out.print("Number of students is invalid. Enter" + "number of students: "); /* read array size again */

SCALA ARRAYS. Following picture represents array mylist. Here, mylist holds ten double values and the indices are from 0 to 9.

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.

ECE 122. Engineering Problem Solving with Java

CS Programming I: Arrays

CS 211: Methods, Memory, Equality

CONTENTS: Compilation Data and Expressions COMP 202. More on Chapter 2

CISC-124. Dog.java looks like this. I have added some explanatory comments in the code, and more explanation after the code listing.

Introduction. Data in a table or a matrix can be represented using a two-dimensional array. For example:

Multidimensional Arrays. CSE 114, Computer Science 1 Stony Brook University

JAVA PROGRAMMING LAB. ABSTRACT In this Lab you will learn to write programs for executing statements repeatedly using a while, do while and for loop

CS2141 Software Development using C/C++ C++ Basics

data_type variable_name = value; Here value is optional because in java, you can declare the variable first and then later assign the value to it.

( &% class MyClass { }

CS 231 Data Structures and Algorithms Fall Arrays Lecture 07 - September 19, Prof. Zadia Codabux

CMPS 12A Winter 2006 Prof. Scott A. Brandt Final Exam, March 21, Name:

Chapter 6 SINGLE-DIMENSIONAL ARRAYS

Software Practice 1 - Basic Grammar Basic Syntax Data Type Loop Control Making Decision

COMP-202: Foundations of Programming. Lecture 2: Variables, and Data Types Sandeep Manjanna, Summer 2015

Tools : The Java Compiler. The Java Interpreter. The Java Debugger

Arrays and Lists CSC 121 Fall 2014 Howard Rosenthal

M105: Introduction to Programming with Java Midterm Examination (MTA) Makeup Spring 2013 / 2014

static String usersname; public static int numberofplayers; private static double velocity, time;

false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

Transcription:

CS1150 Principles of Computer Science Arrays Yanyan Zhuang Department of Computer Science http://www.cs.uccs.edu/~yzhuang CS1150 UC. Colorado Springs

Opening Problem Read one hundred numbers, compute their average, and find out how many numbers are above the average. Need to find a place to hold all the numbers 2

Introducing Arrays Array is a data structure that represents a collection of the same type of data. 3

Declaring Array Variables datatype[] arrayrefvar; Any type (int, float, double, etc.) All elements in array will be of this type Variable used to access the array elements It is considered a "reference" variable Example: double[] mylist; datatype arrayrefvar[]; // Allowed, but not preferred Example: double mylist[]; 4

Beware: when declaring array Primitive Types (int, long, float, double etc.) o Declare an integer -> int number = 5; o The declaration indicates type of data you are declaring, and allocates memory Array Types o o Declare an array -> int[] arrayrefvar; The declaration indicates type of data the array will store, but DOES NOT allocate memory o Declaration allocates memory for a pointer/reference only i.e., memory to store an address to the beginning of an array UC. Colorado Springs

Creating Arrays Cannot do anything with an array variable until after the array has been constructed with the new operator: arrayrefvar = new datatype[arraysize]; Example: mylist = new double[10]; //use new to give a size (2) assigns the reference of the array to the variable mylist mylist[0] references the first element in the array. mylist[9] references the last element in the array. (1) creates an array with 10 double (i.e. it allocates memory) //allocate memory for array 6

Declaring and Creating in One Step datatype[] arrayrefvar = new datatype[arraysize]; double[] mylist = new double[10]; datatype arrayrefvar[] = new datatype[arraysize]; double mylist[] = new double[10]; 7

Example Declare an array that holds 5 integers int[] numberlist; // Declares an array numberlist - note that // 1) the size of the array is not set here // 2) no memory has been allocated numberlist = new int[5]; // Creates an array with 5 integers // assigns it to reference numberlist Rewritten as one step int[] numberlist = new int[5]; Example: Array1.java UC. Colorado Springs

The Length of an Array Once an array is created, its size is fixed. It cannot be changed. The length of the array is obtained by access the "length" property: mylist.length For example, mylist.length returns 10 Example: Array2.java 9

The Length of an Array The length of the array is obtained by access the "length" property o o o "length" is a property of an array object: established when the array is created length cannot change after array is created: length is a constant We would expect a method, like length() but for arrays we directly access the value // Print the length of the array System.out.println ("The length of the array numberlist = " + numberlist.length); UC. Colorado Springs

Default Values Unlike other types, when an array is created, its elements are assigned the default value of zero for the numeric primitive data types, '\u0000' (Unicode for null) for char types, and false for boolean types. 11

Indexed Variables The array elements are accessed through the index. The array indices are 0-based, i.e., it starts from 0 to arrayrefvar.length-1. Each element in the array is represented using the following syntax, known as an indexed variable: arrayrefvar[index]; 12

Using Indexed Variables After an array is created, an indexed variable can be used in the same way as a regular variable. For example, the following code adds the value in mylist[0] and mylist[1] to mylist[2]. mylist[2] = mylist[0] + mylist[1]; 13

Array Initializers Declaring, creating, initializing in one step: double[] mylist = {1.9, 2.9, 3.4, 3.5; This shorthand syntax must be in one statement. Note new is not used in this approach. 14

Declaring, creating, initializing Using the Shorthand Notation double[] mylist = {1.9, 2.9, 3.4, 3.5; This shorthand notation is equivalent to the following statements: double[] mylist = new double[4]; mylist[0] = 1.9; mylist[1] = 2.9; mylist[2] = 3.4; Example: Array3 and Array4 mylist[3] = 3.5; 15

CAUTION Using the shorthand notation, you have to declare, create, and initialize the array all in one statement. Splitting it would cause a syntax error. For example, the following is wrong: double[] mylist; mylist = {1.9, 2.9, 3.4, 3.5; 16

Accessing arrays For loops generally used with arrays since we know how many times the loop will occur o Example: assign the numbers 0 to 4 to numberlist // Assign the numbers 0 to 4 to numberlist array int[] numberlist = new int[5]; for (int i = 0; i < 5; i++) { numberlist[i] = i; System.out.println("numberList[" + i + "] = " + numberlist[i]); Trying to access an element outside the range of an array it is an error UC. Colorado Springs

Trace Program with Arrays Declare array variable values, create an array, and assign its reference to values public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the array is created 0 0 1 0 2 0 3 0 4 0 18

Trace Program with Arrays i becomes 1 public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the array is created 0 0 1 0 2 0 3 0 4 0 19

Trace Program with Arrays i (==1) is less than 5 public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the array is created 0 0 1 0 2 0 3 0 4 0 20

Trace Program with Arrays After this line is executed, value[1] is 1 public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the first iteration 0 0 1 1 2 0 3 0 4 0 21

Trace Program with Arrays After i++, i becomes 2 public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the first iteration 0 0 1 1 2 0 3 0 4 0 22

Trace Program with Arrays public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; i (== 2) is less than 5 After the first iteration 0 0 1 1 2 0 3 0 4 0 23

Trace Program with Arrays After this line is executed, values[2] is 3 (2 + 1) public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the second iteration 0 0 1 1 2 3 3 0 4 0 24

Trace Program with Arrays After this, i becomes 3. public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the second iteration 0 0 1 1 2 3 3 0 4 0 25

Trace Program with Arrays i (==3) is still less than 5. public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the second iteration 0 0 1 1 2 3 3 0 4 0 26

Trace Program with Arrays After this line, values[3] becomes 6 (3 + 3) public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the third iteration 0 0 1 1 2 3 3 6 4 0 27

Trace Program with Arrays After this, i becomes 4 public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the third iteration 0 0 1 1 2 3 3 6 4 0 28

Trace Program with Arrays i (==4) is still less than 5 public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the third iteration 0 0 1 1 2 3 3 6 4 0 29

Trace Program with Arrays After this, values[4] becomes 10 (4 + 6) public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the fourth iteration 0 0 1 1 2 3 3 6 4 10 30

Trace Program with Arrays After i++, i becomes 5 public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the fourth iteration 0 0 1 1 2 3 3 6 4 10 31

Trace Program with Arrays i ( ==5) < 5 is false. Exit the loop public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; After the fourth iteration 0 0 1 1 2 3 3 6 4 10 32

Trace Program with Arrays After this line, values[0] is 11 (1 + 10) public class Test { public static void main(string[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; values[0] = values[1] + values[4]; 0 1 2 3 4 11 1 3 6 10 33

Processing Arrays 1. (Initializing arrays with input values) 2. (Initializing arrays with random values) 3. (Printing arrays) 4. (Summing all elements) 5. (Finding the largest element) 6. (Finding the smallest index of the largest element) 7. (Random shuffling) 8. (Shifting elements) 34

Initializing arrays with input values double[] mylist = new double[5]; java.util.scanner input = new java.util.scanner(system.in); System.out.print("Enter " + mylist.length + " values: "); for (int i = 0; i < mylist.length; i++) { mylist[i] = input.nextdouble(); 35

Initializing arrays with random values for (int i = 0; i < mylist.length; i++) { mylist[i] = Math.random() * 100; 36

Printing arrays for (int i = 0; i < mylist.length; i++) { System.out.print(myList[i] + " "); 37

Summing all elements double total = 0; for (int i = 0; i < mylist.length; i++) { total += mylist[i]; 38

Finding the largest element double max = mylist[0]; int index = 0; for (int i = 1; i < mylist.length; i++) { if (mylist[i] > max) { max = mylist[i]; index = i; 39

Foreach loops Shortcut: Sequentially processes loop without stating at an index o o o "For each value in my numbers array, print it" DO NOT specify index in the loop Example: Displaying arrays using the foreach loop for (int i: numbers) { System.out.println ("value = " + i); In general, the syntax is for (elementtype value: arrayrefvar) { o // Process the value Can only use when moving through array sequentially from 1st element to last (example Array5.java) UC. Colorado Springs

Random shuffling for (int i = 0; i < mylist.length - 1; i++) { // Generate an index j randomly int j = (int)(math.random() * mylist.length); // Swap mylist[i] with mylist[j] double temp = mylist[i]; mylist[i] = mylist[j]; mylist[j] = temp; A random index i mylist [0] [1] [i] [j].... swap 41

Shifting Elements 42