1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

23
1 Java Programming Basics SE-1011 Dr. Mark L. Hornick

Transcript of 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Page 1: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

1

Java Programming Basics

SE-1011 Dr. Mark L. Hornick

Page 2: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Computer of the future?

2SE-1011 Dr. Mark L. Hornick

Page 3: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Algorithms are implemented in Java methods

A method is a named collection of Java instructions that implement an algorithm The method for actually computing

the number of days between two dates might be named computeDays The method names - or method

identifiers - are made up by you (…but you have to follow some rules…)

3SE-1011 Dr. Mark L. Hornick

Page 4: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Good and bad method identifiers

computeDays printResult getStartDate

days getIt method1 PRINTit x109

SE-1011 Dr. Mark L. Hornick

4

Good method names are meaningful use verbs that imply an

action use camel-case format

Bad method names are Vague or meaningless don’t use verbs use an unconventional

format

Page 5: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Java is also case-sensitive…

This means that the following method identifiers are considered separate and distinct: getStartDate getStartdate

SE-1011 Dr. Mark L. Hornick

5

Avoid creating identifiers that differ only in capitalization

Page 6: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

SE FocusDr. Mark L. Hornick

6

Java’s reserved words cannot be used as identifiersabstract default if private this boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally long strictfp volatile class float native super while const for new switch continue goto package synchronized

Don’t create identifiers that differ from reserved wordsonly in capitalization (e.g. Continue)

Page 7: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Algorithms range from trivially simple to incredibly complex

An extremely simple program may consist of a single algorithm that just prints something to the screen

Realistic programs typically implement multiple algorithms of varying complexity

7SE-1011 Dr. Mark L. Hornick

Page 8: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

If an algorithm is complex, it is usually broken into multiple methods

Normally, each method handles a single task this keeps things organized and

simpler Sub-tasks are delegated to

subordinate methods Structuring a program into tasks and

sub-tasks is a skill you’ll develop as you gain experience creating Java programs

8SE-1011 Dr. Mark L. Hornick

Page 9: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Related methods are grouped together in named classes

Normally, the methods with a class share information, but hide information from other classes

This keeps information from being changed or corrupted accidentally

However, there are ways for methods of one class to send or receive information from methods of another class 9SE-1011

Dr. Mark L. Hornick

Page 10: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Good and bad class names

DayCalculator Lab2Program TVController

days Calculate Class1 x109

SE-1011 Dr. Mark L. Hornick

10

Good class names are meaningful use nouns that imply the

purpose Start with an uppercase

letter Bad class names are

Vague or meaningless don’t use nouns use an unconventional

format

Page 11: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

Every Java program must have a class that contains a primary method, named main This name main (not a verb) exists for

historical reasons, and cannot be changed

The class containing the main method can be named anything (that makes sense), like DayCalculator The class containing the main method,

regardless of it’s actual name, is referred to as the main class

11SE-1011 Dr. Mark L. Hornick

Page 12: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

How a Java program gets executed

12

sd Sequence Diagram

MainClass

user Windows OS Java VM

start program

load main class of program

main(optional_arguments)

<done>

<done>

<done>

DayCalculator

SE-1011 Dr. Mark L. Hornick

Page 13: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

13

Summary: The basic Java Program

To create a runnable program, we must first define a main class that represents our program We can give the main class any reasonable name, like

“MyMainClass”

When we “run” the program, the Java Virtual Machine (VM) accesses the main class we defined

Then the VM sends a message to our program’s main class that tells it to run. The “run” message is sent by the VM as a call to a method

named main that our program’s main class must have defined.

class Basic Jav a Program

MyMainClass

+ main(String[]) : void

SE-1011 Dr. Mark L. Hornick

Page 14: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

14

A Java program is composed of one or more classes One of the classes in the program must be the

main class That is, it must have a method called main() The main class itself can have any (valid) name

All of the Java instructions for a class and a class’s methods must reside in a file having the same name as the class DayCalculator.java must be the name of the file

containing all the Java instructions for a class named DayCalculator.

SE-1011 Dr. Mark L. Hornick

Page 15: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

15

Java Edit-Compile-Run Cycle

Step One: Create a program with an editor. This is where you type in the Java instructions,

using a text editor (or something like Eclipse), and save the program to a file.

The name of the class has to match the name of the file containing the class and have the .java file extension.

This is called a source file.

SE-1011 Dr. Mark L. Hornick

Page 16: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

16

Java Edit-Compile-Run Cycle

Step 2: Compile the source file. The process of compiling the source file creates a

bytecode file, which is not human-readable.

The name of the compiler-generated bytecode file will have the suffix .class while its prefix is the same as the source file’s.

DayCalculator.java is compiled, creating DayCalculator.class, the bytecode (or class) file

SE-1011 Dr. Mark L. Hornick

Page 17: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

17

Java Edit-Compile-Run Cycle

Source file vs. its bytecode file:

SE-1011 Dr. Mark L. Hornick

Page 18: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

18

Java Edit-Compile-Run Cycle

Step 3: Execute the bytecode file. The java interpreter (VM) will go through the

bytecode file and execute the instructions in it. If an error occurs while running the program, the

interpreter will catch it and stop its execution. The VM starts execution at the bytecode

instructions that correspond to the Java statementpublic static void main()

SE-1011 Dr. Mark L. Hornick

Page 19: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

19

Java Edit-Compile-Run Cycle

The result after the interpreter executes the instructions in the bytecode file.

SE-1011 Dr. Mark L. Hornick

Page 20: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

20

Besides Java instructions, programs also contain comments which state the purpose of the program, explain the meaning of code, and provide other descriptions to help others to understand your code.

Comments are not compiled or executed Comments are just text you make up Comments augment the program by providing more

understandable, human-friendly information that help readers of your program understand what you have written.

SE-1011 Dr. Mark L. Hornick

Page 21: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

21

A program template to use as the starting point for all Java applications

SE-1011 Dr. Mark L. Hornick

Page 22: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

22

In Java, classes are further grouped into logical packages

Packages provide a further means of organizing related classes

You create package names yourself Package names start with lowercase Classes in the same package reside in the same

file folder, where the folder is the package name

SE-1011 Dr. Mark L. Hornick

Page 23: 1 Java Programming Basics SE-1011 Dr. Mark L. Hornick.

23

Quiz 1 tomorrow at start of Lab

Learning outcomes since the start of the course: Define the term program. Define the term algorithm. Why do we use pseudocode? Why do we use flowcharts? How does a Java pseudocode variable differ from a variable you

use in Math? List some possible pseudocode variables. Given psuedocode, draw the corresponding flowchart. Given a flowchart, write the corresponding pseudocode. What two types of control-flow does a diamond represent in a

flowchart?

SE-1011 Dr. Mark L. Hornick