Click here to load reader
Upload
amoolyapolu
View
212
Download
0
Embed Size (px)
Citation preview
Java Names and Variables
GEEN163 Introduction to
Computer Programming
“What's in a name? That which we
call a rose by any other name
would smell as sweet.”
William Shakespeare
Clickers
Clickers will be required on
Friday, January 17
Textbook
“Java Illuminated”, 3rd edition,
Brief edition by Anderson and
Franceschi,
ISBN 9781284021301,
9781449632021 or 9781449604400 The full edition is compatible
ISBN 9781449632014
Available at the Bookstore
It is also available from online bookstores. See the
class website.
MyCodeLab
• Do 25 out of the 68 possible questions in sections 2.1 and 2.2 of MyCodeLab on the www.turingscraft.com website
• You will earn 4 points for each correct answer up to a maximum of 100 points
• You can retry incorrect answers
• Due by midnight on Wednesday, January 22
Java Source Code
• What you type is called the source code of your program
• The source code is not directly run by the computer
• The source code must be compiled into an executable form before the computer can execute it
Traditional Java Programs
Source Code
Compiler
Bytecodes
Java Virtual Machine
Bytecode Libraries
Modern Virtual Machines
Source Code
Compiler
Virtual Machine
Bytecodes Bytecode Libraries
JIT
machine language
Writing and Running a Program
Writing a program Running a program
Done first Run after it is written
Written by you Run by anyone
Left alone once complete
May be run many times
Data values are unknown
May use any data values
Programming Assignments
• Programming assignments will define a program you are to create
• The assignment will explicitly define what the program is supposed to do
• Sample data and the expected results for that data is often provided
• Your program should work with any data, not just the sample data
Example Assignment
• Write a program to input two numbers and display the average of the numbers
• Sample input
2 6
• Sample output
Average is 4.0
Errors
• When programming you will make mistakes.
• There are three types of programming errors
– Compile errors – When you compile your program, the compiler might detect an error (i.e. missing semicolon)
– Run time errors – An error can occur when you program is running (i.e. division by zero)
– Logic errors – Your program might not produce the correct results
Keep Your Cool
• You will have errors
• You will correct them
• Seek help if you don’t understand the error
Software Development Process
• Requirements – high level description of what the system is supposed to do
• Specifications – detailed description
• Design – how will the system do this
• Coding – writing the program
• Integration – putting the pieces together
• Testing – make sure it works correctly
• Maintenance – updates and corrections
Class Programs
• Requirements – faculty will define briefly
• Specifications – faculty will define
• Design – student responsibility
• Coding – student responsibility
• Testing – informal student responsibility
Structure of a Java Program
import package.class;
public class ProgramName {
public static void main(String[] rabbit) {
// your simple program here
}
}
import
• If you use existing objects in your program, you need to tell Java where to find them
• import tells Java to look in this package for classes you are using
• The import statement allows you to use the short name of a class
• import is not required. You can always use the full name of an object.
import example
import javax.swing.JOptionPane;
… other parts of the program ...
JOptionPane.showMessageDialog(…);
or without import
javax.swing.JOptionPane.showMessageDialog(…);
Class statement
• Java is an Object-Oriented language
• Objects are defined by classes
• All Java programs are an object
• Much more on objects to come later
main method
• Methods are functions or programs that can be executed
• The method with the name “main” is always executed first
• main has an array of String parameters that can be used to pass command line arguments
Names • Names or identifiers in Java (such as program
names, class names, variable names, etc.) can be as long as you like
• Names can contain letters, numbers underscores (_), and dollar signs ($)
• Spaces are not allowed in a name
• Names cannot start with a number
• Java is case sensitive, upper and lower case letters are different
Java Reserved Words abstract continue for new switch assert default goto package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while
• Reserved words cannot be used for
program names
Meaningful Names
• Names should make sense to humans
• Variable names such as: i X v027 v028
• are not very meaningful
• The variable name should describe the data balance numWidgets xCoordinate
Why Animals?
Java Conventions
While the Java language allows you to use upper and lower case letters as you please, tradition dictates you follow some rules:
• Variables and method names start with a lower case letter
• Class names start with an Upper Case letter
• Constants are all UPPER CASE
• When you combine two English words, upper case the first letter of the second word (i.e. firstPlace, mySchool, whoCares)
Which of these are valid names?
a) dog e) DOG i) a_1
b) m/h f) 25or6to4 j) studentNumber
c) main g) 1stTime k) Main
d) double h) first name l) ______
Which of these are valid names?
a) dog e) DOG i) a_1
b) m/h f) 25or6to4 j) studentNumber
c) main g) 1stTime k) Main
d) double h) first name l) ______
Variables
• Variables hold data. They represent a memory location.
• Variables have a:
– Name: so you can identify them in Java
– Type: the format of the data
– Value: assigned at run time and often changes
• You must set a variable's value before you can use it
Memory Locations
owner sum price
“Fred” 47 665.95
• When you create a variable in Java,
it reserves memory to hold the data
Simple Data Types
• int – integer whole numbers
• double – numbers with decimal points
• char – single characters
• boolean – true or false
Different sized data
• float – a decimal with 7 digit accuracy
• double – a decimal with 16 digit accuracy
• byte – a 1 byte int for numbers < 128
• short – a 2 byte int for number < 16384
• int – a 4 byte int for numbers < 2 billion
• long – a 8 byte int for numbers < 9 x1018
A Not-So-Simple Data Type
• String – A string of characters
• A String can contain any character on the keyboard (and more)
• String is a Java class. (Note the first letter is
capitalized.) We will talk more about classes and complex data types later.
Java is Strongly Typed
• In Java you must specify the type of the data to be stored in a variable
• In some other programming languages, you can put any kind of data in any variable
• Java carefully restricts the type of data that can be stored in a variable
• Strong typing helps prevent subtle errors
Constants
• int 1 2 3 -6 123456
• double -1.234 0.000123 1.23e-4
• String "inside double quotes"
• boolean true false
• character 'x' // a single character in single quotes
Declaring Variables
• All variables must be declared before they are used in the program
• A variable is declared by writing the data type followed by the variable name
• More than one variable may be declared on the same line as the same type by separating the variable names by commas
Example Declarations
double interestRate;
int numPenguins;
String myName;
boolean doit;
int first, second;
Assigning Values
• You can set a variable to a value during execution by putting the name of variable, an equals sign followed by a value and semicolon
numPenguins = 6;
first = 3;
interestRate = 4.75;
• The type of the variable and the value must match.
Compile Time vs Run Time
• You can set a variable to a value, such as
dog = 47 + 5; // set to an equation
or
dog = keyboard.nextInt(); // read from keyboard
• When you write a program, you do not know what values the user of the program will enter
Not All Are Equal
• The equals sign is used to set a variable to a value. It does not mean equal in the mathematical sense.
int cat, dog;
cat = 3;
dog = 5;
cat = dog; // cat has the value 5
• An old computer language used the arrow character to indicate assignment.
cat ← 3; dog ← 5; cat ← dog ; // not Java
Sequential Execution
• Java programs are executed sequentially one line at a time
int cat, dog;
dog = 5;
cat = dog; // cat has the value 5
dog = 7;
• cat still has the value 5 while dog now has the value 7
Moving Data
cat dog
? ?
• When you first create a variable, it
has an undefined value
Moving Data
cat dog
? 5
dog = 5;
5
Moving Data
cat dog
5 5
cat = dog;
Moving Data
cat dog
5 7
dog = 7;
7
Variable Initialization
• When you declare a variable, you can give it an initial value.
• If you don’t give a variable an initial value, it will have some unknown random value.
• In the declaration after the variable name, put an equals sign followed by the value.
• The type of the variable and the value must match.
Example Initializations
double interestRate = 0.075;
int numPenguins = 7;
String myName = "Ken";
boolean doit = false;
int first = 1, second = 2;
int bad = "This is wrong";
Which are valid statements?
double cow = 47.5;
int goat = 14.2;
String right = "wrong";
double bull = 2.94e14;
boolean bird = "owl";
char pony = 'x';
String horse = 'x';
Which are valid statements?
double cow = 47.5;
int goat = 14.2; no decimal point
String right = "wrong";
double bull = 2.94e14;
boolean bird = "owl"; only true or false
char pony = 'x';
String horse = 'x'; use double quotes
Clickers
Clickers will be required on
Friday, January 17
Textbook
“Java Illuminated”, 3rd edition,
Brief edition by Anderson and
Franceschi,
ISBN 9781284021301,
9781449632021 or 9781449604400 The full edition is compatible
ISBN 9781449632014
Available at the Bookstore
It is also available from online bookstores. See the
class website.
MyCodeLab
• Do 25 out of the 68 possible questions in sections 2.1 and 2.2 of MyCodeLab on the www.turingscraft.com website
• You will earn 4 points for each correct answer up to a maximum of 100 points
• You can retry incorrect answers
• Due by midnight on Wednesday, January 22