chapter 3 syntax, errors, and debugging fundamentals of java
TRANSCRIPT
![Page 1: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/1.jpg)
Chapter 3Syntax, Errors, and Debugging
Fundamentals of Java
![Page 2: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/2.jpg)
Fundamentals of Java 2
Objectives
Construct and use numeric and string literals. Name and use variables and constants. Create arithmetic expressions. Understand the precedence of different
arithmetic operators. Concatenate two strings or a number and a
string.
![Page 3: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/3.jpg)
Fundamentals of Java 3
Objectives (cont.)
Know how and when to use comments in a program.
Tell the difference between syntax errors, run-time errors, and logic errors.
Insert output statements to debug a program.
![Page 4: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/4.jpg)
Fundamentals of Java 4
Objectives (cont.)
Understand the difference between Cartesian coordinates and screen coordinates.
Work with color and text properties.
![Page 5: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/5.jpg)
Fundamentals of Java 5
Vocabulary
Arithmetic expression Comments Coordinate system Exception Graphics context Literal
![Page 6: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/6.jpg)
Fundamentals of Java 6
Vocabulary (cont.)
Logic error Origin Package Pseudocode Reserved words Run-time error
![Page 7: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/7.jpg)
Fundamentals of Java 7
Vocabulary (cont.)
Screen coordinate system Semantics Syntax Virus
![Page 8: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/8.jpg)
Fundamentals of Java 8
Language Elements
Every language, including Java has:– Vocabulary: Set of all of the words and
symbols in the language– Syntax: Rules for combining words into
sentences (statements)– Semantics: Rules for interpreting the meaning
of statements
![Page 9: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/9.jpg)
Fundamentals of Java 9
Language Elements (cont.)
Table 3-1: Some Java vocabulary
![Page 10: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/10.jpg)
Fundamentals of Java 10
Language Elements (cont.)
Programming vs. natural languages– Programming languages have small
vocabularies and simple syntax and semantics.– Programming language syntax must be
absolutely correct.– Programming language statements are
interpreted literally.Every detail must be present.
![Page 11: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/11.jpg)
Fundamentals of Java 11
Basic Java Syntax and Semantics
Two categories of data types:– 1. Primitive data types: Numbers, characters,
and Booleans– 2. Objects
Syntax for manipulating primitive data types differs than for objects– Primitive data types are combined in expressions
with operators.– Objects are sent messages.
![Page 12: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/12.jpg)
Fundamentals of Java 12
Basic Java Syntax and Semantics (cont.)
Objects must be instantiated before use.– Unlike primitives– String objects are a little different.
Six numeric data types– int and double are most commonly used
Also short, long, byte, and float– Each uses a different number of bytes for
storage.Each represents a different range of values.
![Page 13: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/13.jpg)
Fundamentals of Java 13
Basic Java Syntax and Semantics (cont.)
Table 3-2: Some Java numeric data types
![Page 14: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/14.jpg)
Fundamentals of Java 14
Basic Java Syntax and Semantics (cont.)
Literals: Items whose values do not change.– The number 5.0 or the string “Java”
Variable is a named location in memory. – Changing a variable’s value is equivalent to
replacing the value at the memory location.– A variable’s data type cannot change.
![Page 15: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/15.jpg)
Fundamentals of Java 15
Basic Java Syntax and Semantics (cont.)
Figure 3-1: Changing the value of a variable
![Page 16: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/16.jpg)
Fundamentals of Java 16
Basic Java Syntax and Semantics (cont.)
Variable declaration statement: Declares the identifier and data type for a variable– int age; (declares one int variable)– int a, b, c; (declares three int variables)– double d = 2.45; (declares and initializes
a variable) Constants are variables whose value cannot
change.– final double PI = 3.14;
![Page 17: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/17.jpg)
Fundamentals of Java 17
Basic Java Syntax and Semantics (cont.)
Assignment statements:– <variable> = <expression>;– Value of expression assigned to variable
Arithmetic expressions:– Multiplication and division have higher
precedence than addition and subtraction.– Operators of same precedence evaluated from
left to right.– Parentheses are used to change evaluation order.
![Page 18: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/18.jpg)
Fundamentals of Java 18
Basic Java Syntax and Semantics (cont.)
Table 3-5: Common operators and their precedence
![Page 19: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/19.jpg)
Fundamentals of Java 19
Basic Java Syntax and Semantics (cont.)
The semantics of division (/) differ for integers and floating-point operators.– int / int yields an int.– double / double yields a double.
The modulus operator (%) yields a remainder.– 11 % 3 yields 2.
![Page 20: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/20.jpg)
Fundamentals of Java 20
Basic Java Syntax and Semantics (cont.)
Table 3-6: Examples of expressions and their values
![Page 21: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/21.jpg)
Fundamentals of Java 21
Basic Java Syntax and Semantics (cont.)
Arithmetic overflow: Assigning a value to a variable that is outside of the ranges of values that the data type can represent
Mixed-mode arithmetic: Expressions involving integer and floating-point values– Lower-precision data types (int) temporarily
converted to high-precision data types (double)
![Page 22: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/22.jpg)
Fundamentals of Java 22
Basic Java Syntax and Semantics (cont.)
Type casting: Temporarily converting one data type to another– Can type cast a single variable or an entire
expression– Place the desired data type within parentheses
before the variable or expression that will be cast to another data type.
int x = (int)(d + 1.6);
![Page 23: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/23.jpg)
Fundamentals of Java 23
Basic Java Syntax and Semantics (cont.)
String concatenation: Append a String or value to another String– Use the + operator– String s = “string1” + “string2”;– String s2 = “String1” + intVariable1;
Escape character (\): Used in codes to represent characters that cannot be directly typed into a program– “\t” is a tab character
![Page 24: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/24.jpg)
Fundamentals of Java 24
Basic Java Syntax and Semantics (cont.)
The String class’s length method gives the number of characters in a String.
Classes implement methods, and objects are instances of classes.– Objects can respond to a message only if their
class implements the method.Must implement a method with a matching
signature
![Page 25: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/25.jpg)
Fundamentals of Java 25
Basic Java Syntax and Semantics (cont.)
Method signature:– Method name– Number and data types of method parameters
Method and variable names are user defined symbols.– Cannot use Java keywords (reserved words)
Packages: Used to organize related classes into a single unit for distribution
![Page 26: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/26.jpg)
Fundamentals of Java 26
Basic Java Syntax and Semantics (cont.)
Table 3-7: Java’s reserved words
![Page 27: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/27.jpg)
Fundamentals of Java 27
Terminal I/O for Different Data Types
Table 3-8: Methods in class Scanner
![Page 28: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/28.jpg)
Fundamentals of Java 28
Terminal I/O for Different Data Types (cont.)
Example 3-1: Tests three types of input data
![Page 29: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/29.jpg)
Fundamentals of Java 29
Comments
Explanatory sentences inserted in a program Compiler ignores them Purpose is to make program more readable Two varieties:
– End of line comments: All text following a double slash (//) on a single line
– Multiline comments: All text occurring between a /* and a */
![Page 30: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/30.jpg)
Fundamentals of Java 30
Comments (cont.)
Typical uses of comments:– Begin a program with a statement of its purpose– Explain the purpose of a variable declaration– Explain the purpose of a major segment of code– Explain the workings of complex or tricky
sections of code
![Page 31: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/31.jpg)
Fundamentals of Java 31
Programming Errors
Three types of programming errors:– Syntax errors: When a syntax rule is violated
Detected during compilationCompiler helps identify error
– Run-time errors: Occurs during executionDividing by 0Detected when program runsJVM indicates type of error and location
![Page 32: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/32.jpg)
Fundamentals of Java 32
Programming Errors (cont.)
Three types of programming errors (cont.):– Logic errors (design errors or bugs):
Incorrect logic implemented in the programCode may be correct in every other way, but
does not do what it is supposed to do.Must thoroughly test and debug the program
when an error is found.– Desk checking: Examine code immediately after
it is written
![Page 33: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/33.jpg)
Fundamentals of Java 33
Debugging
One debugging method is to add extra lines of code to print values of selected variables at strategic points in the program.
![Page 34: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/34.jpg)
Fundamentals of Java 34
Summary
Use the int data type for whole numbers and double for floating-point numbers.
Variable and method names consist of a letter followed by additional letters or digits.
Keywords cannot be used as names. Final variables behave as constants; their
values cannot change after they are declared.
![Page 35: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/35.jpg)
Fundamentals of Java 35
Summary (cont.)
Arithmetic expressions are evaluated according to precedence.
Some expressions yield different results for integer and floating-point operands.
Strings may be concatenated. The compiler catches syntax errors. The JVM catches run-time errors.
![Page 36: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/36.jpg)
Fundamentals of Java 36
Summary (cont.)
Logic errors, if caught, are detected by the programmer or user at run-time.
Can find and remove logic errors by inserting debugging output statements to view the values of variables.
The programmer can modify the color with which images are drawn and the properties of text fonts for a given graphics object.
![Page 37: Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java](https://reader035.vdocuments.mx/reader035/viewer/2022081421/56649f445503460f94c65ba7/html5/thumbnails/37.jpg)
Fundamentals of Java 37
Summary (cont.)
Java uses a screen coordinate system to locate the positions of pixels in a window or panel.– Origin is the upper-left corner of the drawing
area.– x and y axes increase to the right and
downward.