Review Session Jai Madhok Email: [email protected]@jhu.edu.

25
Review Session Jai Madhok Email: [email protected]

Transcript of Review Session Jai Madhok Email: [email protected]@jhu.edu.

Page 1: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

Review Session

Jai Madhok

Email: [email protected]

Page 2: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

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

Page 3: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

3 kinds of primitive data typesType conversion between data types- Implicit Vs Explicit type conversionThe ‘Cast’ operator: Syntax: (dataType)

ExpressionWhat happens when an operator has

mixed operands?

Page 4: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

• It 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)- concat()- length()- replace()- toLowerCase()/toUpperCase()

Page 5: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

• Use the word final• Identifier is 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 typographical errors- Easy to modify the program in the future- If you mistype the name of the location

computer will warn you as compared to typing in a wrong value which the computer will blindly accept

- Good programming practice

Page 6: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

• 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!

Page 7: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

• 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 ParseSyntax:StringTokenizer t= new StringTokenizer(str,

delimiters)Say we want an integer:

int a= Integer.parseInt(t.nextToken())Other method: Double.parseDouble()Note: Parsing and type casting are different things

Page 8: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

A file is defined as an area in secondary storage used to hold information

Scanner scanf= 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/monitor display

Page 9: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

Syntax:System.out.printf(formatString, argumentList)

formatString: is a string specifying the format argumentList: list of arguments containing constant

values, variables, expressions separated by commas

-------------------------------------------------------------------------------------

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!

Page 10: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

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?

equalsequals• Case sensitive method• How to solve the case sensitivity issue?• What does the method return?

Page 11: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

() . [] Unary Operators: negation, casting, not (!), ++,

-- Arithmetic Operators I: * / %Arithmetic Operators II: + -Comparison Operators: < <= > >= Equivalence Operators: == != Logical AND: &&Logical OR: ||Ternary Operator: ?:Assignment Operators: ==, +=, -=, *=, /=,

%=

Page 12: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

Provide alternatives to sequential program execution and are used to alter flow of executionAlternatives are: (i) Selection – if, if/else, switch/case(ii) Repitition – for, while, do-while

Page 13: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

Using loop control variables- Counter controlled while loops- Sentinel Controlled while loops- Flag controlled while loopsEOF controlled while loopsDo-While Loops different from a generic while

T

F

Page 14: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

for (initial statement; loop condition; update Statement)

KNOW THIS LOOP COLD!

Initial Statement

Loop Conditio

n Statements

Update Stateme

nt

T

F

Page 15: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

Exit early from a loopSkip the remaining cases in a switch

case constructDon’t try and use them at random

places to make your code work, most of the time it won’t.

Page 16: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

util – Scanner, StringTokenizer io- BufferedReader, FileReader text- DecimalFormat lang – String, Math

Page 17: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

Reading flow in java: a = a + 2; ‘A’ in ASCII is 65ASCII is a subset of UnicodeEscape SequencesCompound Operators Increment/Decrement operators,

pre/post

Page 18: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

Read up some common methods of the following classes for use in the assignments and exams.- String- Scanner- StringTokenizer- Math- Character

Page 19: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

True/FalseMultiple ChoiceCode TracingCode CompletionFinding ErrorsOther random kinds of questions like

matching exercises are a possibility

Page 20: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

• Read through all questions carefully• Write answers legibly, because we have

to be able to read them to grade them• Show all work for partial credit• Do not spend too much time on any one

particular 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.H’s class notes

• Good Luck!

Page 21: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

?

Page 22: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

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

Page 23: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

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

Page 24: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

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;}

[4-6 points] Difficulty: Medium

Page 25: Review Session Jai Madhok Email: jaimadhok@jhu.edujaimadhok@jhu.edu.

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”);

[6 points] Difficulty: Medium