1 / 63

Arrays

Arrays. Exam 1. 1. Java source and executable files have the following extensions? a. .java and .class b. .src and .class c. .javadoc and .exe d. .list and .exe. Exam 1. 2. Which of the following is a Java comment a. ; This is my first program b. # This is my first program

Download Presentation

Arrays

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arrays

  2. Exam 1 1. Java source and executable files have the following extensions? a. .java and .class b. .src and .class c. .javadoc and .exe d. .list and .exe

  3. Exam 1 2. Which of the following is a Java comment a. ; This is my first program b. # This is my first program c. /* This is my first program */ d. ‘ This is my first program e. none of the above

  4. Exam 1 3. We use the following operator to create a new object in Java a. malloc b. new c. string d. newObject

  5. Exam 1 4. Commands to compile and execute a java program are a. run and java b. execute and javac c. javac and java d. compile and run

  6. Exam 1 5. Identifiers may start with a. $ b. @ c. a number d. &

  7. Exam 1 6. It is necessary to declare an object before you can use it a. True b. False

  8. Exam 1 7. Which of the following is a valid identifier? a. Bank Account b. bank account c. bank$account d. bank-account

  9. Exam 1 8. A series of characters that appear in double quote is a char data type a. True b. False

  10. Exam 1 9. boolean isDone == false; is a valid assignment statement in Java a. True b. False

  11. Exam 1 10. Which of the following is a correct variable declaration statement? a. int x - float y; b. int x: float y; c. int x,y; d. Long int x;

  12. Exam 1 11. Boolean expressions are built by use of _relational______operators and _boolean_______operators 12. A data value that can not be changed is called __constant____________ 13. $Bad-Variable is __bad/invalid/not _ Java identifier.

  13. Exam 1 14. These two data types: __float__, and ___double___are used for real numbers 15. _An object____is an instance of a class

  14. Exam 1 16. double loanPeriod; if (loanPeriod < 0 || >1000 ); { System.out.println(“Loan period is invalid”); System.exit(1); } • loanPeriod is not initialized • loanPeriod or a variable name is missing • ; is not needed.

  15. Exam 1 17. double s; s = 1.0; switch (s) { case 1.0: System.out.println(“ March madness”); break; case 2.0: System.out.println(“ November rain”); break; case 3.0: System.out.println(“White Christmas”); break; default: System.out.println(“No Special name”); break; } 1. Switch doesn’t support double data type

  16. Exam 1 18. char aChar = ”NFL Championship”; • Char datatype can only contain 1 character • Char data type needs single quotes instead of double ones

  17. Exam 1 19. int i, j; double x,y; i=1; j=2; x= Math.pow(3, (i/j)); y = x % 2; if (y ==0) System.out.println(x +" is an even number "); else System.out.println(x +" is an odd number"); ½ = 0, 30=1.0 y = 1.0 % 2 = 1.0 1.0 is an odd number

  18. Exam 1 20. int count=1, sum=0; while (count < 9) { if (count % 2 != 0) { sum += count; } count++; } System.out.println(" Sum ="+ sum);

  19. Exam 1 count =1, sum =0, 1 %2 = 1 (!= 0), sum = 0+1=1 count =2, sum=1, 2 % 2 = 0 count =3, sum=1, 3 % 2 = 1 (!=0), sum = 1+3 = 4 count =4, sum=4, 4 % 2 = 0 count =5, sum=4, 5 % 2 = 1 (!=0), sum = 4+5 = 9 count =6, sum=9, 6 % 2 = 0 count =7, sum=7, 7 % 2 = 1 (!=0), sum = 9+7 = 16 count =8, sum=16, 8 % 2 = 0 count =9, exit Sum = 16

  20. Exam 1 21. int sum =0; for (int i=1; i<=2; i++) { for (int j=1; j<=3; j++) { sum = sum + (i+j); } } System.out.println(" Sum ="+ sum);

  21. Exam 1 sum =0 i=1; j=1; sum=0+(1+1) j=2; sum =(1+1)+(1+2) j=3; sum = (1+1)+(1+2)+(1+3) = 2+3+4=9 i=2 j=1; sum=9+(2+1) j=2; sum=9+(2+1)+(2+2) j=3; sum=9+(2+1)+(2+2)+(2+3)= 9+(3+4+5)=9+12=21 Sum =21

  22. Lab 4

  23. Lesson plan • Arrays

  24. Arrays • We often need to group together related items of data. • Cards in a pack. • Ships in a port. • Java provides two distinct facilities: • Traditional array. • Flexible-size collection classes (java.util).

  25. Problems That Arrays Solve …… minValue = firstNumber; if (secondNumber < minValue) minValue = secondNumber; if (thirdNumber < minValue) minValue = thirdNumber; if (fourthNumber < minValue) minValue = fourthNumber; if (fifthNumber < minValue) minValue = fifNumber; …… What is this code doing? Finding minimum value from a set of 5 values

  26. Arrays for Numerical data type (primitive data types) int[] number = new int [5]; int minValue; String inputStr; for (int i=0; i<5; i++) { inputStr = JOptionPane.showInputDialog(null,"Please enter the value for element "+i); number[i] = Integer.parseInt(inputStr); } minValue = number[0]; for (int i=1; i<5; i++) { if (minValue > number[i]) minValue = number[i]; } System.out.println(" minValue ="+ minValue); Array declaration & allocation memory

  27. Arrays for Numerical data type (primitive data types) Getting values for all elements in the array int[] number = new int [5]; int minValue; String inputStr; for (int i=0; i<5; i++) { inputStr = JOptionPane.showInputDialog(null,"Please enter the value for element "+i); number[i] = Integer.parseInt(inputStr); } minValue = number[0]; for (int i=1; i<5; i++) { if (minValue > number[i]) minValue = number[i]; } System.out.println(" minValue ="+ minValue);

  28. Arrays for Numerical data type (primitive data types) int[] number = new int [5]; int minValue; String inputStr; for (int i=0; i<5; i++) { inputStr = JOptionPane.showInputDialog(null,"Please enter the value for element "+i); number[i] = Integer.parseInt(inputStr); } minValue = number[0]; for (int i=1; i<5; i++) { if (minValue > number[i]) minValue = number[i]; } System.out.println(" minValue ="+ minValue); Access each element of an array

  29. Arrays • Array is a collection of data values of the same data type. • Example: int[ ] number; // This is an array of integers double[] gpa; // This an array of double

  30. Array Declaration Format: <data type>[] <array_name>; OR <data type> <array_name>[]; data type: double, int, float, string Example: double[] gpa; Or double gpa[];

  31. Arrays • The amount of memory allocated to store an array depends on the size and type of values in the array • Size: number of elements in the array • Type of values: data type of each element in the array • An individual value in an array is called array element Example: int[ ] number = new int[5]; data type: integer (4 bytes) size: 5 memory: 20 bytes Array is a reference data type. Array is NOT an object

  32. Arrays Example: int[ ] number = new int[5]; number[0] number 6 0 1 2 3 4

  33. Arrays • Elements of an array are indexed from zero to size -1 • Size: the number of elements in an array • length: a public constant represents the size of an array. Example: sum =0; for (int i=0; i<number.length; i++) sum += number[i];

  34. Fixed –size array declaration Size of an array is pre-determined. Example: int[] number= new int[5]; Problems: • What if we have more than pre-determined size of an array? • Underutilization of space.

  35. Variable-size array declaration • In Java, we can declare an array of different size every time we run a program • Example: int size; int[] number; inputStr = JOptionPane.showInputDialog(null,"Please enter the number of elements "); size = Integer.parseInt(inputStr); number = new int[size];

  36. Practice (in class and/or at home) Modify the class ComputeMin (week 4) to print out the minimum of an array with n integers.

  37. Arrays for Objects // An array for the names of the distinct private Loan[] loanArray = new Loan[5]; • Note: No Loan objects are created. Only a container for Loan. • Each location is initialized to null. loanArray NULL

  38. Arrays of Objects private Loan[] loanArray = new Loan[5]; for (i=0; i<5; i++) { loanArray[i] = new Loan(); } loanArray

  39. Indexing an Array int[] number = new int [5]; number[0] =2; number[1]=3; number[2]=4; number[3]= 6; number[4]=-1;

  40. Initializing Arrays ... // Differentially number the assignments. private int[] number = {1, 2, 1, 5, 1,}; private final int totalNumber = number.length; • No new required. • Terminating semicolon. • Optional final comma.

  41. Further Initializer Examples String[] suitNames = { "Spades", "Hearts", "Diamonds", "Clubs" }; Point[] vertices = { new Point(0,0), new Point(0,1), new Point(1,1), new Point(1,0), }; YearlyRainfall y2k = new YearlyRainfall( new int[]{10,10,8,8,6,4,4,0,4,4,7,10,});

  42. Note for project 2 • For each class (Loan and Amortization), list: data members: data type, name methods: return data type, name, parameters constructor parameters

  43. Note for project 2 b. For Amorization main list methods: return data type, name, parameters Draw a diagram c. Submit your code

  44. Test case Interest rate = 0.4% (0.004) Number of months = 12 Loan amount = 100 Amortization payment = $8.55

  45. Iterating over an Array in Reverse int size = 5; minValue = number[size-1]; for (int i=size-2; i>=0; i--) { if (minValue > number[i]) minValue = number[i]; }

  46. Copy an array Use arraycopy method from System class. public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

  47. Copying Arrays int size=5; int number[] = new int[size]; // Assuming that we get values for number array here // Declare another array called number1 int number1[] = new int[size]; // Copy the values of array number to array number1 System.arraycopy(number,0,number1,0,size);

  48. Passing Array to Methods • When an array is passed to a method, only its reference is passed. A copy of the array is not created in the method. That means: we pass the identifier for that array which in fact is a reference to a start address of the array.

  49. Passing Array to Methods Assuming changeArrayValue is one method of a class named ArrayClass public void changeArrayValue(int[] arrayChanged) { for (int i=0; i< arrayChanged.length; i++) arrayChanged[i] += 1; } We call this method as:

  50. Passing Array to Methods ArrayClass anObj = new ArrayClass(); int number[5] = new int[5]; for(int i=0; i<number.length; i++) number[i] = i; anObj.changeArrayValue(number);

More Related