Chapter 3 Syntax, Errors, and Debugging

Slides:



Advertisements
Similar presentations
Chapter 3 Syntax, Errors, and Debugging
Advertisements

1 Chapter 2 Introduction to Java Applications Introduction Java application programming Display ____________________ Obtain information from the.
Data Types in Java Data is the information that a program has to work with. Data is of different types. The type of a piece of data tells Java what can.
Aalborg Media Lab 21-Jun-15 Software Design Lecture 2 “ Data and Expressions”
Data types and variables
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 27, 2005.
JavaScript, Third Edition
JAVA PROGRAMMING Chapter 3 SYNTAX, ERRORS, AND DEBUGGING
Java Primitives The Smallest Building Blocks of the Language (corresponds with Chapter 2)
Chapter 2 Primitive Data Types and Operations F Introduce Programming with an Example  The MyInput class F Identifiers, Variables, and Constants F Primitive.
Chapter 2: Basic Elements of Java J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Chapter 2 Basic Elements of Java. Chapter Objectives Become familiar with the basic components of a Java program, including methods, special symbols,
Lesson 3: Syntax, Errors, and Debugging. Objectives: –Construct and use numeric and string literals. –Name and use variables and constants. –Create arithmetic.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Input, Output, and Processing
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
Summary of what we learned yesterday Basics of C++ Format of a program Syntax of literals, keywords, symbols, variables Simple data types and arithmetic.
Constants Numeric Constants Integer Constants Floating Point Constants Character Constants Expressions Arithmetic Operators Assignment Operators Relational.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 2 Basic Elements of Java.
Java Programming: From Problem Analysis to Program Design, 5e Chapter 2 Basic Elements of Java.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
1 Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Operators and Expressions. 2 String Concatenation  The plus operator (+) is also used for arithmetic addition  The function that the + operator performs.
CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Java Programming: From Problem Analysis to Program Design, Second Edition 1 Lecture 1 Objectives  Become familiar with the basic components of a Java.
3.1 Language Elements Language elements: Vocabulary: The words and symbols in the language. Syntax: The rules for combining words into statements. Semantics:
2.1 The Part of a C++ Program. The Parts of a C++ Program // sample C++ program #include using namespace std; int main() { cout
1 Sections 3.1 – 3.2a Basic Syntax and Semantics Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
1 Section 3.2b Arithmetic Operators Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
© 2004 Pearson Addison-Wesley. All rights reserved August 27, 2007 Primitive Data Types ComS 207: Programming I (in Java) Iowa State University, FALL 2007.
Java Programming: Guided Learning with Early Objects Chapter 1 Basic Elements of Java.
Chapter 02 Data and Expressions.
Chapter 2: Basic Elements of C++
Chapter 2 Variables.
Chapter Topics The Basics of a C++ Program Data Types
Topics Designing a Program Input, Processing, and Output
Chapter 6 JavaScript: Introduction to Scripting
Chapter 4 Assignment Statement
Chapter 2 Introduction to C++ Programming
BASIC ELEMENTS OF A COMPUTER PROGRAM
Completing the Problem-Solving Process
Java Primer 1: Types, Classes and Operators
Primitive Data Types August 28, 2006 ComS 207: Programming I (in Java)
Basic Elements of C++.
Revision Lecture
Lesson 3: Syntax, Errors, and Debugging
Chapter 3 Assignment Statement
Java Programming: Guided Learning with Early Objects
Section 3.2c Strings and Method Signatures
Java Programming: From Problem Analysis to Program Design, 4e
Basic Elements of C++ Chapter 2.
2.1 Parts of a C++ Program.
Introduction to C++ Programming
Chapter 2: Basic Elements of Java
Chapter 2 Variables.
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
elementary programming
Chapter 2: Introduction to C++.
Topics Designing a Program Input, Processing, and Output
Summary of what we learned yesterday
Topics Designing a Program Input, Processing, and Output
Chapter 2 Variables.
Chapter 2 Primitive Data Types and Operations
Presentation transcript:

Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java

Ch 1 Quiz Score Ranges: 44-50: 5 40-43: 4 33-39: 3 30-32: 2.5 25-29: 2 20-24: 1.5 Fundamentals of Java

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. Fundamentals of Java

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. Fundamentals of Java

Objectives (cont.) Understand the difference between Cartesian coordinates and screen coordinates. Work with color and text properties. Fundamentals of Java

Vocabulary Arithmetic expression Comments Coordinate system Exception Graphics context Literal Fundamentals of Java

Vocabulary (cont.) Logic error Origin Package Pseudocode Reserved words Run-time error Fundamentals of Java

Vocabulary (cont.) Screen coordinate system Semantics Syntax Virus Fundamentals of Java

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 Fundamentals of Java

Language Elements (cont.) Table 3-1: Some Java vocabulary Fundamentals of Java

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. Fundamentals of Java

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. Fundamentals of Java

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. Fundamentals of Java

Basic Java Syntax and Semantics (cont.) Table 3-2: Some Java numeric data types Fundamentals of Java

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. Fundamentals of Java

Basic Java Syntax and Semantics (cont.) Figure 3-1: Changing the value of a variable Fundamentals of Java

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; Fundamentals of Java

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. Fundamentals of Java

Basic Java Syntax and Semantics (cont.) Table 3-5: Common operators and their precedence Fundamentals of Java

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. Fundamentals of Java

Basic Java Syntax and Semantics (cont.) Table 3-6: Examples of expressions and their values Fundamentals of Java

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) Fundamentals of Java

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); Fundamentals of Java

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 Fundamentals of Java

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 Fundamentals of Java

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 Fundamentals of Java

Basic Java Syntax and Semantics (cont.) Table 3-7: Java’s reserved words Fundamentals of Java

Terminal I/O for Different Data Types Table 3-8: Methods in class Scanner Fundamentals of Java

Terminal I/O for Different Data Types (cont.) Example 3-1: Tests three types of input data Fundamentals of Java

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 */ Fundamentals of Java

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 Fundamentals of Java

Programming Errors Three types of programming errors: Syntax errors: When a syntax rule is violated Detected during compilation Compiler helps identify error Run-time errors: Occurs during execution Dividing by 0 Detected when program runs JVM indicates type of error and location Fundamentals of Java

Programming Errors (cont.) Three types of programming errors (cont.): Logic errors (design errors or bugs): Incorrect logic implemented in the program Code 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 Fundamentals of Java

Debugging One debugging method is to add extra lines of code to print values of selected variables at strategic points in the program. Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text Defining a specialized graphics panel: Define a new class that extends the JPanel class Inherits all of the properties and methods of a JPanel, but can add additional instance variables and methods Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Example 3.5: Empty color panel Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Every graphics application uses a coordinate system. Positions of items on a window specified in terms of two-dimensional points Java uses the screen coordinate system: The origin (point with coordinates (0,0)) located at upper-left corner of a panel or frame Every window, frame, or other type of window has own coordinate system Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Figure 3-7: Orientation of Java’s coordinate system Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Graphics class: Used to draw on a panel Every panel maintains an instance of this class. The graphics context Shapes drawn on a panel by the Graphics class have a foreground color. Change color via the setColor() method. Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Table 3-9: Common method in the Graphics class Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Table 3-9: Common method in the Graphics class (cont.) Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Table 3-9: Common method in the Graphics class (cont.) Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Every panel instance has a paintComponent() method Called by the JVM when the panel needs to be drawn on the screen Contains instructions for how to draw the panel For custom panels, can write own paintComponent() method, but must also call the superclass’s paintComponent() method Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Example 3.6: Colored panel containing a red text message in a blue rectangle Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) Figure 3-8: Displaying a shape and text in a panel Fundamentals of Java

Graphics and GUIs: Drawing Shapes and Text (cont.) The width and height of a panel can be found using the getWidth() and getHeight() methods, respectively. Font class: Information about a specific font Font name, size, and style Font font = new Font(“Arial”, Font.BOLD, 10); Fundamentals of Java

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. Fundamentals of Java

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. Fundamentals of Java

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. Fundamentals of Java

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. Fundamentals of Java