Download presentation
Presentation is loading. Please wait.
1
COMP 14: I/O and Boolean Expressions May 24, 2000 Nick Vallidis
2
Announcements n Anyone tried the assignment yet?
3
Review n What are the 2 parts of a program? n What are the 2 types of data in Java? n What is a data type? n What are the 4 primitive data types we’ll be using in this class? n What is a method?
4
Review part 2 n What is a string literal? n How do we concatenate things onto a string? n How do we put newline, \, and " in a string? What are these things called?
5
Today n Input/Output (I/O) n Expressions n Boolean Expressions
6
Input/Output n How do we get data into the program from the keyboard? n How do we display data to the user?
7
Output n You’ve already seen the basics of this one: System.out.println("Beefcake!!!");
8
What about displaying data? n We talked yesterday about concatenation… int level = 3; System.out.println("You are on level: " + level); double price = 2.75; System.out.println("Please pay: $" + price);
9
Input n Input is a little more complicated n We are not using the "Keyboard" class described in the book. n Let's take a look at the current assignment...
10
Part of program P1 BufferedReader stdin = new BufferedReader( new InputStreamReader( System.in )); int age; // Holds the age of the person String name; // Holds name. // Ask the user's name System.out.println( "\"Hello\""); System.out.print( "What is your name? -> " ); name = stdin.readLine();
11
Part of program P1 BufferedReader stdin = new BufferedReader( new InputStreamReader( System.in )); int age; // Holds the age of the person String name; // Holds name. // Ask the user's name System.out.println( "\"Hello\""); System.out.print( "What is your name? -> " ); name = stdin.readLine(); This is some setup code. We create an object stdin. You don't have to understand the details of this.
12
Part of program P1 BufferedReader stdin = new BufferedReader( new InputStreamReader( System.in )); int age; // Holds the age of the person String name; // Holds name. // Ask the user's name System.out.println( "\"Hello\""); System.out.print( "What is your name? -> " ); name = stdin.readLine(); Here we actually read in what the user types.
13
Another piece of program P1 // Ask the user's age System.out.print( "Please enter your age (doesn't have to be true). -> "); age = Integer.parseInt(stdin.readLine( ) ); And here we read it in and then convert it to an integer
14
Input Summary n Put this at beginning (on one line) To read in a String To read in an int To read in a double BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); = stdin.readLine(); = Integer.parseInt(stdin.readLine()); = (new Double(stdin.readLine())).doubleValue();
15
Expressions: the revenge n We talked about +, -, *, / and % n Just like with arithmetic, there is an order n * and / have higher precedence than + and - 18 / 5 + 1 is 4, not 3
16
Using parenthesis n There are many levels of precedence (see pg. 69 in book) n You can force whatever order you want using parenthesis 18 / 5 + 1 is 4, BUT 18 / (5 + 1) is 3
17
Mixing data types n Avoid this if you can n Guidelines –only mix int and double –the result should be double double total, shoePrice = 54.99; int numShoes = 4; total = shoePrice * numShoes; Should be a double
18
Methods can be in expressions n If a method returns a value, then it can be in an expression too. n This brings us to a special kind of method... age = Integer.parseInt(stdin.readLine( )) - 21;
19
Class Methods n Normally, you have to instantiate an object of a class before you can use its methods But not if the method has the word static in front of it n Where have you seen this before?
20
Class (or static) methods n How about main? public class Simple { public static void main(String[] args) { System.out.println(“Hello!”); }
21
Aside: method data types public class Simple { public static void main(String[] args) { System.out.println(“Hello!”); } What's this?
22
Aside: method data types public class Simple { public static void main(String[] args) { System.out.println(“Hello!”); } It's a data type! It tells you whether the method returns a value (if it can be used in an expression)
23
This can be very useful The Math class contains many methods that are useful in expressions: double result; // calculate the absolute value result = Math.abs(-17.2); // calculate the sin of pi radians result = Math.sin(3.1416);
24
Boolean expressions These are expressions that result in a value of the data type boolean n They almost always result from the use of equality operators, relational operators or logical operators
25
Equality operators n These are == and != –== means "equal to" –!= means "not equal to" n They go between two expressions: 2 == 2 evaluates to true 2 == 5 evaluates to false 15 != 7 evaluates to true 14 != 14 evaluates to false
26
Equality Operators n Of course you can also use variables and more complex expressions int myAnswer = 5; int trueAnswer = 7; myAnswer == trueAnswer evaluates to false int myRaise = 0; int yourRaise = 100000; myRaise != yourRaise evaluates to true
27
Relational Operators n These are and >= –< means "less than" –<= means "less than or equal to" –> means "greater than" –>= means "greater than or equal to" n They work the same way as the equality operators
28
Last bunch of boolean operators n Logical operators: !, && and || –! means "NOT" –&& means "logical AND" –|| means "logical OR"
29
Truth tables
30
Logical operators in action n Much like relational operators, but each side has to be a boolean expression (3<5) && (6<=7) evaluates to true !(2!=5) evaluates to false (3!=3) || (2==2) evaluates to true
31
Examples
32
Homework n Read 3.1-3.2, 3.4 n Don't forget that P1 is due tomorrow!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.