1.00/ Lecture 8. Arrays-1

Size: px
Start display at page:

Download "1.00/ Lecture 8. Arrays-1"

Transcription

1 1.00/ Lecture 8 Arrays and Vectors Arrays-1 Arrays are a simple data structure Arrays store a set of values of the same type Built-in types (int, double, etc.) or Objects (Students, Dates, etc.) Arrays are part of the Java language Arrays are objects, not primitives like int or double. They are declared in the same way as other objects int[] intarray= new int[20]; The array object has an integer data member, length, that gives the number of elements in the array: int asize= intarray.length; // asize= 20 Each value is accessed through an index intarray[0]= 4; intarray[1]= 77;

2 Arrays, p.2 Array indexes start at 0, not 1 An array with N slots has indices 0 through N-1 intarray has elements intarray[0] through intarray[19] Array lengths cannot be changed once they are declared Arrays can be initialized when declared int[] intarray= {5, 77, 4, 9, 28, 0, -9; // Note that new is implicit (not needed) in this case Arrays of numerical values are zero when constructed Arrays, p.3 To copy an array, use arraycopy() method int[] newarray= new int[15]; // Can be diff size // arraycopy(fromarray, fromindex, toarray, toindex, count) System.arraycopy(intArray, 0, newarray, 0, 15); // Now intarray and newarray have separate copies of data If we had just defined newarray without copying: int[] newarray= intarray; newarray[2]= -44; // This sets intarray[2]= -44 also // intarray and newarray would just be two names for the // same array. Remember in Java references refer to // objects You can create 2, 3,..n dimensional arrays in Java. int[ ][ ] twodarray = new int[5][10];

3 Test Your Knowledge 1. Which of the following expressions does not declare and construct an array? a. int[ ] arr = new int[4]; b. int[ ] arr; arr = new int [4]; c. int[ ] arr = {1,2,3,4; d. int[ ] arr; 2. Given this code fragment: int j=?; int[] data = new int[10]; System.out.print(data[ j ]); Which of the following is a legal value of j? a. -1 b. 0 c. 1.5 d. 10 Test Your Knowledge 3. Given this code fragment: int[] arraya = new int[4]; int[] arrayb; arrayb = arraya; arrayb[2]=4; arraya[0]=arrayb[2]; What are the values of the elements in array A? a. unknown b. 0,0,0,0 c. 4,0,4,0 d. 4,0,0,0 4. How many objects are present after the following code fragment has executed? float[] arraya = new float[10]; float[] arrayb; arrayb = arraya; a. 1 b. 2 c. 10 d. 20

4 Test Your Knowledge 5. For which of these applications an array is NOT suitable? a. Holding the scores on 4 quarters of a Basketball game b. Holding the name, account balance and account number of an individual c. Holding temperature readings taken every hour through a day d. Holding monthly expenses through a year 6. Given the following code fragment: int[] data = {1,3,5,7,11; for( ) System.out.println(data[index] ); Fill in the blanks so that the program prints out every element in the array in order a. int index = 4; index>0; index-- b. int index=0; index<4; index++ c. int index=0; index<data.length(); index++ d. int index=0; index<data.length; index++ Test Your Knowledge 7. What is the output of the following program? class Test{ public static void main ( String[] args ){ int value = 10; int[] arr = {10,11,12,13; System.out.println("value before:"+value); altervalue( value ); System.out.println("value after:"+value); System.out.println("arr[0]before:"+arr[0]); alterarray( arr ); System.out.println("arr[0] after:"+arr[0]); public static void altervalue (int x ){ x = 0; public static void alterarray (int[]a){ a[0] = 0; a. value before:10 value after:0 arr[0] before:10 arr[0] after: 0 b. value before:10 value after:10 arr[0] before:10 arr[0] after: 10 c. value before:10 value after:10 arr[0] before:10 arr[0] after: 0 d. value before:10 value after:0 arr[0] before:10 arr[0] after: 10

5 Example-Computing an Average Given a list of numerical data items, store them in an array and compute the average value. We ll use a for loop to iterate over the array entries. We ll put the computation of the average in a separate method. Computing Test Averages public class AverageTest { public static void main(string args[ ]) { double[ ] testscores = new double[4]; testscores[0] = 80.0; testscores[1] = 50.5; testscores[2] = 90.0; testscores[3] = 75.0; System.out.println("Average is: " + average(testscores)); public static double average(double[ ] adouble) { double aver = 0.0; // initialize value for(int i=0; i<adouble.length; i++) aver += adouble[i]; // accumulate sum of values return(aver/adouble.length); //return average

6 Example A. Create a TestArray class to store and manage temperatures for a week B. Start writing main(): Declare and construct an array of doubles, called dailytemp holding daily temperature data Use an initializer list with braces { Mon 70 Tue 61 Wed 64 Thu 71 Fri 66 Sat 68 Sun 62 Using a for loop, print every element of the dailytemp array in reverse order (starting from Sunday and going backwards to Monday) public class TestArray { public static void main(string args[]) { int[] dailytemp = {70,61,64,71,66,68,62; for (int i=dailytemp.length-1; i>=0; i--) System.out.println(dailyTemp[i]);

7 Vectors Vector class is a fancy version of an array Vector can grow automatically as needed Has capacity that is increased when needed Has size, which is the actual number of elements Vector can hold elements of different types As long as each is an Object (reference), Vector can t hold a basic type (not an int, double, etc.)! You will use type casts or wrapper classes in Vectors Wrappers are objects (e.g., Double) that hold built-ins Vectors Vectors are not in the core language They are in package java.util, which you must import: import java.util.*; // At top of program Vectors are slightly slower than arrays Matters only in large scale numerical methods Vectors have many methods you can use

8 void addelement(object o) int capacity() Vector Methods Adds object to end of vector, increases vector size by one Returns capacity of vector Object elementat(int i) int indexof(object o) void insertelementat(object o, int i) boolean isempty() void removeelementat(int i) void setelementat(object o, int i) int size() Returns object at index i Finds first occurrence of object; uses equals method Inserts object at index i Returns true if vector has no objects, false otherwise Deletes object at index i Sets vector element at index i to be the specified object Returns size of vector Vector Constructors Three basic forms (method overloading): Vector() Constructs an empty vector so that its internal data array has size 10 and its standard capacity increment is zero. Capacity will double whenever increased. Vector(int initialcapacity) Constructs an empty vector with the specified initial capacity and with its capacity increment equal to zero. Capacity will double whenever increased. Vector(int initialcapacity, int capacityincrement) Constructs an empty vector with the specified initial capacity and capacity increment

9 A Vector Example We will show a program that generates a random number of lines with random start and end points. We ll use a Vector object to hold the lines, and use Vector methods to control loop through the contents of the Vector Line class import java.awt.*; public class Line { int x1,y1; // coordinates of start of line int x2,y2; // coordinates of end of line // constructor method for Line public Line(Point p1, Point p2) { // Point class in AWT x1 = p1.x; y1 = p1.y; x2 = p2.x; y2 = p2.y; public void showline() // Method to draw line segment { System.out.println("Coordinates are: ("+ x1+","+ y1+"),("+ x2+","+ y2+")" ); // end of class Line

10 VectorExample class import java.awt.*; import java.util.*; public class VectorExample { static final double MAXCOORD = ; static final int MAXLINES = 30; public static void main(string args[ ]) { int numlines = (int) (Math.random()*MAXLINES); Vector vec = new Vector(); for (int i=0; i< numlines;i++) { Line curline = new Line( new Point((int)(Math.random()*MAXCOORD), (int)(math.random() * MAXCOORD) ), new Point( (int)(math.random()*maxcoord), (int) (Math.random() * MAXCOORD))); vec.addelement(curline); System.out.println ("Vector size: "+vec.size()); for (int i=0; i<vec.size(); i++) ((Line) vec.elementat(i)).showline(); // end of VectorExample Test Your Knowledge 1. Which of the following statements is NOT true about Vectors? a. Vectors are slightly faster than arrays. b. Vectors can store elements of different types. c. Vectors can increase in size to store more elements. d. Vectors have methods to manage their content. 2. Considering myvector is a Vector that has been declared and constructed, which of the following expressions is always true? a. myvector.size() >= myvector.capacity() b. myvector.size() > myvector.capacity() c. myvector.capacity() >= myvector.size() d. myvector.capacity() > myvector.size()

11 Test Your Knowledge 3. What is the output of the following code fragment? Vector myvector = new Vector(2); myvector.addelement(new Integer(1)); myvector.addelement(new Integer(2)); myvector.addelement(new Integer(3)); System.out.println(myVector.size()+", + myvector.capacity()); a. 2, 3 b. 3, 2 c. 3, 4 d. 3, 3 Test Your Knowledge 4. Given the following code fragment: Vector myvector = new Vector(); myvector.addelement("one"); myvector.addelement("two"); myvector.addelement("three"); myvector.addelement("four"); Which one of the following expressions will modify myvector so it looks like: One; Two; Four a. myvector.removeelementat(myvector.elementat(3)); b. myvector.removeelementat(myvector.indexof("three")); c. myvector.removeelementat(3); d. myvector.removeelementat(myvector.elementat(2));

12 Test Your Knowledge 5. Given the code fragment of question 4, which one of the following expressions will modify myvector so it looks like: One; Two; Three; Five a. myvector[3] = "Five" b. myvector[4] = "Five" c. myvector.setelementat("five", myvector.indexof("four")); d. myvector.setelementat("four", myvector.indexof("five")); 6. Given the code fragment of question 4, which one of the following expressions will modify myvector so it looks like: One; Two; Three a. myvector.removeelementat(2); b. myvector.removeelementat(myvector.lastelement()); c. myvector.removeelementat(myvector.capacity()); d. myvector.removeelementat(myvector.size()-1); Test Your Knowledge 7. Given the following code fragment: Vector myvector = new Vector(); myvector.addelement(new Integer(1)); myvector.addelement(new Integer(3)); myvector.addelement(new Integer(7)); Which one of the following expressions will modify myvector so it looks like: a. myvector.addelementat[new Integer(5)]; b. myvector.insertelementat[new Integer(5), 2]; c. myvector.insertelementat[5, 2]; d. myvector.insertelementat[5, 3];

13 Exercise A. Problem description We want to store student names in a subject. MIT subjects have between 1 and 900 students, so it s hard to anticipate the size of an array to hold the data. We will use a Vector, since it can be dynamically sized. B. Write the Java code. 1. Name your class MITCourse. 2. In its main() method: Create a Vector students with capacity 5 Add 4 students Amy, Bob, Cindy and David to the Vector. These students are Strings. Add them to the Vector directly; don t declare 4 String variables. Exercise, p.2 3. Write a method to print all the elements in the vector and its size and capacity. Add a method printoutvector to the Course100 class: public static void printoutvector(vector vec) { // Code goes here 4. Call printoutvector() method from main(). Pass the students Vector as the argument 5. Your output should be: Amy Bob Cindy David Size: 4 Capacity: 5

1.00 Lecture 9. Arrays

1.00 Lecture 9. Arrays 1.00 Lecture 9 Arrays and Vectors Arrays Arrays are a simple data structure Arrays store a set of values of the same type Built-in types (int, double, etc.) or Objects (Students, Dates, etc.) Arrays are

More information

1.00/ Lecture 8. Arrays-1

1.00/ Lecture 8. Arrays-1 1.00/1.001 - Lecture 8 Arrays and ArrayLists Arrays-1 Arrays are a simple data structure Arrays store a set of values of the same type Built-in types (int, double, etc.) or Objects (Students, Dates, etc.)

More information

Lecture 5: Arrays. A way to organize data. MIT AITI April 9th, 2005

Lecture 5: Arrays. A way to organize data. MIT AITI April 9th, 2005 Lecture 5: Arrays A way to organize data MIT AITI April 9th, 2005 1 What are Arrays? An array is a series of compartments to store data. Essentially a block of variables. In Java, arrays can only hold

More information

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal The ArrayList class CSC 123 Fall 2018 Howard Rosenthal Lesson Goals Describe the ArrayList class Discuss important methods of this class Describe how it can be used in modeling Much of the information

More information

About This Lecture. Vectors. Scalable Applications. Outline. Limitations of Named Variables. Containers

About This Lecture. Vectors. Scalable Applications. Outline. Limitations of Named Variables. Containers Revised 7/07/0 About This Lecture Vectors Cmput 115 - Lecture 5 Department of Computing Science University of Alberta Duane Szafron 1999 Some code in this lecture is based on code from the book: Java Structures

More information

Computer Science II (20082) Week 1: Review and Inheritance

Computer Science II (20082) Week 1: Review and Inheritance Computer Science II 4003-232-08 (20082) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Syntax and Semantics of Formal (e.g. Programming) Languages Syntax

More information

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

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor. 3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.

More information

COMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette

COMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette COMP 250: Java Programming I Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette Variables and types [Downey Ch 2] Variable: temporary storage location in memory.

More information

Object Oriented Programming. Java-Lecture 6 - Arrays

Object Oriented Programming. Java-Lecture 6 - Arrays Object Oriented Programming Java-Lecture 6 - Arrays Arrays Arrays are data structures consisting of related data items of the same type In Java arrays are objects -> they are considered reference types

More information

1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003

1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003 1.00 Introduction to Computers and Engineering Problem Solving Quiz 1 March 7, 2003 Name: Email Address: TA: Section: You have 90 minutes to complete this exam. For coding questions, you do not need to

More information

Controls Structure for Repetition

Controls Structure for Repetition Controls Structure for Repetition So far we have looked at the if statement, a control structure that allows us to execute different pieces of code based on certain conditions. However, the true power

More information

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

Outline. Parts 1 to 3 introduce and sketch out the ideas of OOP. Part 5 deals with these ideas in closer detail. OOP in Java 1 Outline 1. Getting started, primitive data types and control structures 2. Classes and objects 3. Extending classes 4. Using some standard packages 5. OOP revisited Parts 1 to 3 introduce

More information

Object-Oriented Principles and Practice / C++

Object-Oriented Principles and Practice / C++ Object-Oriented Principles and Practice / C++ Alice E. Fischer April 20, 2015 OOPP / C++ Lecture 3... 1/23 New Things in C++ Object vs. Pointer to Object Optional Parameters Enumerations Using an enum

More information

CS 211: Methods, Memory, Equality

CS 211: Methods, Memory, Equality CS 211: Methods, Memory, Equality Chris Kauffman Week 2-1 So far... Comments Statements/Expressions Variable Types little types, what about Big types? Assignment Basic Output (Input?) Conditionals (if-else)

More information

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018 Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 22 Mar 2018 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment

More information

Selected Questions from by Nageshwara Rao

Selected Questions from  by Nageshwara Rao Selected Questions from http://way2java.com by Nageshwara Rao Swaminathan J Amrita University swaminathanj@am.amrita.edu November 24, 2016 Swaminathan J (Amrita University) way2java.com (Nageshwara Rao)

More information

CS260 Intro to Java & Android 03.Java Language Basics

CS260 Intro to Java & Android 03.Java Language Basics 03.Java Language Basics http://www.tutorialspoint.com/java/index.htm CS260 - Intro to Java & Android 1 What is the distinction between fields and variables? Java has the following kinds of variables: Instance

More information

C# Fundamentals. Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh

C# Fundamentals. Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh C# Fundamentals Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 1 2018/19 H-W. Loidl (Heriot-Watt Univ) F20SC/F21SC 2018/19

More information

Birkbeck (University of London) Software and Programming 1 In-class Test Mar Answer ALL Questions

Birkbeck (University of London) Software and Programming 1 In-class Test Mar Answer ALL Questions Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 16 Mar 2017 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment

More information

C# Types. Industrial Programming. Value Types. Signed and Unsigned. Lecture 3: C# Fundamentals

C# Types. Industrial Programming. Value Types. Signed and Unsigned. Lecture 3: C# Fundamentals C# Types Industrial Programming Lecture 3: C# Fundamentals Industrial Programming 1 Industrial Programming 2 Value Types Memory location contains the data. Integers: Signed: sbyte, int, short, long Unsigned:

More information

Industrial Programming

Industrial Programming Industrial Programming Lecture 3: C# Fundamentals Industrial Programming 1 C# Types Industrial Programming 2 Value Types Memory location contains the data. Integers: Signed: sbyte, int, short, long Unsigned:

More information

Programming with Java

Programming with Java Programming with Java Data Types & Input Statement Lecture 04 First stage Software Engineering Dep. Saman M. Omer 2017-2018 Objectives q By the end of this lecture you should be able to : ü Know rules

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Cali, Colombia Summer 2012 Lesson 04 Arrays What are Arrays? An array is a series of compartments to store data. Essentially a block of

More information

COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015 Announcements Slides will be posted before the class. There might be few

More information

Midterm I - CSE11 Fall 2013 CLOSED BOOK, CLOSED NOTES 50 minutes, 100 points Total.

Midterm I - CSE11 Fall 2013 CLOSED BOOK, CLOSED NOTES 50 minutes, 100 points Total. Midterm I - CSE11 Fall 2013 CLOSED BOOK, CLOSED NOTES 50 minutes, 100 points Total. Name: ID: Problem 1) (8 points) For the following code segment, what are the values of i, j, k, and d, after the segment

More information

LAB 13: ARRAYS (ONE DIMINSION)

LAB 13: ARRAYS (ONE DIMINSION) Statement Purpose: The purpose of this Lab. is to practically familiarize student with the concept of array and related operations performed on array. Activity Outcomes: As a second Lab on Chapter 7, this

More information

Java Collections Framework: Interfaces

Java Collections Framework: Interfaces Java Collections Framework: Interfaces Introduction to the Java Collections Framework (JCF) The Comparator Interface Revisited The Collection Interface The List Interface The Iterator Interface The ListIterator

More information

A Foundation for Programming

A Foundation for Programming 2.1 Functions A Foundation for Programming any program you might want to write objects functions and modules build bigger programs and reuse code graphics, sound, and image I/O arrays conditionals and

More information

Lecture Set 4: More About Methods and More About Operators

Lecture Set 4: More About Methods and More About Operators Lecture Set 4: More About Methods and More About Operators Methods Definitions Invocations More arithmetic operators Operator Side effects Operator Precedence Short-circuiting main method public static

More information

APCS Semester #1 Final Exam Practice Problems

APCS Semester #1 Final Exam Practice Problems Name: Date: Per: AP Computer Science, Mr. Ferraro APCS Semester #1 Final Exam Practice Problems The problems here are to get you thinking about topics we ve visited thus far in preparation for the semester

More information

Fundamentals of Programming Data Types & Methods

Fundamentals of Programming Data Types & Methods Fundamentals of Programming Data Types & Methods By Budditha Hettige Overview Summary (Previous Lesson) Java Data types Default values Variables Input data from keyboard Display results Methods Operators

More information

COMP-202: Foundations of Programming. Lecture 5: Arrays, Reference Type, and Methods Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 5: Arrays, Reference Type, and Methods Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 5: Arrays, Reference Type, and Methods Sandeep Manjanna, Summer 2015 Announcements Assignment 2 posted and due on 30 th of May (23:30). Extra class tomorrow

More information

Vector (Java 2 Platform SE 5.0) Overview Package Class Use Tree Deprecated Index Help

Vector (Java 2 Platform SE 5.0) Overview Package Class Use Tree Deprecated Index Help Overview Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes SUMMARY: NESTED FIELD CONSTR METHOD DETAIL: FIELD CONSTR METHOD Página 1 de 30 Java TM 2 Platform

More information

COS 126 Midterm 1 Written Exam Fall 2011

COS 126 Midterm 1 Written Exam Fall 2011 NAME: login id: Precept: COS 126 Midterm 1 Written Exam Fall 2011 This test has 8 questions, weighted as indicated. The exam is closed book, except that you are allowed to use a one page cheatsheet. No

More information

G51PRG: Introduction to Programming Second semester

G51PRG: Introduction to Programming Second semester G51PRG: Introduction to Programming Second semester Lecture 7 Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk Previous lecture es interfaces collections hierarchy in Java Lecture 7:

More information

Lecture Set 4: More About Methods and More About Operators

Lecture Set 4: More About Methods and More About Operators Lecture Set 4: More About Methods and More About Operators Methods Definitions Invocations More arithmetic operators Operator Side effects Operator Precedence Short-circuiting main method public static

More information

Introduction to the Java Basics: Control Flow Statements

Introduction to the Java Basics: Control Flow Statements Lesson 3: Introduction to the Java Basics: Control Flow Statements Repetition Structures THEORY Variable Assignment You can only assign a value to a variable that is consistent with the variable s declared

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

Introduction to Java & Fundamental Data Types

Introduction to Java & Fundamental Data Types Introduction to Java & Fundamental Data Types LECTURER: ATHENA TOUMBOURI How to Create a New Java Project in Eclipse Eclipse is one of the most popular development environments for Java, as it contains

More information

CS 101 Fall 2006 Midterm 3 Name: ID:

CS 101 Fall 2006 Midterm 3 Name:  ID: You only need to write your name and e-mail ID on the first page. This exam is CLOSED text book, closed-notes, closed-calculator, closed-neighbor, etc. Questions are worth different amounts, so be sure

More information

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

Method OverLoading printf method Arrays Declaring and Using Arrays Arrays of Objects Array as Parameters Outline Method OverLoading printf method Arrays Declaring and Using Arrays Arrays of Objects Array as Parameters Variable Length Parameter Lists split() Method from String Class Integer & Double Wrapper

More information

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment

More information

Java Foundations Certified Junior Associate

Java Foundations Certified Junior Associate Java Foundations Certified Junior Associate 习题 1. When the program runs normally (when not in debug mode), which statement is true about breakpoints? Breakpoints will stop program execution at the last

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Some Sample AP Computer Science A Questions - Solutions

Some Sample AP Computer Science A Questions - Solutions Some Sample AP Computer Science A Questions - s Note: These aren't from actual AP tests. I've created these questions based on looking at actual AP tests. Also, in cases where it's not necessary to have

More information

Lecture Multidimensional Arrays and the ArrayList Class. Dr. Martin O Connor CA166

Lecture Multidimensional Arrays and the ArrayList Class. Dr. Martin O Connor CA166 Lecture 17-18 Multidimensional Arrays and the ArrayList Class Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Topics Declaring and Instantiating Multidimensional Arrays Aggregate Two-Dimensional

More information

JAVA PROGRAMMING COURSE NO. IT-705(A) SECTION - A

JAVA PROGRAMMING COURSE NO. IT-705(A) SECTION - A Q1. Define the following terms: JAVA PROGRAMMING COURSE NO. IT-705(A) SECTION - A i. Event An event in Java is an object that is created when something changes within a graphical user interface. If a user

More information

1.00 Lecture 4. Promotion

1.00 Lecture 4. Promotion 1.00 Lecture 4 Data Types, Operators Reading for next time: Big Java: sections 6.1-6.4 Promotion increasing capacity Data Type Allowed Promotions double None float double long float,double int long,float,double

More information

The University of Nottingham

The University of Nottingham The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 1 MODULE, SPRING SEMESTER 2016-2017 PROGRAMMING PARADIGMS Time allowed: TWO hours THIRTY minutes Candidates may complete the front cover

More information

CS111: PROGRAMMING LANGUAGE II

CS111: PROGRAMMING LANGUAGE II CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1(c): Java Basics (II) Lecture Contents Java basics (part II) Conditions Loops Methods Conditions & Branching Conditional Statements A

More information

2/2/18. Assignment 2 is due Wednesday 14 February at 11:59pm. Reading for Monday s lecture is the remainder of Chapter 7 and all of Chapter 8

2/2/18. Assignment 2 is due Wednesday 14 February at 11:59pm. Reading for Monday s lecture is the remainder of Chapter 7 and all of Chapter 8 Assignment 2 is due Wednesday 14 February at 11:59pm Reading for Monday s lecture is the remainder of Chapter 7 and all of Chapter 8 The entire array has a single name scores Each value has a numeric index

More information

CS1083 Week 2: Arrays, ArrayList

CS1083 Week 2: Arrays, ArrayList CS1083 Week 2: Arrays, ArrayList mostly review David Bremner 2018-01-08 Arrays (1D) Declaring and using 2D Arrays 2D Array Example ArrayList and Generics Multiple references to an array d o u b l e prices

More information

Boaz Kantor Introduction to Computer Science, Fall semester IDC Herzliya

Boaz Kantor Introduction to Computer Science, Fall semester IDC Herzliya Boaz Kantor Introduction to Computer Science, Fall semester 2010-2011 IDC Herzliya class Average { public static void main(string[] args) { double x = 4.2; double y = 5.9; System.out.println( The average

More information

Collections. Collections Collection types Collection wrappers Composite classes revisited Collection classes Hashtables Enumerations

Collections. Collections Collection types Collection wrappers Composite classes revisited Collection classes Hashtables Enumerations References: Beginning Java Objects, Jacquie Barker; The Java Programming Language, Ken Arnold and James Gosling; IT350 Internet lectures 9/16/2003 1 Collections Collection types Collection wrappers Composite

More information

CS 170, Section /3/2009 CS170, Section 000, Fall

CS 170, Section /3/2009 CS170, Section 000, Fall Lecture 18: Objects CS 170, Section 000 3 November 2009 11/3/2009 CS170, Section 000, Fall 2009 1 Lecture Plan Homework 5 : questions, comments? Managing g g Data: objects to make your life easier ArrayList:

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 13 Two Dimensional Arrays Outline Problem: How do store and manipulate data in tabular format Two-dimensional arrays easy access with 2 indices This

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 13 Two Dimensional Arrays Outline Problem: How do store and manipulate data in tabular format Two-dimensional arrays easy access with 2 indices This

More information

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

CISC-124. Dog.java looks like this. I have added some explanatory comments in the code, and more explanation after the code listing. CISC-124 20180115 20180116 20180118 We continued our introductory exploration of Java and object-oriented programming by looking at a program that uses two classes. We created a Java file Dog.java and

More information

Lecture 14. 'for' loops and Arrays

Lecture 14. 'for' loops and Arrays Lecture 14 'for' loops and Arrays For Loops for (initiating statement; conditional statement; next statement) // usually incremental body statement(s); The for statement provides a compact way to iterate

More information

Functions. x y z. f (x, y, z) Take in input arguments (zero or more) Perform some computation - May have side-effects (such as drawing)

Functions. x y z. f (x, y, z) Take in input arguments (zero or more) Perform some computation - May have side-effects (such as drawing) 2.1 Functions Functions Take in input arguments (zero or more) Perform some computation - May have side-effects (such as drawing) Return one output value Input Arguments x y z f Return Value f (x, y, z)

More information

CSCI 135 Exam #0 Fundamentals of Computer Science I Fall 2013

CSCI 135 Exam #0 Fundamentals of Computer Science I Fall 2013 CSCI 135 Exam #0 Fundamentals of Computer Science I Fall 2013 Name: This exam consists of 7 problems on the following 6 pages. You may use your single- side hand- written 8 ½ x 11 note sheet during the

More information

Java Language Features

Java Language Features Java Language Features References: Object-Oriented Development Using Java, Xiaoping Jia Internet Course notes by E.Burris Computing Fundamentals with Java, by Rick Mercer Beginning Java Objects - From

More information

Sample Examination Paper Programming and Software Development

Sample Examination Paper Programming and Software Development THE UNIVERSITY OF MELBOURNE DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Sample Examination Paper 2008 433-520 Programming and Software Development Exam Duration: 2 hours Total marks for this

More information

Course Outline. Introduction to java

Course Outline. Introduction to java Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.

More information

VARIABLES AND TYPES CITS1001

VARIABLES AND TYPES CITS1001 VARIABLES AND TYPES CITS1001 Scope of this lecture Types in Java the eight primitive types the unlimited number of object types Values and References The Golden Rule Primitive types Every piece of data

More information

Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types. Record Types. Pointer and Reference Types

Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types. Record Types. Pointer and Reference Types Chapter 6 Topics WEEK E FOUR Data Types Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative Arrays Record Types Union Types Pointer and Reference

More information

CS61B Lecture #6: Arrays

CS61B Lecture #6: Arrays CS61B Lecture #6: Arrays Readings for Monday : Chapters 2, 4 of Head First Java (5 also useful, but its really review). Upcoming readings : Chapters 7, 8 of Head First Java. Public Service Announcement.

More information

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

CSE 201 JAVA PROGRAMMING I. Copyright 2016 by Smart Coding School CSE 201 JAVA PROGRAMMING I Primitive Data Type Primitive Data Type 8-bit signed Two s complement Integer -128 ~ 127 Primitive Data Type 16-bit signed Two s complement Integer -32768 ~ 32767 Primitive Data

More information

JVM (java) compiler. A Java program is either a library of static methods (functions) or a data type definition

JVM (java) compiler. A Java program is either a library of static methods (functions) or a data type definition Programming Model Basic Structure of a Java Program The Java workflow editor (Code) P.java compiler (javac) P.class JVM (java) output A Java program is either a library of static methods (functions) or

More information

Collections. Collections. Collections - Arrays. Collections - Arrays

Collections. Collections. Collections - Arrays. Collections - Arrays References: Beginning Java Objects, Jacquie Barker; The Java Programming Language, Ken Arnold and James Gosling; IT350 Internet lectures Collections Collection types Collection wrappers Composite classes

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 10 For Loops and Arrays Outline Problem: How can I perform the same operations a fixed number of times? Considering for loops Performs same operations

More information

COE318 Lecture Notes Week 4 (Sept 26, 2011)

COE318 Lecture Notes Week 4 (Sept 26, 2011) COE318 Software Systems Lecture Notes: Week 4 1 of 11 COE318 Lecture Notes Week 4 (Sept 26, 2011) Topics Announcements Data types (cont.) Pass by value Arrays The + operator Strings Stack and Heap details

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Conditional Statements Boolean Expressions and Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Conditional Statements Boolean Expressions and Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade; Control Statements Control Statements All programs could be written in terms of only one of three control structures: Sequence Structure Selection Structure Repetition Structure Sequence structure The

More information

STUDENT LESSON A15 ArrayList

STUDENT LESSON A15 ArrayList STUDENT LESSON A15 ArrayList Java Curriculum for AP Computer Science, Student Lesson A15 1 STUDENT LESSON A15 - ArrayList INTRODUCTION: It is very common for a program to manipulate data that is kept in

More information

COMP 110 Programming Exercise: Simulation of the Game of Craps

COMP 110 Programming Exercise: Simulation of the Game of Craps COMP 110 Programming Exercise: Simulation of the Game of Craps Craps is a game of chance played by rolling two dice for a series of rolls and placing bets on the outcomes. The background on probability,

More information

Lecture 15. Arrays (and For Loops)

Lecture 15. Arrays (and For Loops) Lecture 15 Arrays (and For Loops) For Loops for (initiating statement; conditional statement; next statement) // usually incremental { body statement(s); The for statement provides a compact way to iterate

More information

Chapter 6 part 1. Data Types. (updated based on 11th edition) ISBN

Chapter 6 part 1. Data Types. (updated based on 11th edition) ISBN Chapter 6 part 1 Data Types (updated based on 11th edition) ISBN 0-321 49362-1 Chapter 6 Topics Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative

More information

Options for User Input

Options for User Input Options for User Input Options for getting information from the user Write event-driven code Con: requires a significant amount of new code to set-up Pro: the most versatile. Use System.in Con: less versatile

More information

Computer Science E-119 Fall Problem Set 1. Due before lecture on Wednesday, September 26

Computer Science E-119 Fall Problem Set 1. Due before lecture on Wednesday, September 26 Due before lecture on Wednesday, September 26 Getting Started Before starting this assignment, make sure that you have completed Problem Set 0, which can be found on the assignments page of the course

More information

Public-Service Announcement

Public-Service Announcement Public-Service Announcement Computer Science Mentors (CSM) will be running small group sections this semester! CSM is a student organization that aims to create a stronger feeling of community in classes

More information

Admin. CS 112 Introduction to Programming. Recap: Exceptions. Summary: for loop. Recap: CaesarFile using Loop. Summary: Flow Control Statements

Admin. CS 112 Introduction to Programming. Recap: Exceptions. Summary: for loop. Recap: CaesarFile using Loop. Summary: Flow Control Statements Admin. CS 112 Introduction to Programming q Puzzle Day from Friday to Monday Arrays; Loop Patterns (break) Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email:

More information

Assignment 1 is due tonight at 11:59pm. Assignment 2 is due next Thursday at 11:59pm

Assignment 1 is due tonight at 11:59pm. Assignment 2 is due next Thursday at 11:59pm Assignment 1 is due tonight at 11:59pm Assignment 2 is due next Thursday at 11:59pm Reading for Monday s class is the remainder of Chapter 7 and all of Chapter 8 The entire array has a single name Each

More information

Ans: Store s as an expandable array of chars. (Double its size whenever we run out of space.) Cast the final array to a String.

Ans: Store s as an expandable array of chars. (Double its size whenever we run out of space.) Cast the final array to a String. CMSC 131: Chapter 21 (Supplement) Miscellany Miscellany Today we discuss a number of unrelated but useful topics that have just not fit into earlier lectures. These include: StringBuffer: A handy class

More information

Inf1-OOP. Textbooks. Who and What. Organizational Issues. Why Java? Course Overview. Hello, World! in Java. Ewan Klein, Perdita Stevens

Inf1-OOP. Textbooks. Who and What. Organizational Issues. Why Java? Course Overview. Hello, World! in Java. Ewan Klein, Perdita Stevens Organizational Issues Inf1-OOP Course Overview Ewan Klein, Perdita Stevens School of Informatics January 12, 2013 Why Java? Hello, World! in Java Built-in Types Integers Floating-Point Numbers Type Conversion

More information

Lesson 02 Data Types and Statements. MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL

Lesson 02 Data Types and Statements. MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL Lesson 02 Data Types and Statements MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL Topics Covered Statements Variables Data Types Arithmetic

More information

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

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018 Object-oriented programming 1 and data-structures CS/ENGRD 2110 SUMMER 2018 Lecture 1: Types and Control Flow http://courses.cs.cornell.edu/cs2110/2018su Lecture 1 Outline 2 Languages Overview Imperative

More information

Computer Science II (20073) Week 1: Review and Inheritance

Computer Science II (20073) Week 1: Review and Inheritance Computer Science II 4003-232-01 (20073) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Hardware and Software Hardware Physical devices in a computer system

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Arrays; Loop Patterns (break) Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu Admin. q Puzzle Day

More information

CS 101 Spring 2007 Midterm 2 Name: ID:

CS 101 Spring 2007 Midterm 2 Name:  ID: You only need to write your name and e-mail ID on the first page. This exam is CLOSED text book, closed-notes, closed-calculator, closed-neighbor, etc. Questions are worth different amounts, so be sure

More information

More non-primitive types Lesson 06

More non-primitive types Lesson 06 CSC110 2.0 Object Oriented Programming Ms. Gnanakanthi Makalanda Dept. of Computer Science University of Sri Jayewardenepura More non-primitive types Lesson 06 1 2 Outline 1. Two-dimensional arrays 2.

More information

CSC 172 Data Structures and Algorithms. Lecture 3 Spring 2018 TuTh 3:25 pm 4:40 pm

CSC 172 Data Structures and Algorithms. Lecture 3 Spring 2018 TuTh 3:25 pm 4:40 pm CSC 172 Data Structures and Algorithms Lecture 3 Spring 2018 TuTh 3:25 pm 4:40 pm Agenda Administrative aspects Java Generics Chapter 1 ADMINISTRATIVE ASPECTS Workshops Workshops Workshops begin on this

More information

CS 455 Midterm Exam 1 Fall 2015 [Bono] Thursday, Oct. 1, 2015

CS 455 Midterm Exam 1 Fall 2015 [Bono] Thursday, Oct. 1, 2015 Name: USC netid (e.g., ttrojan): CS 455 Midterm Exam 1 Fall 2015 [Bono] Thursday, Oct. 1, 2015 There are 5 problems on the exam, with 58 points total available. There are 10 pages to the exam (5 pages

More information

Chapter 2: Using Data

Chapter 2: Using Data Chapter 2: Using Data TRUE/FALSE 1. A variable can hold more than one value at a time. F PTS: 1 REF: 52 2. The legal integer values are -2 31 through 2 31-1. These are the highest and lowest values that

More information

Remedial classes. G51PRG: Introduction to Programming Second semester Lecture 2. Plan of the lecture. Classes and Objects. Example: Point class

Remedial classes. G51PRG: Introduction to Programming Second semester Lecture 2. Plan of the lecture. Classes and Objects. Example: Point class G51PRG: Introduction to Programming Second semester Lecture 2 Remedial classes Monday 3-5 in A32 Contact Yan Su (yxs) Ordinary labs start on Tuesday Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk

More information

CS171:Introduction to Computer Science II

CS171:Introduction to Computer Science II CS171:Introduction to Computer Science II Department of Mathematics and Computer Science Li Xiong 9/7/2012 1 Announcement Introductory/Eclipse Lab, Friday, Sep 7, 2-3pm (today) Hw1 to be assigned Monday,

More information

cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1

cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1 topics: introduction to java, part 1 cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 cis20.1-fall2007-sklar-leci.2 1 Java. Java is an object-oriented language: it is

More information

CS 302: Introduction to Programming in Java. Lecture 9

CS 302: Introduction to Programming in Java. Lecture 9 1 CS 302: Introduction to Programming in Java Lecture 9 2 No class on Wednesday in Observance of Fourth of July 3 Announcement Programming Assignment #1 Due 11:59pm Sunday July 8 th Follow style and commenting

More information

Stack and Its Implementation

Stack and Its Implementation Stack and Its Implementation Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale tessema.mengistu@siu.edu Room - 3131 1 Definition of Stack Usage of Stack Outline

More information