review session ryan ly (slides by jai madhok) email: [email protected]

28
Review Session Ryan Ly (slides by Jai Madhok) Email: [email protected]

Upload: jonah-french

Post on 23-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Review SessionRyan Ly (slides by Jai Madhok)

Email: [email protected]

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

Data Types

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?

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()

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

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

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

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

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!

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?

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: = += -= *= /= %=

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

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

for (initial statement; loop condition; update statement)

KNOW THIS LOOP COLD!

Initial Statement

Loop Conditio

n Statements

Update Statement

T

F

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.

java.util – Scanner, StringTokenizer java.io – BufferedReader, FileReader,

PrintWriter java.text – DecimalFormat java.lang – String, Math

Don’t need to import

Reading flow in java:a = a + 2;

‘A’ in ASCII is 65ASCII is a subset of UnicodeEscape sequencesCompound operators Increment/Decrement operators,

pre/post

Documentation Reading

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

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

matching exercises are a possibility

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!

?

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

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

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

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

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

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

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