Presentation is loading. Please wait.

Presentation is loading. Please wait.

Review Session Ryan Ly (slides by Jai Madhok)

Similar presentations


Presentation on theme: "Review Session Ryan Ly (slides by Jai Madhok)"— Presentation transcript:

1 Review Session Ryan Ly (slides by Jai Madhok) Email: rly1@jhu.edu

2 Key Concepts  Identifiers- What are they?  Rules to determine invalid vs. valid identifiers  Cannot be a reserved word  No spaces in between  No symbols other than the ‘$’ and ‘_’  Cannot begin with a digit

3 Data Types  3 kinds of primitive data types  Type conversion between data types  Implicit vs. explicit type conversion  The ‘Cast’ operator: Syntax: (dataType) expression  What happens when an operator has mixed operands?

4 Strings  A String is an ‘Object’  In Java, they are enclosed in double quotes  What is a null string? Empty string?  How does indexing work?  Predefined methods:  substring(startIndex, stopIndex)  charAt(index)  indexOf(ch)  length()  replace()  toLowerCase(), toUpperCase()

5 Named Constants  Use the keyword final  Identifier should be in all Capital Letters  Memory location whose content is not allowed to change during program execution  Ex: final int CENTS_PER_DOLLAR= 100;  Several advantages:  Prevent typos ▪ If you mistype the name of the constant, the compiler will warn you as compared to typing in a wrong value which the compiler will blindly accept  Easy to modify the program in the future  Good programming practice

6 Input Statements  To put data into variables from an input device, we first create an input stream object and associate it with a standard input device Scanner scan= new Scanner(System.in);  More about Scanner:  next()  nextInt()  nextDouble()  nextLine()  How do we read in a single character using a Scanner object? Know how to use these!

7 Tokenizing & Parsing  Sometimes we read in input in the form of a string and then want to extract numeric data from it  How do we do this? Tokenize and Parse  Syntax: StringTokenizer t= new StringTokenizer(str, delim)  Say we want an integer: int a= Integer.parseInt(t.nextToken())  Other method: Double.parseDouble()  Note: Parsing and type casting are different things

8 File Handling  A file is defined as an area in secondary storage used to hold information Scanner scan= new Scanner(new FileReader(filename1)); PrintWriter oFile= new PrintWriter(filename2);  Warning: Closing the file you are writing to is more important than you think it is  Use same methods for reading and writing/formatting files as you have been for user input/output

9 Formatting Output With printf  Syntax: System.out.printf(formatString, argumentList)  formatString: string specifying the format  argumentList: list of arguments containing constant values, variables, or expressions, separated by comma  Example: System.out.printf(“There are %.2f inches in %d centimeters \n”, cm/2.54, cm)  Where cm is a variable of the type int.  Note: You can also use the DecimalFormat class to format your decimal output. Take your pick!

10 More Fun With Strings  compareTo()  Compare Strings character by character until a mismatch is found  What does this method return?  What is the basis for deciding what a mismatch is and what it isn’t?  equals()  Case sensitive method  How to solve the case sensitivity issue?  What does the method return?

11 Operators- Order of Precedence (). [] Unary Operators: negation, casting, not (!), ++, -- Arithmetic Operators I: * / % Arithmetic Operators II: + - Comparison Operators: >= Equivalence Operators: == != Logical AND: && Logical OR: || Ternary Operator: ?: Assignment Operators: = += -= *= /= %=

12 Control Structures  Provide alternatives to sequential program execution and are used to alter flow of execution  Alternatives are:  Selection – if, if/else, switch/case  Repetition – for, while, do-while

13 While Loops  Using loop control variables  Counter controlled while loops  Sentinel controlled while loops  Flag controlled while loops  EOF controlled while loops  Do-while loops are different from a generic while  Run body then check condition to decide whether to loop T F

14 for (initial statement; loop condition; update statement) KNOW THIS LOOP COLD! Initial Statement Loop Condition Statements Update Statement T F

15  Exit early from a loop  Skip the remaining cases in a switch case construct  Don’t try and use them at random places to make your code work, most of the time it won’t.

16  java.util – Scanner, StringTokenizer  java.io – BufferedReader, FileReader, PrintWriter  java.text – DecimalFormat  java.lang – String, Math  Don’t need to import

17  Reading flow in java: a = a + 2;  ‘A’ in ASCII is 65  ASCII is a subset of Unicode  Escape sequences  Compound operators  Increment/Decrement operators, pre/post

18 Documentation Reading  Read up some common methods of the following classes for use in the assignments and exams:  String  Scanner  Math  StringTokenizer  Character

19  True/False  Multiple Choice  Code Tracing  Code Completion  Finding Errors  Other random kinds of questions like matching exercises are a possibility

20 Exam Tips  Read through all questions carefully  Write answers legibly  Show all work for partial credit  Do not spend too much time on any one problem if it is causing trouble, come back to it later on  Read through the chapter summaries in the text book and all of Dr. S’s class notes  Good Luck!

21 ?

22 char let=‘A’; for (int i=1; i<=3; i++) { for(int j=i; j<5; j++) System.out.print(let); System.out.println(); let+=1; } Predict the output [6 points] Difficulty: Medium

23 int n1=6, n2=10; if(n1 >= n2/2) { if(true && false) System.out.print(“one”); } else System.out.print(“two”); System.out.print(“three”); Predict the output [3 points] Difficulty: Easy

24 int num=6; while(num<16) { switch(num%4) { case 1: System.out.println(“one”); break; case 2: System.out.println(“two”); case 3: System.out.println(“three”); break; case 0: System.out.println(“multiple”); } num+=3; } Predict the output [4-6 points] Difficulty: Medium

25 boolean a=true, b=false; if (a && (true|| !b) ) if( b || (!a && false) ) System.out.println(“happy”); else System.out.println(“ halloween”); System.out.println(“goblins”); Predict the output [6 points] Difficulty: Medium

26 Sample Code Tracing #5 double a = 1.6; int b = 13; double c = (int) a * 2 + 1; for (; b > 0; b-=3){ b /= c; // legal b/c equivalent to b = (int) (b/c); System.out.println(b); System.out.println(++b * 0.5 + b--); } Predict the output [9 points] Difficulty: Hard

27 Sample Error Finding #1 String s = “hello world”; String space = s.indexOf(“ “); String pt2 = s.substring(space,s.length); System.out.println(pt2); Find the error [3 points] Difficulty: Easy

28 Sample Error Finding #2 int a, b=10; do { if (b = 10) a = 1.5; b = 10; else if ((b-1)%2>5)) a = 3; System.println(“a is ” + a “ and b is ” + b); } while (a != 5) Find the 8 errors [16 points] Difficulty: 5 Medium, 3 Hard


Download ppt "Review Session Ryan Ly (slides by Jai Madhok)"

Similar presentations


Ads by Google