CS150_Lecture 2_Creating Java Programs PDF

Summary

This document provides lecture notes on introductory Java programming, discussing object-oriented programming concepts, Java program features, and related terminology.

Full Transcript

Before class Schedule posted in Canvas Homework posted on ZyBooks Office hours Discord Attendance Quiz today 1 Chapter 1: Creating Java Programs Objectives Define basic programming...

Before class Schedule posted in Canvas Homework posted on ZyBooks Office hours Discord Attendance Quiz today 1 Chapter 1: Creating Java Programs Objectives Define basic programming terminology Describe the features of the Java programming language Analyze a Java application that produces console output Java Programming, Eighth Edition 3 Objectives (cont’d.) Compile a Java class and correct syntax errors Run a Java application and correct logic errors Add comments to a Java class Create a Java application that produces console output Java Programming, Eighth Edition 4 Learning Programming Terminology Computer program – A set of written instructions that tells the computer what to do Machine language – The most basic circuitry-level language – A low-level programming language Java Programming, Eighth Edition 5 Learning Programming Terminology (cont’d.) High-level programming language – Allows you to use a vocabulary of reasonable terms Syntax – A specific set of rules for the language Program statements – Similar to English sentences – Commands to carry out program tasks Java Programming, Eighth Edition 6 Learning Programming Terminology (cont’d.) Compiler or interpreter – Translates language statements into machine code Syntax error – Misuse of language rules – A misspelled programming language word Debugging – Attempting to free program of all errors Logic errors – Also called semantic errors – Incorrect order or procedure – The program may run but provide inaccurate output Java Programming, Eighth Edition 7 Comparing Procedural and Object- Oriented Programming Concepts Procedural programming – Sets of operations executed in sequence – Variables Named computer memory locations that hold values – Procedures Individual operations grouped into logical units Object-oriented programs – Create classes Blueprints for an object – Create objects from classes – Create applications Java Programming, Eighth Edition 8 Comparing Procedural and Object-Oriented Programming Concepts (cont’d.) Object-oriented programming was used most frequently for three major types of applications – Development of Scientific Applications – Web, Mobile, Game, and Enterprise Applications – Graphical user interfaces (GUIs) Not all object-oriented programs are written to use a GUI Object-oriented programming differs from traditional procedural programming Polymorphism Inheritance Encapsulation These concepts are covered in your next programming class. Java Programming, Eighth Edition 9 Understanding Classes, Objects, and Encapsulation Class – Describes objects with common properties – A definition – An instance Attributes – Characteristics that define an object – Differentiate objects of the same class – The value of attributes is an object’s state Objects – Specific, concrete instances of a class Java Programming, Eighth Edition 10 Understanding Classes, Objects, and Encapsulation (cont’d.) Java Programming, Eighth Edition 11 Understanding Classes, Objects, and Encapsulation (cont’d.) Method – A self-contained block of program code that carries out an action – Similar to a procedure Encapsulation – Conceals internal values and methods from outside sources – Provides security – Keeps data and methods safe from inadvertent changes Java Programming, Eighth Edition 12 Features of the Java Programming Language Java – Developed by Sun Microsystems – An object-oriented language – General-purpose – Advantages Security features Architecturally neutral Java Programming, Eighth Edition 14 Features of the Java Programming Language (cont’d.) Java (cont’d.) – Can be run on a wide variety of computers – Does not execute instructions on the computer directly – Runs on a hypothetical computer known as a Java Virtual Machine (JVM) Source code – Programming statements written in high-level programming language Java Programming, Eighth Edition 15 Features of the Java Programming Language (cont’d.) Development environment – A set of tools used to write programs Bytecode – Statements saved in a file – A binary program into which the Java compiler converts source code Java interpreter – Checks bytecode and communicates with the operating system – Executes bytecode instructions line by line within the Java Virtual Machine Java Programming, Eighth Edition 16 The Java Environment Java Programming, Eighth Edition 17 Java Program Types Applets – Early programs embedded in a Web page→ This feature is now obsolete since modern browsers have more capabilities. Java applications – Called Java stand-alone programs – Console applications We will write these types of applications this semester. Support character output – Windowed applications Menus, Toolbars, Dialog boxes Java Programming, Eighth Edition 18 Analyzing a Java Application that Produces Console Output Even the simplest Java application involves a fair amount of confusing syntax Print “First Java application” on the screen Java Programming, Eighth Edition 19 Now we Can Write Our First Program Produce a program that outputs “First Java Application” 20 Analyzing a Java Application that Produces Console Output (cont’d.) public class First { public static void main(String[] args) { System.out.println(“First Java application”); } } Figure 1.4 The First class Java Programming, Eighth Edition 21 Understanding the Statement that Produces the Output Literal string – Will appear in output exactly as entered – Written between double quotation marks Arguments – Pieces of information passed to a method Method – Requires information to perform its task System class – Refers to the standard output device for a system Java Programming, Eighth Edition 22 Understanding the Statement that Produces the Output (cont’d.) Java Programming, Eighth Edition 23 Understanding the First Class Everything used within a Java program must be part of a class Define a Java class using any name or identifier Requirements for identifiers – Must begin with one of the following: Letter of the English alphabet Non-English letter (such as α or π) Underscore Dollar sign – Cannot begin with a digit Java Programming, Eighth Edition 24 Understanding the First Class (cont’d.) Requirements for identifiers (cont’d.) – Can only contain: Letters Digits Underscores Dollar signs – Cannot be a Java reserved keyword – Cannot be true, false, or null Access specifier – Defines how a class can be accessed Java Programming, Eighth Edition 25 Understanding the First Class (cont’d.) Java Programming, Eighth Edition 26 Understanding the First Class (cont’d.) Java Programming, Eighth Edition 27 Understanding the First Class (cont’d.) Java Programming, Eighth Edition 28 Understanding the First Class (cont’d.) Java Programming, Eighth Edition 29 Indent Style Use whitespace to organize code and improve readability For every opening curly brace ( { ) in a Java program, there must be a corresponding closing curly brace (}) Placement of the opening and closing curly braces is not important to the compiler Allman style used in text Java Programming, Eighth Edition 30 Style Guidelines 31 Braces 32 Understanding the main() Method static – A reserved keyword – Means the method is accessible and usable even though no objects of the class exist void – Use in the main() method header – Does not indicate the main() method is empty – Indicates the main() method does not return a value when called – Does not mean that main() doesn’t produce output Java Programming, Eighth Edition 33 Understanding the main() Method (cont’d.) Java Programming, Eighth Edition 34 Understanding the main() Method (cont’d.) Java Programming, Eighth Edition 35 Understanding the main() Method (cont’d.) public class AnyClassName { public static void main(String[] args) { } } Figure 1.8 Shell code Java Programming, Eighth Edition 36 Saving a Java Class Saving a Java class – Save the class in a file with exactly the same name and.java extension For public classes, class name and filename must match exactly Java Programming, Eighth Edition 37 Compiling a Java Class and Correcting Syntax Errors Compiling a Java class – Compile the source code into bytecode – Translate the bytecode into executable statements Using a Java interpreter – Type javac First.java Compilation outcomes – javac is an unrecognized command – Program language error messages – No messages indicating successful completion Java Programming, Eighth Edition 38 Compiling a Java Class and Correcting Syntax Errors (cont’d.) Reasons for error messages – Misspelled the command javac – A misspelled filename – Not within the correct subfolder or subdirectory on the command line – Improper installation of Java Java Programming, Eighth Edition 39 Correcting Syntax Errors The first line of the error message displays: – The name of the file where the error was found – The line number – The nature of the error Next lines identify: – The symbol – The location Compile-time error – The compiler detects a violation of language rules – Refuses to translate the class to machine code Parsing – Compiler divides source code into meaningful portions Java Programming, Eighth Edition 40 Running a Java Application and Correcting Logical Errors Run the application from the command line – Type java First Shows the application’s output in the command window The class is stored in a folder named Java on the C drive Java Programming, Eighth Edition 41 Running a Java Application and Correcting Logical Errors (cont’d.) Java Programming, Eighth Edition 42 Modifying a Compiled Java Class Modify the text file that contains the existing class Save the file with changes using the same filename Compile the class with the javac command Interpret the class bytecode and execute the class using the java command Java Programming, Eighth Edition 43 Improving Our First Program Produce a program that outputs also outputs “My new and Improved” – Use an IDE (Integrated Development Environment) – IntelliJ – Eclipse – DrJava – jGrasp – NetBeans – (online) Replit 44 Modifying a Compiled Java Class (cont’d.) public class First { public static void main(String[] args) { System.out.println(“My new and improved”); System.out.println(“Java application”); } } Figure 1.9 First class containing output modified from original version Java Programming, Eighth Edition 45 Correcting Logical Errors Logic error – The syntax is correct but incorrect results were produced when executed Run-time error – Not detected until execution – Often difficult to find and resolve Java Programming, Eighth Edition 46 Adding Comments to a Java Class Program comments – Nonexecuting statements added to a program for documentation – Use to leave notes for yourself or others – Include the author, date, and class’s name or function Comment out a statement – Turn it into a comment – The compiler does not translate, and the JVM does not execute its command Java Programming, Eighth Edition 47 Adding Comments to a Java Class (cont’d.) Types of Java comments – Line comments Start with two forward slashes (//) Continue to the end of the current line Do not require an ending symbol – Block comments Start with a forward slash and an asterisk () Java Programming, Eighth Edition 48 Adding Comments to a Java Class (cont’d.) Types of Java comments (cont’d.) – Javadoc comments A special case of block comments Begin with a slash and two asterisks () Use to generate documentation Java Programming, Eighth Edition 49 Adding Comments to a Java Class (cont’d.) Java Programming, Eighth Edition 50 Terminology of a Java Application import statement – Use to access a built-in Java class Package – A group of classes Java Programming, Eighth Edition 51 Don’t Do It Don’t forget the file’s name must match the class name Don’t confuse these terms: – Parentheses, braces, brackets, curly braces, square brackets, and angle brackets Don’t forget to end a block comment Don’t forget that Java is case sensitive Don’t forget to end every statement with a semicolon – Do not end class or method headers with a semicolon Don’t forgot to recompile when making changes Java Programming, Eighth Edition 57 Summary Computer program – A set of instructions that tells a computer what to do Object-oriented programs – Classes – Objects – Applications Java Virtual Machine (JVM) – A standardized hypothetical computer Everything in a Java program must be part of a class Java Programming, Eighth Edition 58 Summary (cont’d.) All Java applications must have a method named main() Program comments – Nonexecuting statements – Add to a file for documentation javac – A compile command java – An execute command Java Programming, Eighth Edition 59 Reference Original source of slides: Joyce Farrell, Java Programming, Eighth Edition Java Programming, Eighth Edition 61

Use Quizgecko on...
Browser
Browser