Primitive data, expressions, and variables

Size: px
Start display at page:

Download "Primitive data, expressions, and variables"

Transcription

1 How the computer sees the world Primitive data, expressions, and variables Readings:.. Internally, the computer stores everything in terms of s and 0 s Example: h 0000 "hi" How can the computer tell the difference between an h and 0? Data types Primitive types data type: A category of data values. Example: integer, real number, string Data types are divided into two classes: primitive types: Java's built-in simple data types for numbers, text characters, and logic. object types: Coming soon! Java has eight primitive types. We will cover two for now. Name Description Examples int integers, -, 0, 969 double real numbers., -., 9.e Numbers with a decimal point are treated as real numbers. Question: Isn t every integer a real number? Why bother? Integer or real number? Manipulating data via expressions Which category is more appropriate? integer (int). Temperature in degrees Celsius. The population of lemmings. Your grade point average. A person's age in years. A person's weight in pounds 6. A person's height in meters real number (double) 7. Number of miles traveled 8. Number of dry days in the past month 9. Your locker number 0. Number of seconds left in a game. The sum of a group of integers. The average of a group of integers credit: Kate Deibel, expression: A data value or a set of operations that produces a value. Examples: + * "CSE" ( + ) % * 6

2 The operators Evaluating expressions Arithmetic operators we will use: + addition - subtraction or negation * multiplication / division % modulus, a.k.a. remainder When Java executes a program and encounters an expression, the expression is evaluated (i.e., computed). Example: * evaluates to System.out.println( * ) prints (after evaluating * ) How could we print the text * on the console? 7 8 Evaluating expressions: Integer division Evaluating expressions: The modulus (%) When dividing integers, the result is also an integer: the quotient. Example: / evaluates to, not. (truncate the number) ) 7 ) 7 Examples: / 7 is / is 7 8 / 0 is 8 6 / 00 is / 0 is illegal 9 The modulus computes the remainder from a division of integers. Example: % is % 7 is ) 7 ) 7 What are the results of the following expressions? % 6 % 8 % 0 % 0 0 Applying the modulus Applying the modulus What expression obtains the last digit (unit s place) of a number? Example: From 087, obtain the 7. the last digits of a Social Security Number? Example: From 68689, obtain 689. How can we use the % operator to determine whether a number is odd? How about if a number is divisible by, say, 7? the second-to-last digit (ten s place) of a number? Example: From 7, obtain the.

3 Precedence: Remember PEMDAS? Precedence examples precedence: Order in which operations are computed in an expression. Operators on the same level are evaluated from left to right. Example: - + is (not -) Spacing does not affect order of evaluation. Example: + * - is Parentheses Multiplication, Division, Mod Addition, Subtraction () * / % + - * + * / \_/ + * / \_/ + / \ / + \ / + / * - \_/ + 0 * - \ / \ / - \ / - Precedence exercise Real numbers (double) Evaluate the following expressions: 9 / 69 % * 7 * % 00 / 6 * - 9 / (- 7) * 6 + (8 % (7 - )) Which parentheses are unnecessary? The operators also work with real numbers. The division operator produces an exact answer. Examples:.0 /.0 is is *.0 is. The same precedence rules apply. 6 Real numbers example Precision in real numbers.0 *. +. *.0 /.0 \ /.8 +. *.0 /.0 \ / /.0 \ /.8 +. \ / 9. The computer internally represents real numbers in an imprecise way. Example: System.out.println( ); The output is ! 7 8

4 Mixing integers and real numbers Mixed types example When an operator is used on an integer and a real number, the result is a real number. Examples:. * is.6 /.0 is 0. The conversion occurs on a per-operator basis. It affects only its two operands. 7 / *. + / \_/ *. + / \ /. + / \_/. + \ /. Notice how / is still above, not / *. - 6 / \ /.0 + *. - 6 / \ / / \_/ \ / 9. - \ / 8. 0 Concatenation: Operating on strings String expressions string concatenation: Using the + operator between a string and another value to make a longer string. Examples: "hello" + is "hello" + "abc" + is "abc" "abc" + + is "abc" + + "abc" is "abc" "abc" + 9 * is "abc7" (what happened here?) "" + is "" - + "abc" is "abc" Lets us print more complicated messages with computed values. System.out.println("Your grade was " + (( ) /.0)); System.out.println("There are " + ( ) + " students in the course."); "abc" + - causes a compiler error. Why? What was the answer again? What was the answer again? Using the data from the last slide, what if we wanted to print the following? Your grade was 8. Summary: Course grade: 8. Answer? System.out.println("Your grade was " + (( ) /.0)); System.out.println("Summary:"); System.out.println("Course grade: " + (( ) /.0)); Evaluating expressions are somewhat like using the computer as a calculator. A good calculator has "memory" keys to store and retrieve a computed value.

5 Variables Declaring variables variable: A piece of your computer's memory that is given a name and type and can store a value. Usage: compute an expression's result store that result into a variable use that variable later in the program Variables are a bit like preset stations on a car stereo: To create a variable, it must be declared. Variable declaration syntax: <type> <name>; Convention: Variable identifiers follow the same rules as method names. Examples: double mygpa; int varname; 6 Declaring variables Setting variables Declaring a variable sets aside a piece of memory in which you can store a value. int y; Inside the computer: x:? y:? assignment statement: A Java statement that stores a value into a variable. Variables must be declared before they can be assigned a value. Assignment statement syntax: <variable> = <expression>; Examples: x = * ; x: 8 mygpa:. mygpa =.; (The memory still has no value yet.) 7 8 Setting variables Using variables A variable can be assigned a value more than once. Example: x = ; System.out.println(x); // x = + 7; System.out.println(x); // 9 Once a variable has been assigned a value, it can be used in any expression. x = * ; System.out.println(x * - ); The above has output equivalent to: System.out.println(8 * - ); What happens when a variable is used on both sides of an assignment statement? x = ; x = x + ; // what happens? 0

6 Errors in coding Assignment vs. algebra ERROR: Declaring two variables with the same name Example: // ERROR: x already exists ERROR: Reading a variable s value before it has been assigned Example: System.out.println(x); // ERROR: x has no value The assignment statement is not an algebraic equation! <variable> = <expression>; means: "store the value of <expression> into <variable>" Some people read x = * ; as "x gets the value of * " ERROR: = + ; is an illegal statement, because is not a variable. Assignment and types Assignment exercise A variable can only store a value of its own type. Example: x =.; // ERROR: x can only store int An int value can be stored in a double variable. Why? The value is converted into the equivalent real number. Example: double mygpa; mygpa:.0 mygpa = ; What is the output of the following Java code? x = ; int y; y = x; x = ; System.out.println(x); System.out.println(y); Assignment exercise Shortcut: Declaring and initializing What is the output of the following Java code? int number; number = + * ; System.out.println(number- ); number = 6 % 6; System.out.println( * number); What is the output of the following Java code? double average; average = ( + 8) / ; System.out.println(average); average = ( + average * ) / ; System.out.println(average); A variable can be declared and assigned an initial value in the same statement. Declaration/initialization statement syntax: <type> <name> = <expression>; Examples: double mygpa =.9; int x = ( % ) + ; 6 6

7 Shortcut: Declaring many variables at once Shortcut: Modify and assign It is legal to declare multiple variables on one line: <type> <name>, <name>,..., <name>; Examples: int a, b, c; double x, y; It is also legal to declare/initialize several at once: <type> <name> = <expression>,..., <name> = <expression>; Examples: int a =, b =, c = -; double grade =., delta = 0.; NB: The variables must be of the same type. Java has several shortcut operators that allow you to quickly modify a variable's value. Shorthand <variable> += <exp>; <variable> -= <exp>; <variable> *= <exp>; <variable> /= <exp>; <variable> %= <exp>; Examples: Equivalent longer version <variable> = <variable> + (<exp>); <variable> = <variable> - (<exp>); <variable> = <variable> * (<exp>); <variable> = <variable> / (<exp>); <variable> = <variable> % (<exp>); x += - ; // x = x + (- ); gpa- = 0.; // gpa = gpa (0.); number *= ; // number = number * (); 7 8 Shortcut: Increment and decrement Putting it all together: Exercise Incrementing and decrementing is used often enough that they have a special shortcut operator! Shorthand Equivalent longer version <variable>++; <variable> = <variable> + ; <variable>--; <variable> = <variable> - ; Examples: int x = ; x++; // x = x + ; // x now stores double gpa =.; gpa++; // gpa = gpa + ; // gpa now stores. 9 Write a program that stores the following data: Section AA has 7 students. Section AB has 8 students. Section AC has students. Section AD has students. Section AE has students. Section AF has 7 students. The average number of students per section. Have your program print the following: There are students in Section AE. There are an average of students per section. 0 The for loop and scope Readings:.. Repetition How can we eliminate this redundancy? 7

8 Looping via the for loop The for loop is NOT a method for loop: A block of Java code that executes a group of statements repeatedly until a given test fails. General syntax: for (<initialization>; <test>; <update>) { <statement>; <statement>;... <statement>; The for loop is a control structure a syntactic structure that controls the execution of other statements. Example: Shampoo hair. Rinse. Repeat. Example: for (int i = ; i <= 0; i++) { System.out.println("I will not throw..."); for loop over range of ints for loop flow diagram We'll write for loops over integers in a given range. The <initialization> declares a loop counter variable that is used in the test, update, and body of the loop. for (int <name> = ; <name> <= <value>; <name>++) { for (<init>; <test>; <update>) { <statement>; <statement>;... <statement>; Example: for (int i = ; i <= ; i++) { System.out.println(i + " squared is " + (i * i)); "For each int i from through,... squared is squared is squared is 9 squared is 6 6 Loop walkthrough Loop example Code: for (int i = ; i <= ; i++) { System.out.println(i + " squared is " + (i * i)); squared is squared is squared is 9 i: Code: System.out.println("+----+"); for (int i = ; i <= ; i++) { System.out.println("\\ /"); System.out.println("/ \\"); System.out.println("+----+"); \ / / \ \ / / \ \ / / \

9 Varying the for loop Varying the for loop The initial and final values for the loop counter variable can be arbitrary expressions: Example: for (int i = -; i <= ; i++) { System.out.println(i); Example: for (int i = + * ; i <= 8 % 00; i++) { System.out.println(i + " squared is " + (i * i)); The update can be a -- (or any other operator). Caution: This requires changing the test from <= to >=. System.out.print("T-minus"); for (int i = ; i >= ; i--) { System.out.println(i); System.out.println("Blastoff!"); T-minus Blastoff! 9 0 Aside: System.out.print Errors in coding What if we wanted the output to be the following? T-minus Blastoff! System.out.print prints the given output without moving to the next line. System.out.print("T-minus "); for (int i = ; i >= ; i--) { System.out.print(i + " "); System.out.println("Blastoff!"); When controlling a single statement, the { braces are optional. for (int i = ; i <= 6; i++) System.out.println(i + " squared is " + (i * i)); This can lead to errors if a line is not properly indented. for (int i = ; i <= ; i++) System.out.println("This is printed times"); System.out.println("So is this... or is it?"); This is printed times This is printed times This is printed times So is this... or is it? Moral: Always use curly braces and always use proper indentation. Errors in coding for loop exercises ERROR: Loops that never execute. for (int i = 0; i < ; i++) { System.out.println("How many times do I print?"); ERROR: Loop tests that never fail. A loop that never terminates is called an infinite loop. for (int i = 0; i >= ; i++) { System.out.println("Runaway Java program!!!"); Write a loop that produces the following output. On day # of Christmas, my true love sent to me On day # of Christmas, my true love sent to me On day # of Christmas, my true love sent to me On day # of Christmas, my true love sent to me On day # of Christmas, my true love sent to me... On day # of Christmas, my true love sent to me Write a loop that produces the following output. 6 8 Who do we appreciate 9

10 Scope Scope: for loop scope: The portion of a program where a given variable exists. A variable's scope is from its declaration to the end of the { braces in which it was declared. public class ScopeExample { public static void main(string[] args) { int x = ; int y = 7; computesum(); System.out.println("sum = " + sum); // illegal: sum is out of scope public static void computesum() { int sum = x + y; // illegal: x and y are out of scope Why not just have the scope of a variable be the whole program? Special case: If a variable is declared in the <initialization> part of a for loop, its scope is the for loop. public static void example() { int x = ; for (int i = ; i <= 0; i++) { System.out.println(x); // i no longer exists here // x ceases to exist here i's scope x's scope 6 Errors in coding Errors in coding ERROR: Using a variable outside of its scope. ERROR: Declaring variables with the same name with overlapping scope. public static void main(string[] args) { example(); System.out.println(x); // illegal for (int i = ; i <= 0; i++) { int y = ; System.out.println(y); System.out.println(y); // illegal public static void example() { int x = ; System.out.println(x); public static void main(string[] args) { int x = ; for (int i = ; i <= ; i++) { int y = ; System.out.println(y); for (int i = ; i <= ; i++) { int y = ; int x = ; // illegal System.out.println(y); public static void anothermethod() { int i = 6; int x = ; int y = ; System.out.println(i + ", " + x + ", " + y); 7 8 Mapping loops to numbers Mapping loops to numbers Suppose that we have the following loop: for (int count = ; count <= ; count++) {... What statement could we write in the body of the loop that would make the loop print the following output? 6 9 Answer: for (int count = ; count <= ; count++) { System.out.print( * count + " "); 9 Now consider another loop of the same style: for (int count = ; count <= ; count++) {... What statement could we write in the body of the loop that would make the loop print the following output? Answer: for (int count = ; count <= ; count++) { System.out.print( * count + + " "); 60 0

11 Loop number tables Another perspective: Slope-intercept What statement could we write in the body of the loop that would make the loop print the following output? 7 7 count (x) number to print (y) To find the pattern, it can help to make a table. Each time count goes up by, the number should go up by. But count * is too big by, so we must subtract. count number to print count * count * Another perspective: Slope-intercept Another perspective: Slope-intercept Caution: This is algebra, not assignment! Recall: slope-intercept form (y = mx + b) Slope is defined as rise over run (i.e. rise / run). Since the run is always (we increment along x by ), we just need to look at the rise. The rise is the difference between the y values. Thus, the slope (m) is the difference between y values; in this case, it is +. To compute the y-intercept (b), plug in the value of y at x = and solve for b. In this case, y =. y = m * x + b = * + b Then b = - So the equation is y = m * x + b y = * x y = * count - count (x) number to print (y) 7 7 Algebraically, if we always take the value of y at x =, then we can solve for b as follows: y = m * x + b y = m * + b y = m + b b = y m In other words, to get the y-intercept, just subtract the slope from the first y value (b = = -) This gets us the equation y = m * x + b y = * x y = * count (which is exactly the equation from the previous slides) 6 6 Loop table exercise Nested for loops What statement could we write in the body of the loop that would make the loop print the following output? 7 9 Let's create the loop table together. Each time count goes up, the number should... But this multiple is off by a margin of... count number to print 7 9 count * count * nested loop: Loops placed inside one another. Caution: Make sure the inner loop's counter variable has a different name! for (int i = ; i <= ; i++) { System.out.println("i = " + i); for (int j = ; j <= ; j++) { System.out.println(" j = " + j); i = j = j = i = j = j = i = j = j = 66

12 Nested loops example Nested loops example Code: for (int i = ; i <= ; i++) { for (int j = ; j <= 0; j++) { System.out.print((i * j) + " "); // to end the line Code: for (int i = ; i <= 6; i++) { for (int j = ; j <= 0; j++) { System.out.print("*"); ********** ********** ********** ********** ********** ********** Nested loops example Nested loops example Code: for (int i = ; i <= 6; i++) { for (int j = ; j <= i; j++) { System.out.print("*"); * ** *** **** ***** ****** Code: for (int i = ; i <= 6; i++) { for (int j = ; j <= i; j++) { System.out.print(i); Nested loops example Nested loops Code: for (int i = ; i <= ; i++) { for (int j = ; j <= ( - i); j++) { System.out.print(" "); for (int k = ; k <= i; k++) { System.out.print(i); What nested for loops produce the following output? inner loop (repeated characters on each line) Key idea: outer loop (loops times because there are lines) outer "vertical" loop for each of the lines inner "horizontal" loop(s) for the patterns within each line 7 7

13 Nested loops Nested loops First, write the outer loop from to the number of lines desired. for (int line = ; line <= ; line++) {... Notice that each line has the following pattern: some number of dots (0 dots on the last line) a number Make a table: line # of dots line * Answer: for (int line = ; line <= ; line++) { for (int j = ; j <= (line * - + ); j++) { System.out.print("."); System.out.println(line); value displayed 7 7 Errors in coding Commenting: for loops ERROR: Using the wrong loop counter variable. What is the output of the following piece of code? for (int i = ; i <= 0; i++) { for (int j = ; i <= ; j++) { System.out.print(j); What is the output of the following piece of code? for (int i = ; i <= 0; i++) { for (int j = ; j <= ; i++) { System.out.print(j); 7 Place a comment on complex loops explaining what they do from a conceptual standpoint, not the mechanics of the syntax. Bad: // This loop repeats 0 times, with i from to 0. for (int i = ; i <= 0; i++) { for (int j = ; j <= ; j++) { // loop goes times System.out.print(j); // print the j Better: // Prints ten times on ten separate lines. for (int i = ; i <= 0; i++) { for (int j = ; j <= ; j++) { System.out.print(j); // end the line of output 76 Managing complexity Drawing complex figures Write a program that produces the following figure as its output: Readings:.. #================# <><> <>...<> <>...<> <>...<> <>...<> <>...<> <>...<> <><> #================# Where do we even start?? 77 78

14 Drawing complex figures: Strategy Pseudo-code Write down some steps on paper before coding:. A pseudo-code description of the algorithm (in English). A table of each line's contents, to help see the pattern in the input pseudo-code: A written English description of an algorithm Example: Suppose we are trying to draw a box of stars which is characters wide and 7 tall. print stars. for each of lines, print a star. print 0 spaces. print a star. print stars. ************ * * * * * * * * * * ************ Drawing complex figures: Pseudo-code Drawing complex figures: Tables A possible pseudo-code for our complex figure task:. Draw top line with #, 6 =, then #. Draw the top half with the following on each line: some spaces (possibly 0) <> some dots (possibly 0) <> more spaces (possibly 0). Draw the bottom half, which is the same as the top half but upside-down. Draw bottom line with #, 6 =, then # #================# <><> <>...<> <>...<> <>...<> <>...<> <>...<> <>...<> <><> #================# 8 A table of the lines in the "top half" of the figure: line spaces 6 0 line * dots 0 8 line * #================# <><> <>...<> <>...<> <>...<> <>...<> <>...<> <>...<> <><> #================# 8 Drawing complex figures: Questions Partial solution How many loops do we need on each line of the top half of the output? Which loops are nested inside which other loops? // Prints the expanding pattern of <> for the top half of the figure. public static void drawtophalf() { for (int line = ; line <= ; line++) { System.out.print(""); for (int space = ; space <= (line * - + 8); space++) { System.out.print(" "); System.out.print("<>"); for (int dot = ; dot <= (line * - ); dot++) { System.out.print("."); System.out.print("<>"); How should we use static methods to represent the structure and redundancy of the output? for (int space = ; space <= (line * - + 8); space++) { System.out.print(" "); System.out.println(""); Question: Is there a pattern to the numbers? 8 8

15 Magic numbers Solution: Class constants Sometimes we have values (called magic numbers) that are used throughout the program. A normal variable cannot be used to fix the magic number problem. Why not? public static void main(string[] args) { int max = ; printtop(); printbottom(); public static void printtop() { for (int i = ; i <= max; i++) { for (int j = ; j <= i; j++) { System.out.print(j); // ERROR: max not found (out of scope) class constant: A variable that can be seen throughout the program. The value of a constant can only be set when it is declared. It cannot be changed while the program is running, hence the name: constant. public static void printbottom() { for (int i = max; i >= ; i--) { for (int j = i; j >= ; j--) { System.out.print(max); // ERROR: max not found (out of scope) // ERROR: max not found (out of scope) 8 86 Class constant: Syntax Class constant example Syntax: public static final <type> <name> = <value>; Class constants have to be declared outside the methods. Convention: Constant identifiers are written in uppercase separated by underscores. Examples: public static final int DAYS_IN_WEEK = 7; public static final double INTEREST_RATE =.; public static final int SSN = 6869; Class constants eliminates redundancy. public static final int MAX_VALUE = ; public static void main(string[] args) { printtop(); printbottom(); public static void printtop() { for (int i = ; i <= MAX_VALUE; i++) { for (int j = ; j <= i; j++) { System.out.print(j); public static void printbottom() { for (int i = MAX_VALUE; i >= ; i--) { for (int j = i; j >= ; j--) { System.out.print(MAX_VALUE); Constants and figures Boo! Redundancy! Boo! Consider the task of drawing the following figures. +/\/\/\/\/\+ +/\/\/\/\/\+ +/\/\/\/\/\+ +/\/\/\/\/\+ How can a class constant help? Note the repetition of numbers based on in the code: public static void drawfigure() { drawplusline(); drawbarline(); drawplusline(); public static void drawplusline() { System.out.print("+"); for (int i = ; i <= ; i++) { System.out.print("/\\"); System.out.println("+"); public static void drawbarline() { System.out.print(""); for (int i = ; i <= 0; i++) { System.out.print(" "); System.out.println(""); It would be cumbersome to resize the figure. +/\/\/\/\/\+ +/\/\/\/\/\

16 Class constants to the rescue! Drawing complex figures: Resizing A class constant will fix the "magic number" problem. public static final int FIGURE_WIDTH = ; public static void drawfigure() { drawplusline(); drawbarline(); drawplusline(); public static void drawplusline() { System.out.print("+"); for (int i = ; i <= FIGURE_WIDTH; i++) { System.out.print("/\\"); System.out.println("+"); public static void drawbarline() { System.out.print(""); for (int i = ; i <= * FIGURE_WIDTH; i++) { System.out.print(" "); System.out.println(""); Modify the previous program to use a constant so that it can show figures of different sizes. The figure originally shown has a size of. #================# <><> <>...<> <>...<> <>...<> <>...<> <>...<> <>...<> <><> #================# A figure of size : #============# <><> <>...<> <>...<> <>...<> <>...<> <><> #============# 9 9 Partial solution Class constant trickiness public static final int SIZE = ; // Prints the expanding pattern of <> for the top half of the figure. public static void drawtophalf() { for (int line = ; line <= SIZE; line++) { System.out.print(""); for (int space = ; space <= (line * - + ( * SIZE)); space++) { System.out.print(" "); System.out.print("<>"); for (int dot = ; dot <= (line * - ); dot++) { System.out.print("."); System.out.print("<>"); for (int space = ; space <= (line * - + ( * SIZE)); space++) { System.out.print(" "); System.out.println(""); 9 Adding a constant often changes the amount that is added to a loop expression, but the multiplier (slope) is usually unchanged. public static final int SIZE = ; for (int space = ; space <= (line * - + ( * SIZE)); space++) { System.out.print(" "); Caution: A constant does NOT always replace every occurrence of the original value. for (int dot = ; dot <= (line * - ); dot++) { System.out.print("."); 9 Complex figure exercise Write a program that produces the following figure as its output. Use nested for loops and static methods where appropriate. ====+==== # # # # # # ====+==== # # # # # # ====+==== Add a constant so that the figure can be resized. 9 Assignment : Space Needle /\ /::::::\ /::::::::::::\ /::::::::::::::::::\ """""""""""""""""""""""" \_/\/\/\/\/\/\/\/\/\/\/\_/ \_/\/\/\/\/\/\/\/\/\_/ \_/\/\/\/\/\/\/\_/ \_/\/\/\/\/\_/ %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% /\ /::::::\ /::::::::::::\ /::::::::::::::::::\ """""""""""""""""""""""" 96 6

Building Java Programs

Building Java Programs Building Java Programs Chapter 2: Primitive Data and Definite Loops These lecture notes are copyright (C) Marty Stepp and Stuart Reges, 2007. They may not be rehosted, sold, or modified without expressed

More information

Building Java Programs Chapter 2

Building Java Programs Chapter 2 Building Java Programs Chapter 2 Primitive Data and Definite Loops Copyright (c) Pearson 2013. All rights reserved. Data types type: A category or set of data values. Constrains the operations that can

More information

Building Java Programs Chapter 2. bug. Primitive Data and Definite Loops. Copyright (c) Pearson All rights reserved. Software Flaw.

Building Java Programs Chapter 2. bug. Primitive Data and Definite Loops. Copyright (c) Pearson All rights reserved. Software Flaw. Building Java Programs Chapter 2 bug Primitive Data and Definite Loops Copyright (c) Pearson 2013. All rights reserved. 2 An Insect Software Flaw 3 4 Bug, Kentucky Bug Eyed 5 Cheesy Movie 6 Punch Buggy

More information

Building Java Programs Chapter 2

Building Java Programs Chapter 2 Building Java Programs Chapter 2 Primitive Data and Definite Loops Copyright (c) Pearson 2013. All rights reserved. bug 2 An Insect 3 Software Flaw 4 Bug, Kentucky 5 Bug Eyed 6 Cheesy Movie 7 Punch Buggy

More information

Repetition with for loops

Repetition with for loops Repetition with for loops So far, when we wanted to perform a task multiple times, we have written redundant code: System.out.println( Building Java Programs ); // print 5 blank lines System.out.println(

More information

Building Java Programs. Chapter 2: Primitive Data and Definite Loops

Building Java Programs. Chapter 2: Primitive Data and Definite Loops Building Java Programs Chapter 2: Primitive Data and Definite Loops Copyright 2008 2006 by Pearson Education 1 Lecture outline data concepts Primitive types: int, double, char (for now) Expressions: operators,

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 2 Lecture 2-1: Expressions and Variables reading: 2.1-2.2 1 2 Data and expressions reading: 2.1 3 The computer s view Internally, computers store everything as 1 s and 0

More information

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements Topic 4 Variables Once a programmer has understood the use of variables, he has understood the essence of programming -Edsger Dijkstra What we will do today Explain and look at examples of primitive data

More information

Topic 6 Nested for Loops

Topic 6 Nested for Loops Topic 6 Nested for Loops "Complexity has and will maintain a strong fascination for many people. It is true that we live in a complex world and strive to solve inherently complex problems, which often

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 2 Lecture 2-2: The for Loop reading: 2.3 1 2 Repetition with for loops So far, repeating a statement is redundant: System.out.println("Homer says:"); System.out.println("I

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 2 Lecture 2-2: The for Loop reading: 2.3 1 Repetition with for loops So far, repeating a statement is redundant: System.out.println("Homer says:"); System.out.println("I

More information

Topic 4 Expressions and variables

Topic 4 Expressions and variables Topic 4 Expressions and variables "Once a person has understood the way variables are used in programming, he has understood the quintessence of programming." -Professor Edsger W. Dijkstra Based on slides

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 2 Lecture 2-1: Expressions and Variables reading: 2.1-2.2 1 Variables reading: 2.2 self-check: 1-15 exercises: 1-4 videos: Ch. 2 #2 2 Receipt example What's bad about the

More information

Topic 5 for loops and nested loops

Topic 5 for loops and nested loops Topic 5 for loops and nested loops Always to see the general in the particular is the very foundation of genius. -Arthur Schopenhauer Based on slides by Marty Stepp and Stuart Reges from http://www.buildingjavaprograms.com/

More information

Chapter Legal intliterals: 22, 1, and d Results of intexpressions:

Chapter Legal intliterals: 22, 1, and d Results of intexpressions: Chapter 2 1. Legal intliterals: 22, 1, and 6875309 2. d. 11 3. Results of intexpressions: a. 8 b. 11 c. 6 d. 4 e. 33 f. 16 g. 6.4 h. 6 i. 30 j. 1 k. 7 l. 5 m. 2 n. 18 o. 3 p. 4 q. 4 r. 15 s. 8 t. 1 4.

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 2 Lecture 2-1: Expressions and Variables reading: 2.1-2.2 1 Data and expressions reading: 2.1 self-check: 1-4 videos: Ch. 2 #1 2 Data types type: A category or set of data

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 2 Lecture 2-1: Expressions and Variables reading: 2.1-2.2 Copyright 2009 by Pearson Education Data and expressions reading: 2.1 self-check: 1-4 videos: Ch. 2 #1 Copyright

More information

CSE 142, Summer 2015

CSE 142, Summer 2015 CSE 142, Summer 2015 Lecture 2: Static Methods Expressions reading: 1.4 2.1 The Mechanical Turk 2 Escape Characters System.out.println( ab\ \\\\\\/\td ); Output: ab \\\/ d 3 Algorithms algorithm: A list

More information

CSE 142, Summer 2014

CSE 142, Summer 2014 CSE 142, Summer 2014 Lecture 2: Static Methods Expressions reading: 1.4 2.1 Algorithms algorithm: A list of steps for solving a problem. Example algorithm: "Bake sugar cookies" Mix the dry ingredients.

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming (Spring 2012) Lecture #7: Variable Scope, Constants, and Loops Zhong Shao Department of Computer Science Yale University Office: 314 Watson http://flint.cs.yale.edu/cs112

More information

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us From this site you can click on the COSC-236

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 1 Lecture 2: Static Methods reading: 1.4-1.5 (Slides adapted from Stuart Reges, Hélène Martin, and Marty Stepp) 2 Recall: structure, syntax class: a program public class

More information

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site I have decided to keep this site for the whole semester I still hope to have blackboard up and running, but you

More information

Recap: Assignment as an Operator CS 112 Introduction to Programming

Recap: Assignment as an Operator CS 112 Introduction to Programming Recap: Assignment as an Operator CS 112 Introduction to Programming q You can consider assignment as an operator, with a (Spring 2012) lower precedence than the arithmetic operators First the expression

More information

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us From this site you can click on the COSC-236

More information

Topic 6 loops, figures, constants

Topic 6 loops, figures, constants Topic 6 loops, figures, constants "Complexity has and will maintain a strong fascination for many people. It is true that we live in a complex world and strive to solve inherently complex problems, which

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Java Primitive Data Types; Arithmetic Expressions Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

Admin. CS 112 Introduction to Programming. Recap: Java Static Methods. Recap: Decomposition Example. Recap: Static Method Example

Admin. CS 112 Introduction to Programming. Recap: Java Static Methods. Recap: Decomposition Example. Recap: Static Method Example Admin CS 112 Introduction to Programming q Programming assignment 2 to be posted tonight Java Primitive Data Types; Arithmetic Expressions Yang (Richard) Yang Computer Science Department Yale University

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Variables; Type Casting; Using Variables in for Loops Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

Lecture 2: Operations and Data Types

Lecture 2: Operations and Data Types Lecture 2: Operations and Data Types Building Java Programs: A Back to Basics Approach by Stuart Reges and Marty Stepp Copyright (c) Pearson 2013. All rights reserved. Data types type: A category or set

More information

Introduction to Computer Programming

Introduction to Computer Programming Introduction to Computer Programming Lecture 2- Primitive Data and Stepwise Refinement Data Types Type - A category or set of data values. Constrains the operations that can be performed on data Many languages

More information

Data and Variables. Data Types Expressions. String Concatenation Variables Declaration Assignment Shorthand operators. Operators Precedence

Data and Variables. Data Types Expressions. String Concatenation Variables Declaration Assignment Shorthand operators. Operators Precedence Data and Variables Data Types Expressions Operators Precedence String Concatenation Variables Declaration Assignment Shorthand operators Review class All code in a java file is written in a class public

More information

Module 2 - Part 2 DATA TYPES AND EXPRESSIONS 1/15/19 CSE 1321 MODULE 2 1

Module 2 - Part 2 DATA TYPES AND EXPRESSIONS 1/15/19 CSE 1321 MODULE 2 1 Module 2 - Part 2 DATA TYPES AND EXPRESSIONS 1/15/19 CSE 1321 MODULE 2 1 Topics 1. Expressions 2. Operator precedence 3. Shorthand operators 4. Data/Type Conversion 1/15/19 CSE 1321 MODULE 2 2 Expressions

More information

COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015 Announcements Slides will be posted before the class. There might be few

More information

Basics of Java Programming

Basics of Java Programming Basics of Java Programming Lecture 2 COP 3252 Summer 2017 May 16, 2017 Components of a Java Program statements - A statement is some action or sequence of actions, given as a command in code. A statement

More information

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types

More information

CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018

CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 CSE 1001 Fundamentals of Software Development 1 Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 Identifiers, Variables and Data Types Reserved Words Identifiers in C Variables and Values

More information

Introduction to Computer Programming

Introduction to Computer Programming Introduction to Computer Programming Lecture 3 Counting Loops Repetition with for Loops So far, repeating a statement is redundant: System.out.println("Homer says:"); System.out.println("I am so smart");

More information

Computer Programming, I. Laboratory Manual. Experiment #2. Elementary Programming

Computer Programming, I. Laboratory Manual. Experiment #2. Elementary Programming Think Twice Code Once The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2005 Khaleel I. Shaheen Computer Programming, I Laboratory Manual Experiment #2

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming Java Syntax Program Structure Variables and basic data types. Industry standard naming conventions. Java syntax and coding conventions If Then Else Case statements Looping (for,

More information

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types and

More information

Operators. Java operators are classified into three categories:

Operators. Java operators are classified into three categories: Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

Course Outline. Introduction to java

Course Outline. Introduction to java Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.

More information

Repe$$on CSC 121 Spring 2017 Howard Rosenthal

Repe$$on CSC 121 Spring 2017 Howard Rosenthal Repe$$on CSC 121 Spring 2017 Howard Rosenthal Lesson Goals Learn the following three repetition structures in Java, their syntax, their similarities and differences, and how to avoid common errors when

More information

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade; Control Statements Control Statements All programs could be written in terms of only one of three control structures: Sequence Structure Selection Structure Repetition Structure Sequence structure The

More information

Chapter 3: Operators, Expressions and Type Conversion

Chapter 3: Operators, Expressions and Type Conversion 101 Chapter 3 Operators, Expressions and Type Conversion Chapter 3: Operators, Expressions and Type Conversion Objectives To use basic arithmetic operators. To use increment and decrement operators. To

More information

COMP-202 Unit 2: Java Basics. CONTENTS: Using Expressions and Variables Types Strings Methods

COMP-202 Unit 2: Java Basics. CONTENTS: Using Expressions and Variables Types Strings Methods COMP-202 Unit 2: Java Basics CONTENTS: Using Expressions and Variables Types Strings Methods Assignment 1 Assignment 1 posted on WebCt and course website. It is due May 18th st at 23:30 Worth 6% Part programming,

More information

Declaration and Memory

Declaration and Memory Declaration and Memory With the declaration int width; the compiler will set aside a 4-byte (32-bit) block of memory (see right) The compiler has a symbol table, which will have an entry such as Identifier

More information

Basic Operations jgrasp debugger Writing Programs & Checkstyle

Basic Operations jgrasp debugger Writing Programs & Checkstyle Basic Operations jgrasp debugger Writing Programs & Checkstyle Suppose you wanted to write a computer game to play "Rock, Paper, Scissors". How many combinations are there? Is there a tricky way to represent

More information

DATA TYPES AND EXPRESSIONS

DATA TYPES AND EXPRESSIONS DATA TYPES AND EXPRESSIONS Outline Variables Naming Conventions Data Types Primitive Data Types Review: int, double New: boolean, char The String Class Type Conversion Expressions Assignment Mathematical

More information

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I CS 106 Introduction to Computer Science I 05 / 31 / 2017 Instructor: Michael Eckmann Today s Topics Questions / Comments? recap and some more details about variables, and if / else statements do lab work

More information

Operators. Java Primer Operators-1 Scott MacKenzie = 2. (b) (a)

Operators. Java Primer Operators-1 Scott MacKenzie = 2. (b) (a) Operators Representing and storing primitive data types is, of course, essential for any computer language. But, so, too, is the ability to perform operations on data. Java supports a comprehensive set

More information

Add Subtract Multiply Divide

Add Subtract Multiply Divide ARITHMETIC OPERATORS if AND if/else AND while LOOP Order of Operation (Precedence Part 1) Copyright 2014 Dan McElroy Add Subtract Multiply Divide + Add - Subtract * Multiply / Divide = gives the quotient

More information

Lecture Set 4: More About Methods and More About Operators

Lecture Set 4: More About Methods and More About Operators Lecture Set 4: More About Methods and More About Operators Methods Definitions Invocations More arithmetic operators Operator Side effects Operator Precedence Short-circuiting main method public static

More information

COMP Primitive and Class Types. Yi Hong May 14, 2015

COMP Primitive and Class Types. Yi Hong May 14, 2015 COMP 110-001 Primitive and Class Types Yi Hong May 14, 2015 Review What are the two major parts of an object? What is the relationship between class and object? Design a simple class for Student How to

More information

Chapter 7. Iteration. 7.1 Multiple assignment

Chapter 7. Iteration. 7.1 Multiple assignment Chapter 7 Iteration 7.1 Multiple assignment You can make more than one assignment to the same variable; effect is to replace the old value with the new. int bob = 5; System.out.print(bob); bob = 7; System.out.println(bob);

More information

Primitive Data, Variables, and Expressions; Simple Conditional Execution

Primitive Data, Variables, and Expressions; Simple Conditional Execution Unit 2, Part 1 Primitive Data, Variables, and Expressions; Simple Conditional Execution Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Overview of the Programming Process Analysis/Specification

More information

Introduction to Java & Fundamental Data Types

Introduction to Java & Fundamental Data Types Introduction to Java & Fundamental Data Types LECTURER: ATHENA TOUMBOURI How to Create a New Java Project in Eclipse Eclipse is one of the most popular development environments for Java, as it contains

More information

COMP 202 Java in one week

COMP 202 Java in one week CONTENTS: Basics of Programming Variables and Assignment Data Types: int, float, (string) Example: Implementing a calculator COMP 202 Java in one week The Java Programming Language A programming language

More information

COMP-202 Unit 4: Programming With Iterations. CONTENTS: The while and for statements

COMP-202 Unit 4: Programming With Iterations. CONTENTS: The while and for statements COMP-202 Unit 4: Programming With Iterations CONTENTS: The while and for statements Introduction (1) Suppose we want to write a program to be used in cash registers in stores to compute the amount of money

More information

Lecture Notes. System.out.println( Circle radius: + radius + area: + area); radius radius area area value

Lecture Notes. System.out.println( Circle radius: + radius + area: + area); radius radius area area value Lecture Notes 1. Comments a. /* */ b. // 2. Program Structures a. public class ComputeArea { public static void main(string[ ] args) { // input radius // compute area algorithm // output area Actions to

More information

Midterms Save the Dates!

Midterms Save the Dates! University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Primitive Data Types Arithmetic Operators Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch 4.1-4.2.

More information

COMP-202: Foundations of Programming. Lecture 6: Conditionals Jackie Cheung, Winter 2016

COMP-202: Foundations of Programming. Lecture 6: Conditionals Jackie Cheung, Winter 2016 COMP-202: Foundations of Programming Lecture 6: Conditionals Jackie Cheung, Winter 2016 This Lecture Finish data types and order of operations Conditionals 2 Review Questions What is the difference between

More information

Definite Loops. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Using a Variable for Counting

Definite Loops. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Using a Variable for Counting Unit 2, Part 2 Definite Loops Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Using a Variable for Counting Let's say that we're using a variable i to count the number of times that

More information

CS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style

CS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style CS125 : Introduction to Computer Science Lecture Notes #4 Type Checking, Input/Output, and Programming Style c 2005, 2004, 2002, 2001, 2000 Jason Zych 1 Lecture 4 : Type Checking, Input/Output, and Programming

More information

CIS 110: Introduction to Computer Programming

CIS 110: Introduction to Computer Programming CIS 110: Introduction to Computer Programming Lecture 5 The Loop-the-Loop ( 2.3-2.4) 9/21/2011 CIS 110 (11fa) - University of Pennsylvania 1 Outline 1. For-loops! 2. Algorithm Design and Pseudocode 9/21/2011

More information

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA 1 TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

More information

Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 Advance mode: Auto CS 170 Java Programming 1 Expressions Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 What is an expression? Expression Vocabulary Any combination of operators and operands which, when

More information

Program Fundamentals

Program Fundamentals Program Fundamentals /* HelloWorld.java * The classic Hello, world! program */ class HelloWorld { public static void main (String[ ] args) { System.out.println( Hello, world! ); } } /* HelloWorld.java

More information

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

More information

COMP-202: Foundations of Programming. Lecture 2: Variables, and Data Types Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 2: Variables, and Data Types Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 2: Variables, and Data Types Sandeep Manjanna, Summer 2015 Announcements Midterm Exams on 4 th of June (12:35 14:35) Room allocation will be announced soon

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Variable Scoping; Nested Loops; Parameterized Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal

Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 30, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction

More information

UNIT- 3 Introduction to C++

UNIT- 3 Introduction to C++ UNIT- 3 Introduction to C++ C++ Character Sets: Letters A-Z, a-z Digits 0-9 Special Symbols Space + - * / ^ \ ( ) [ ] =!= . $, ; : %! &? _ # = @ White Spaces Blank spaces, horizontal tab, carriage

More information

CEN 414 Java Programming

CEN 414 Java Programming CEN 414 Java Programming Instructor: H. Esin ÜNAL SPRING 2017 Slides are modified from original slides of Y. Daniel Liang WEEK 2 ELEMENTARY PROGRAMMING 2 Computing the Area of a Circle public class ComputeArea

More information

4 Programming Fundamentals. Introduction to Programming 1 1

4 Programming Fundamentals. Introduction to Programming 1 1 4 Programming Fundamentals Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Identify the basic parts of a Java program Differentiate among Java literals,

More information

Introduction To Java. Chapter 1. Origins of the Java Language. Origins of the Java Language. Objects and Methods. Origins of the Java Language

Introduction To Java. Chapter 1. Origins of the Java Language. Origins of the Java Language. Objects and Methods. Origins of the Java Language Chapter 1 Getting Started Introduction To Java Most people are familiar with Java as a language for Internet applications We will study Java as a general purpose programming language The syntax of expressions

More information

Tester vs. Controller. Elementary Programming. Learning Outcomes. Compile Time vs. Run Time

Tester vs. Controller. Elementary Programming. Learning Outcomes. Compile Time vs. Run Time Tester vs. Controller Elementary Programming EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG For effective illustrations, code examples will mostly be written in the form of a tester

More information

Review. Primitive Data Types & Variables. String Mathematical operators: + - * / % Comparison: < > <= >= == int, long float, double boolean char

Review. Primitive Data Types & Variables. String Mathematical operators: + - * / % Comparison: < > <= >= == int, long float, double boolean char Review Primitive Data Types & Variables int, long float, double boolean char String Mathematical operators: + - * / % Comparison: < > = == 1 1.3 Conditionals and Loops Introduction to Programming in

More information

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment

More information

COMP-202 Unit 4: Programming with Iterations

COMP-202 Unit 4: Programming with Iterations COMP-202 Unit 4: Programming with Iterations Doing the same thing again and again and again and again and again and again and again and again and again... CONTENTS: While loops Class (static) variables

More information

The C++ Language. Arizona State University 1

The C++ Language. Arizona State University 1 The C++ Language CSE100 Principles of Programming with C++ (based off Chapter 2 slides by Pearson) Ryan Dougherty Arizona State University http://www.public.asu.edu/~redoughe/ Arizona State University

More information

CS111: PROGRAMMING LANGUAGE II

CS111: PROGRAMMING LANGUAGE II 1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1: Introduction Lecture Contents 2 Course info Why programming?? Why Java?? Write once, run anywhere!! Java basics Input/output Variables

More information

Algorithms and Programming I. Lecture#12 Spring 2015

Algorithms and Programming I. Lecture#12 Spring 2015 Algorithms and Programming I Lecture#12 Spring 2015 Think Python How to Think Like a Computer Scientist By :Allen Downey Installing Python Follow the instructions on installing Python and IDLE on your

More information

Elementary Programming

Elementary Programming Elementary Programming EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG Learning Outcomes Learn ingredients of elementary programming: data types [numbers, characters, strings] literal

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 8: SEP. 29TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 8: SEP. 29TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 8: SEP. 29TH INSTRUCTOR: JIAYIN WANG 1 Notice Prepare the Weekly Quiz The weekly quiz is for the knowledge we learned in the previous week (both the

More information

COMP-202: Foundations of Programming. Lecture 4: Flow Control Loops Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 4: Flow Control Loops Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 4: Flow Control Loops Sandeep Manjanna, Summer 2015 Announcements Check the calendar on the course webpage regularly for updates on tutorials and office hours.

More information

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York CSc 10200! Introduction to Computing Lecture 2-3 Edgardo Molina Fall 2013 City College of New York 1 C++ for Engineers and Scientists Third Edition Chapter 2 Problem Solving Using C++ 2 Objectives In this

More information

Control Structures in Java if-else and switch

Control Structures in Java if-else and switch Control Structures in Java if-else and switch Lecture 4 CGS 3416 Spring 2017 January 23, 2017 Lecture 4CGS 3416 Spring 2017 Selection January 23, 2017 1 / 26 Control Flow Control flow refers to the specification

More information

JAVA OPERATORS GENERAL

JAVA OPERATORS GENERAL JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

More information

CMPT 125: Lecture 3 Data and Expressions

CMPT 125: Lecture 3 Data and Expressions CMPT 125: Lecture 3 Data and Expressions Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University January 3, 2009 1 Character Strings A character string is an object in Java,

More information

Chapter 4: Control structures. Repetition

Chapter 4: Control structures. Repetition Chapter 4: Control structures Repetition Loop Statements After reading and studying this Section, student should be able to Implement repetition control in a program using while statements. Implement repetition

More information

By the end of this section you should: Understand what the variables are and why they are used. Use C++ built in data types to create program

By the end of this section you should: Understand what the variables are and why they are used. Use C++ built in data types to create program 1 By the end of this section you should: Understand what the variables are and why they are used. Use C++ built in data types to create program variables. Apply C++ syntax rules to declare variables, initialize

More information

All copyrights reserved - KV NAD, Aluva. Dinesh Kumar Ram PGT(CS) KV NAD Aluva

All copyrights reserved - KV NAD, Aluva. Dinesh Kumar Ram PGT(CS) KV NAD Aluva All copyrights reserved - KV NAD, Aluva Dinesh Kumar Ram PGT(CS) KV NAD Aluva Overview Looping Introduction While loops Syntax Examples Points to Observe Infinite Loops Examples using while loops do..

More information

Unit 3. Operators. School of Science and Technology INTRODUCTION

Unit 3. Operators. School of Science and Technology INTRODUCTION INTRODUCTION Operators Unit 3 In the previous units (unit 1 and 2) you have learned about the basics of computer programming, different data types, constants, keywords and basic structure of a C program.

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Conditional Statements Boolean Expressions and Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Conditional Statements Boolean Expressions and Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

Object Oriented Programming with Java

Object Oriented Programming with Java Object Oriented Programming with Java What is Object Oriented Programming? Object Oriented Programming consists of creating outline structures that are easily reused over and over again. There are four

More information