Download presentation
Presentation is loading. Please wait.
1
Chapter 2 The Elements of Java
2
2 Knowledge Goals Understand the difference between syntax and semantics Understand the distinction between built-in types and objects Recognize how the char type and String class are related and differ See the difference between objects in general and their use in Java
3
3 Knowledge Goals Understand the difference between a named constant and a variable See why it is important to use meaningful identifiers in Java Understand what happens in an assignment operation Recognize how void and value-returning methods differ in their use
4
4 Skill Goals Read and understand the formal syntax governing Java programs Distinguish between reserved words and identifiers Create and recognize legal Java identifiers Write simple output statements using the System.out class Construct a Java application
5
5 Skill Goals Declare fields of type char and String Assign values to variables Construct string expressions Use comments to clarify programs Instantiate a Scanner object Write String input operations using the Scanner class Design and interactive user interface
6
6 Grammar and Words Syntax The formal rules governing how valid instructions are written in a programming language Semantics The set of rules that determines the meaning of instructions written in a programming language Metalanguage A language that is used to write the syntax rules Syntax says how to write an instruction Semantics says how to interpret an instruction
7
7 Grammar and Words shading: optional ellipsis (…): repetition colored word: use as is black word: another template Syntax Template
8
8 Grammar and Words Reserved Word A word that has a specific predefined meaning public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } Underlined are reserved
9
9 Grammar and Words Identifiers A word that we define to name something in an application; should be meaningful public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } Bold are identifiers
10
10 Grammar and Words Identifiers
11
11 Grammar and Words A Java identifier must start with a letter or underscore or dollar sign, and be followed by zero or more letters (A-Z, a-z), digits (0-9), underscores, or dollar signs. Valid age_of_dogtaxRateY2KTaxRaeY2K HourlyEmployeeageOfDog Not valid (Why?) age# 2000TaxRate Age-Of-Dog class char Beware: Java is case sensitive!
12
12 Grammar and Words Identifier (revised) A name associated with a package, class, method, or field and used to refer to that element Method A subprogram in Java; an operation that carries out a responsibility Field A named place in memory that holds data
13
13 51 Java Reserved Words abstractassertbooleanbreak bytecasecatchchar classconst continuedefault dodoubleelseenum extendsfalse* finalfinally floatforgotoif implements importinstanceof int interfacelongnativenew null*packageprivateprotected publicreturnshortstatic strictfpsuperswitch synchronized thisthrowthrowstransient true*tryvoidvolatile while *false, null, and true are technically not reserved words. They are predefined literals that cannot be used as identifiers Reserved words cannot be used as identifiers
14
14 Building Blocks Data Type Each piece of data has a specific type that determines how the data is represented in a computer Standard (built-in) types A data type that is automatically available for use in every Java application Primitive type Any of the built-in types that represent integral, real, characters, or Boolean values
15
15 Java Primitive Data Types primitive integral floating point byte char short int long float double boolean We cover char here, the rest of the integral types and floating-point types in Chapter 4, and Boolean in Chapter 5
16
16 Building Blocks Character Set A list of letters, digits, and symbols with corresponding binary representations in the computer ASCII (pronounced ask-key) A character set made up of English letters plus numbers and symbols; each character was 16 bits Unicode A superset of ASCII in which each character is represented by 32 bits Why do we need 32-bits for a character?
17
17 Building Blocks char data type A built-in type consisting of one alphanumeric character Examples: 'A''a''1''?''x' Collating sequence The ordering of characters, with respect to one another, within a character set Uppercase letters are ordered Lowercase letters are ordered Numbers are ordered Why do we put quotes around a character?
18
18 Building Blocks Classes and Objects Review of vocabulary Object (general sense) An entity or thing that is relevant in the context of a problem Object (Java) An entity containing data in fields with associated operations Class (general sense) A description of the attributes and behavior of a group of objects with similar properties and behaviors class (Java construct) A pattern for an object containing fields and methods
19
19 Building Blocks Responsibility An operation associated with a class Method A subprogram that defines one aspect of the behavior of a class (a responsibility) Instance A way of referring to an object as being an example of its class Instantiation Creating an object, which is an instance of a class
20
20 Building Blocks String (general sense) A sequence of characters, such as a word, name, or sentence, enclosed in double quotes String (Java sense) An object; an instance of the String class Actually, Java strings are written in a program like general strings: within double quotes Can you explain why char is lowercase and String is uppercase?
21
21 Building Blocks public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } Method call
22
22 Building Blocks Call A statement that causes a method to be executed; in Java we call a method by writing its name, followed by a list of arguments enclosed in parentheses Argument An expression used to communicate values to a method
23
23 Building Blocks
24
24 Building Blocks System:class name (uppercase) out:object name (lowercase) println:method, print and go to new line print:method, print and remain on same line What is printed by System.out.print("Hi"); System.out.println("neighbor"); System.out.println():
25
25 Building Blocks Call (another view) Sends a message to an object to execute a responsibility System.out.println("neighbor"); sends a message to System.out to execute its println responsibility; "neighbor" is the information that println needs to carry out its responsibility
26
26 Putting the Pieces Together class DoNothing { } Does it match the diagram? Simplest class
27
27 Putting Pieces Together Where's the action? To be a program (application) there must be a method main with this exact heading public static void main(String[] args) { // Code for doing something } What do you think String[] args is?
28
28 Putting the Pieces Together Access modifiers Reserved words in Java that specify where a class, method, or field may be accessed; private and public are access modifiers
29
29 Putting the Pieces Together import java.util.Scanner; import java.io.*; Needed for input Needed for more output
30
30 Putting the Pieces Together public class MessageOut { public static void main(String[] args) { System.out.println("Good morning neighbor!"); System.out.println("What a beautiful day!"); System.out.print("What is on your agenda?"); System.out.println(); } How do we know this is an application?
31
31 Putting the Pieces Together Compiling and running cycle
32
32 Extending the Java Dictionary How do we define problem-related words? Declaration A statement that associates an identifier with field, a method, a class, or a package so that the programmer can refer to it by name char myChar; String myFirstName; String myLastName; String myName; myChar, myFirstName, myLastName, myName are all variables
33
33 Extending the Java Dictionary Variable A location in memory, referenced by an identifier, that contains a data value that can be changed Type specifies what can be stored in the variable
34
34 Extending the Java Dictionary State after declaration
35
35 Extending the Java Dictionary The compiler allocates enough memory to hold a value of the char data type (2 bytes) and associates the identifier myInitial with this location What does this declaration actually do? char myInitial; myInitial
36
36 Extending the Java Dictionary But how do we get a value into a variable? Yes, but what is an expression?
37
37 Extending the Java Dictionary Assignment statement A statement that stores the value of an expression into a variable Expression An arrangement of identifiers, values, and operators that can be evaluated to compute a value of a given type Evaluate To compute a new value by performing a specified set of operations on given values
38
38 Extending the Java Dictionary myChar = 'B';
39
39 Extending the Java Dictionary myChar = 'B'; myFirstName = "Susy"; myLastName = "Sunshine"; myName = myFirstName + ' ' + myChar + myLastName; System.out.println(myName); Characters are in single quotes Strings are in double quotes + is the concatenation operator
40
40 Extending the Java Dictionary Initializer expressions char myChar = 'B'; String myFirstName = "Susy"; String myLastName = "Sunshine"; String myName = myFirstName + " " + myChar + ' ' + myLastName; What is the difference between ' ' and " "?
41
41 Extending the Java Dictionary What do these declarations actually do? char myChar = 'B'; String myFirstName = "Susy"; The compiler creates the following in memory B myChar myFirstname S u s y Assignment of primitive types vs. objects
42
42 Extending the Java Dictionary Literal constant Any value written directly in Java Named (symbolic) constant A location in memory, referenced by an identifier, that contains a data value that cannot be changed final String BORDER = "*********"; final char BLANK = ' '; final is the keyword
43
43 Extending the Java Dictionary No, we haven't forgotten to define static ; we have just ignored it Class fields Fields that belong to the class as a whole; there is one copy for the class Instance fields Fields that belong to an instance of a class; each instance has its own field static fields are class fields
44
44 Extending Java Dictionary Local declarations Declarations that are defined within a method Thus there are three kinds of declarations class (marked static) instance (marked private or public) local (carry not modifiers) (Why?)
45
45 Extending Java Dictionary Documentation The written text and comments that make an application easier for others to understand, use, and modify Implicit documentation Use of coding conventions to give meaning to identifiers constants: all uppercase classes: begin with uppercase variables and methods: begin with lowercase
46
46 User Input
47
47 User Input import java.util.Scanner; Scanner in; in = new Scanner(System.in); Access Scanner class Declare Scanner variable Instantiate Scanner object The name of a class used on the right of an equal sign following word new is a call to the class's constructor, which creates and returns an instance of the class, which is then stored in the variable on the left of the equal sign
48
48 User Input String firstName; System.out.println("Enter first name"); firstName = in.nextLine(); System.out.println("Welcome " + firstName); If the user types in "Sarah", what is printed?
49
49 User Input String firstName; System.out.println("Enter first name"); firstName = in.nextLine(); Place to store input Prompt for input Method call to in object Line of typing is stored in firstName
50
50 User Input firstName = in.nextLine(); nextLine is a value-returning method; it returns the next line of input, which is then stored into firstName Why is there no expression between the parentheses?
51
51 User Input Value-returning method A method that is called from within an expression and returns a value that can be used in the expression void method A method that is called as a separate statement; when it returns, processing continues with the next statement Can you give an example of each?
52
52 Blocks public static void main(String[] args) { System.out.println("Good morning neighbor!"); System.out.println("What a beautiful day!"); System.out.print("What is on your agenda?"); System.out.println(); }
53
53 Blocks Rule for semicolons: Terminate each statement except a block with a semicolon
54
54 Extras Data Storage
55
55 Extras I was a mathematician, religious philosopher, and inventor Who was I?
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.