Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Program Elements -- Introduction zWe can now examine the core elements of programming zLecture focuses on: ydata types yvariable declaration and use.

Similar presentations


Presentation on theme: "1 Program Elements -- Introduction zWe can now examine the core elements of programming zLecture focuses on: ydata types yvariable declaration and use."— Presentation transcript:

1 1 Program Elements -- Introduction zWe can now examine the core elements of programming zLecture focuses on: ydata types yvariable declaration and use yoperators and expressions ydecisions and loops yinput and output

2 2 Primitive Data Types zA data type is defined by a set of values and the operators you can perform on them zEach value stored in memory is associated with a particular data type zThe Java language has several predefined types, called primitive data types zThe following reserved words represent eight different primitive types:  byte, short, int, long, float, double, boolean, char

3 3 Integers zThere are four separate integer primitive data types zThey differ by the amount of memory used to store them Type byte short int long Storage 8 bits 16 bits 32 bits 64 bits Min Value -128 -32,768 -2,147,483,648 < -9 x 10 18 Max Value 127 32,767 2,147,483,647 > 9 x 10 18

4 4 Floating Point zThere are two floating point types:  The float type stores 7 significant digits  The double type stores 15 significant digits Type float double Storage 32 bits 64 bits Approximate Min Value -3.4 x 10 38 -1.7 x 10 308 Approximate Max Value 3.4 x 10 38 1.7 x 10 308

5 5 Characters  A char value stores a single character from the Unicode character set zA character set is an ordered list of characters zThe Unicode character set uses sixteen bits per character, allowing for 65,536 unique characters zIt is an international character set, containing symbols and characters from many world languages

6 6 Characters zThe ASCII character set is still the basis for many other programming languages zASCII is a subset of Unicode, including: uppercase letters lowercase letters punctuation digits special symbols control characters A, B, C, … a, b, c, … period, semi-colon, … 0, 1, 2, … &, |, \, … carriage return, tab,...

7 7 Boolean  A boolean value represents a true or false condition zThey can also be used to represent any two states, such as a light bulb being on or off  The reserved words true and false are the only valid values for a boolean type

8 8 Wrappers zFor each primitive data type there is a corresponding wrapper class. For example: zWrapper classes are useful in situations where you need an object instead of a primitive type zThey also contain some useful methods Primitive Type int double char boolean Wrapper Class Integer Double Character Boolean

9 9 Variables zA variable is an identifier that represents a location in memory that holds a particular type of data zVariables must be declared before they can be used zThe syntax of a variable declaration is: data-type variable-name; zFor example: int total;

10 10 Variables zMultiple variables can be declared on the same line: int total, count, sum; zVariables can be initialized (given an initial value) in the declaration: int total = 0, count = 20; float unit_price = 57.25;  See Piano_Keys.java Piano_Keys.java

11 11 Assignment Statements zAn assignment statement takes the following form: variable-name = expression; zThe expression is evaluated and the result is stored in the variable, overwriting the value currently stored in the variable  See United_States.java United_States.java zThe expression can be a single value or a more complicated calculation

12 12 Constants zA constant is similar to a variable except that they keep the same value throughout their existence  They are specified using the reserved word final in the declaration zFor example: final double PI = 3.14159; final int STUDENTS = 25;

13 13 Constants zWhen appropriate, constants are better than variables because: ythey prevent inadvertent errors because their value cannot change zThey are better than literal values because: ythey make code more readable by giving meaning to a value ythey facilitate change because the value is only specified in one place

14 14 Input and Output zJava I/O is based on input streams and output streams zThere are three predefined standard streams:  The print and println methods write to standard output Stream System.in System.out System.err Purpose reading input writing output writing errors Default Device keyboard monitor

15 15 Input and Output zThe Java API allows you to create many kinds of streams to perform various kinds of I/O  To read character strings, we will convert the System.in stream to another kind of stream using: BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));  This declaration creates a new stream called stdin zObject creation in more detail later

16 16 Escape Sequences  See Echo.javaEcho.java zAn escape sequence is a special sequence of characters preceded by a backslash (\) zThey indicate some special purpose, such as: Escape Sequence \t \n \" \' \\ Meaning tab new line double quote single quote backslash

17 17 Buffers zAs you type, the characters are stored in an input buffer zWhen you press enter, the program begins processing the data zSimilarly, output information is temporarily stored in an output buffer  The output buffer can be explicitly flushed (sent to the screen) using the flush method  See Python.javaPython.java

18 18 Numeric Input  Converting a string that holds an integer into the integer value can be done with a method in the Integer wrapper class: value = Integer.parseInt (my_string); zA value can be read and converted in one line: num = Integer.parseInt (stdin.readLine());  See Addition.java and Addition2.javaAddition.java Addition2.java

19 19 Expressions zAn expression is a combination of operators and operands  The arithmetic operators include addition ( + ), subtraction ( - ), multiplication ( * ), and division ( / ) zOperands can be literal values, variables, or other sources of data zThe programmer determines what is done with the result of an expression (stored, printed, etc.)

20 20 Division  If the operands of the / operator are both integers, the result is an integer (the fractional part is truncated)  If one or more operands to the / operator are floating point values, the result is a floating point value  The remainder operator ( % ) returns the integer remainder after dividing the first operand by the second  The operands to the % operator must be integers  See Division.javaDivision.java zThe remainder result takes the sign of the numerator

21 21 Division Expression 17 / 5 17.0 / 5 17 / 5.0 9 / 12 9.0 / 12.0 6 % 2 14 % 5 -14 % 5 Result 3 3.4 0 0.75 0 4 -4

22 22 Operator Precedence zThe order in which operands are evaluated in an expression is determined by a well-defined precedence hierarchy zOperators at the same level of precedence are evaluated according to their associativity (right to left or left to right) zParentheses can be used to force precedence zAppendix D contains a complete operator precedence chart for all Java operators

23 23 Operator Precedence zMultiplication, division, and remainder have a higher precedence than addition and subtraction zBoth groups associate left to right Expression: Order of evaluation: Result: 5 + 12 / 5 - 10 % 3 6 4 3 21

24 24 Operator Precedence Expression 2 + 3 * 4 / 2 3 * 13 + 2 (3 * 13) + 2 3 * (13 + 2) 4 * (11 - 6) * (-8 + 10) (5 * (4 - 1)) / 2 Result 8 41 45 40 7

25 25 The if Statement zThe Java if statement has the following syntax: if (condition) statement; zIf the boolean condition is true, the statement is executed; if it is false, the statement is skipped zThis provides basic decision making capabilities

26 26 The if Statement statement condition false true

27 27 Boolean Expressions  The condition of an if statement must evaluate to a true or false result zJava has several equality and relational operators:  See Temperature.javaTemperature.java Operator == != < <= > <= Meaning equal to not equal to less than less than or equal to greater than greater than or equal to

28 28 Block Statements zSeveral statements can be grouped together into a block statement zBlocks are delimited by braces zA block statement can be used wherever a statement is called for in the Java syntax  See Temperature2.java Temperature2.java

29 29 The if-else Statement  An else clause can be added to an if statement to make it an if-else statement: if (condition) statement1; else statement2; zIf the condition is true, statement1 is executed; if the condition is false, statement2 is executed  See Temperature3.java and Right_Triangle.java Temperature3.java Right_Triangle.java

30 30 The if-else Statement statement1 condition false true statement2

31 31 Nested if Statements  The body of an if statement or else clause can be another if statement zThese are called nested if statements  See Football_Choice.java Football_Choice.java  Note: an else clause is matched to the last unmatched if (no matter what the indentation implies)

32 32 The while Statement zA while statement has the following syntax: while (condition) statement; zIf the condition is true, the statement is executed; then the condition is evaluated again zThe statement is executed over and over until the condition becomes false

33 33 The while Statement statement condition false true

34 34 The while Statement  If the condition of a while statement is false initially, the statement is never executed  Therefore, we say that a while statement executes zero or more times  See Counter.java, Factors.java, and Powers_of_Two.javaCounter.javaFactors.java Powers_of_Two.java

35 35 Infinite Loops  The body of a while loop must eventually make the condition false zIf not, it is an infinite loop, which will execute until the user interrupts the program zThis is a common type of logical error -- always double check that your loops will terminate normally  See Forever.javaForever.java


Download ppt "1 Program Elements -- Introduction zWe can now examine the core elements of programming zLecture focuses on: ydata types yvariable declaration and use."

Similar presentations


Ads by Google