Java Concepts Ch1

Download Report

Transcript Java Concepts Ch1

Computer Hardware and
Software Introduction
Mr. Smith
AP Computer Science A
History of Computers
Abacus – 1100 BC
Slide rule - 1617
Mechanical calculator - 1642
Automatic loom (punched cards)
- 1804
Babbage’s computer – 1830s
Boolean logic – 1850s
Hollerith’s electric tabulator - 1880
Analog computer – 1927
EDVAC – 1946
ENIAC - 1947
Transistor - 1947
Integrated circuit – late 1950s
UNIVAC – 1951
Microprocessor – 1971
Altair 8880 – 1975
Apple II – 1977
IBM PC – 1981
World Wide Web – 1990s
What is Programming?
A computer must be programmed to perform a task
A computer is a machine that:



Stores data (numbers, words, and pictures)
Interacts with devices (monitor, sound system, printer)
Executes programs
Typical operations are:





Put a red dot onto this screen position
Send letter Z to the printer
Get a number from a specific location in memory
Multiply two numbers
If this value > 10, execute a certain instruction
A computer program tells the computer, in much detail,
the sequence of steps to complete a task.
Anatomy of a Computer
Central Processing Unit (CPU):




It is the Brain of your computer. It consists of a single
chip (integrated circuit) or a small number of chips
A computer chip has plastic or metal housing, metal
connectors, and inside wiring made mainly of silicon
A chip contains millions of transistors (the elements
that enable electrical signals to control other electrical
signals)
The main tasks of the CPU are:




To
To
To
To
locate and execute the program instructions
carry out arithmetic operations
fetch data from storage and input/output devices
send data back to devices
Anatomy of a Computer
Storage:

Primary – known as RAM or Memory




Fast, but relatively expensive
Made from memory chips
Loses its data when power is turned off
Secondary – usually a hard disk





Less expensive storage
Keeps data when electricity is turned off
CD-ROM
Flash drive
DVD
Anatomy of a Computer
Other things to know about your computer:

I/O Devices



Motherboard


Contains CPU, RAM, and connectors to peripheral devices
Bus


Enables you to interact with a computer
Keyboard, mouse, monitors, printers
Set of electrical lines that connect the CPU, RAM, and
connectors
Network

Allows a computer to communicate with other computers
or devices not directly connected to this computer
Translating Programs to
Machine Code






A Compiler translates high level language (Java program code)
into machine code (also known as Java bytecode)
An Interpreter is similar to a compiler but translates and
executes a single statement at a time.
An Editor is used to create or change a Java program
The Editor and Compiler may be part of the same software
known as an Integrated Development Environment (IDE),
such as eclipse. An IDE can also contain a Debugger.
A Java Virtual Machine (JVM) is written for every major
operating system. It is like a simulated CPU that runs inside an
operating system. The JVM reads the bytecode and executes the
program.
The Operating system manages the computer resources
Compiling a Simple Program
Printing to the console:
public class TrivialProgram
{
public static void main (String[] args)
{
System.out.print(“This prints a line. ”);
System.out.println(“This stays on the same line.”);
System.out.println(“This prints on a new line.”);
}
Whenever you call a
Object
Method
Parameters
}
method in Java, you need
(out object in System class)
This program will print the following to the console:
This prints a line. This stays on the same line.
This prints on a new line.
to specify these 3 items
JavaConceptsCh1
Homework







This assignment will give you practice printing to the console. You need to
use System.out.print() and System.out.println() methods. We are
also using static methods in this assignment.
In eclipse, create a new project named JavaConcepts. On the first
screen, make sure that all the radio buttons are active on the top options.
This project has no additional jar files you need to use.
Create a new package named javaconcepts in this project.
Download the JavaConceptsCh1.java and JavaConceptsCh1Tester.java
classes and put them in this new package. Pay careful attention to the
comments for instructions and explanations.
Ex. R1.2, R1.4, R1.7, R1.12 (page 28) – create
answersToReviewExercises() method to print your answers to the console.
Ex. P1.2 (page 29) – create facePrinter() method to print a face using
text characters. Be creative.
Ex. P1.3 (page 29) – create ticTacToeBoard() method – must use looping
to get full credit; this is an example of a fence post problem.
Java Comments
Using comments in your Java programs:

Single line comments – use //



Multi-line comments – use /* and */




Anything following // on the same line is a comment
Robot.move(); // This makes the robot move
Anything after the /* and before the */ is a comment
Comments can span lines
/* The following while loop will calculate the interest
payment for my house */
Javadoc comments – use /** and */



Anything after the /** and before the */ is a comment
Comments can span lines
/** This program is used to create a robot that can go
through a maze */
Java Errors
Errors encountered within Java programs:

Compile-time errors




Violation of the rules of the programming language
Compiler detects syntax/lexical errors
Examples: Missing semi-colons, missing brackets,
and missing parentheses are examples of syntax
errors. Misspelling a method name is an example
of a lexical error caught at compile-time.
Logic errors


Causes the program to take an action that the
programmer did not intend.
Program runs without an error message.
Java Compilation Process
How compilation works:




You type a Java source program into an IDE such as
eclipse. The source code has the extension .java
The Compiler reads the source program and if it finds
errors, it displays errors in the editor’s console.
After errors are corrected, the compiler is able to
translate your source program into a class file (Java
bytecode). This file has the extension .class
The Java Virtual Machine then does the following:




Loads the instructions for the program (.class file)
Starts the program
Loads any other necessary library (jar) files
JVM is the reason that we can run the program on different
operating systems.
Java Compilation Process
This is the result of saving your program in eclipse with no errors
Editor
Compiler
Source file
( .java file )
An Editor is used to
create or modify
source code
A Compiler converts
the source file into a
Bytecode file
Eclipse is an IDE
which is both an
editor and compiler
Class
files
Bytecode file
( .class file )
Library
files
Jar files and
System library files
( .jar file )
JVM
Running
program
This is the result
of running your
program in eclipse
Compiling a Simple Program
Displaying a message in a dialog box:
import javax.swing.JOptionPane;
Package
Class
public class DialogBox
{
Parameters
public static void main (String[] args)
Parent
Message
Object
{
JOptionPane.showMessageDialog(null, "Hello, World!");
System.exit(0);
This method brings up a confirmation
}
dialog box that displays a message
Exits the program. A non}
zero status indicates
and waits for user to confirm it.
abnormal termination
This program will display a message box:
Hello, World!
Press OK to acknowledge the message
Check out Appendix C for list of Java Libraries
Compiling a Simple Program
Using a dialog box to prompt for information:
public class DialogViewer
{
Parameter
public static void main (String[] args)
Prompt
{
User input is assigned to this variable
String name = JOptionPane.showInputDialog("What is your name?");
System.out.print(name);
This method brings up an input
System.exit(0);
dialog box which displays a prompt
}
and waits for user to enter data into it
}
will display a dialog box that asks:
What is your name?
You would then enter your name and press Ok.
Whatever you entered would be assigned to the name variable
PrintAddress class
PrintAddress class: Prompt the user to enter the following
information in six separate dialog boxes:
1) first name
2) last name
3) street address
4) city
5) state
6) zip
Then print this information to the console in the following format:
John Doe
110 Oak Street
Winston-Salem, NC 27101
At the end, display the following dialog message:
Thank you for entering your name and address