630 likes | 691 Views
Dive into Java arrays with this comprehensive exam covering topics like comments, operators, declarations, and identifiers. Test your knowledge and enhance your Java skills today!
E N D
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 c. /* This is my first program */ d. ‘ This is my first program e. none of the above
Exam 1 3. We use the following operator to create a new object in Java a. malloc b. new c. string d. newObject
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
Exam 1 5. Identifiers may start with a. $ b. @ c. a number d. &
Exam 1 6. It is necessary to declare an object before you can use it a. True b. False
Exam 1 7. Which of the following is a valid identifier? a. Bank Account b. bank account c. bank$account d. bank-account
Exam 1 8. A series of characters that appear in double quote is a char data type a. True b. False
Exam 1 9. boolean isDone == false; is a valid assignment statement in Java a. True b. False
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;
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.
Exam 1 14. These two data types: __float__, and ___double___are used for real numbers 15. _An object____is an instance of a class
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.
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
Exam 1 18. char aChar = ”NFL Championship”; • Char datatype can only contain 1 character • Char data type needs single quotes instead of double ones
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
Exam 1 20. int count=1, sum=0; while (count < 9) { if (count % 2 != 0) { sum += count; } count++; } System.out.println(" Sum ="+ sum);
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
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);
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
Lesson plan • Arrays
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).
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
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
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);
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
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
Array Declaration Format: <data type>[] <array_name>; OR <data type> <array_name>[]; data type: double, int, float, string Example: double[] gpa; Or double gpa[];
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
Arrays Example: int[ ] number = new int[5]; number[0] number 6 0 1 2 3 4
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];
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.
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];
Practice (in class and/or at home) Modify the class ComputeMin (week 4) to print out the minimum of an array with n integers.
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
Arrays of Objects private Loan[] loanArray = new Loan[5]; for (i=0; i<5; i++) { loanArray[i] = new Loan(); } loanArray
Indexing an Array int[] number = new int [5]; number[0] =2; number[1]=3; number[2]=4; number[3]= 6; number[4]=-1;
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.
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,});
Note for project 2 • For each class (Loan and Amortization), list: data members: data type, name methods: return data type, name, parameters constructor parameters
Note for project 2 b. For Amorization main list methods: return data type, name, parameters Draw a diagram c. Submit your code
Test case Interest rate = 0.4% (0.004) Number of months = 12 Loan amount = 100 Amortization payment = $8.55
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]; }
Copy an array Use arraycopy method from System class. public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
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);
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.
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:
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);